package warehouse_getFences_response

import (
	doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
)

type WarehouseGetFencesResponse struct {
	doudian_sdk.BaseDoudianOpApiResponse
	Data *WarehouseGetFencesData `json:"data"`
}
type InnerItem struct {
	// 经纬度列表，内圈为顺时针
	Vertices []VerticesItem_5_5 `json:"vertices"`
}
type InnerItem_4_4 struct {
	// 经纬度列表，内圈为顺时针
	Vertices []VerticesItem `json:"vertices"`
}
type FencesItem struct {
	// 外部围栏id
	OutFenceId string `json:"out_fence_id"`
	// 内部围栏id
	FenceId int64 `json:"fence_id"`
	// 形状 1. 圆  2:多边形  3:带洞多边形（兼容普通多边形
	Shape int32 `json:"shape"`
	// 形状为圆的经纬度信息
	Circular *Circular `json:"circular"`
	// 普通多边形
	Polygon *Polygon `json:"polygon"`
	// 带洞多边形，可兼容普通多边形
	PolygonNew *PolygonNew `json:"polygon_new"`
	// 多个多边形
	MultiPolygons []MultiPolygonsItem `json:"multi_polygons"`
}
type Center struct {
	// 经度
	Longitude float64 `json:"longitude"`
	// 纬度
	Latitude float64 `json:"latitude"`
}
type VerticesItem struct {
	// 经度
	Longitude float64 `json:"longitude"`
	// 纬度
	Latitude float64 `json:"latitude"`
}
type Outer struct {
	// 经纬度列表，外圈为逆时针
	Vertices []VerticesItem `json:"vertices"`
}
type VerticesItem_5_5 struct {
	// 经度
	Longitude string `json:"longitude"`
	// 纬度
	Latitude string `json:"latitude"`
}
type PolygonNew struct {
	// 带洞多边形的外圈数据
	Outer *Outer `json:"outer"`
	// 带洞多边形的内圈数据，空表示普通多边形
	Inner []InnerItem `json:"inner"`
}
type MultiPolygonsItem struct {
	// 带洞多边形的外圈数据
	Outer *Outer `json:"outer"`
	// 带洞多边形的内圈数据，空表示普通多边形
	Inner []InnerItem_4_4 `json:"inner"`
}
type WarehouseGetFencesData struct {
	// 围栏信息列表
	Fences []FencesItem `json:"fences"`
}
type Circular struct {
	// 圆的中心经纬度
	Center *Center `json:"center"`
	// 半径，单位 米
	Radius float64 `json:"radius"`
}
type Polygon struct {
	// 多边形顶点的经纬度：逆时针
	Vertices []VerticesItem `json:"vertices"`
}
