- disable ebai update store deliveryRange when radius is too small

This commit is contained in:
gazebo
2018-11-19 14:30:33 +08:00
parent a2ce997a0b
commit 52b6798b44
2 changed files with 6 additions and 2 deletions

View File

@@ -99,7 +99,7 @@ func GetPolygonFromCircleStr(lng, lat, distance float64, pointCount int) string
}
func ConvertDistanceToLogLat(lng, lat, distance, angle float64) (newLng, newLat float64) {
oneDu := 111319.55
oneDu := 111319.55 // 单位为米
newLng = lng + (distance*math.Sin(angle*math.Pi/180))/(oneDu*math.Cos(lat*math.Pi/180)) //将距离转换成经度的计算公式
newLat = lat + (distance*math.Cos(angle*math.Pi/180))/oneDu //将距离转换成纬度的计算公式
return newLng, newLat

View File

@@ -296,7 +296,11 @@ func EbaiDeliveryRegion2Jx(deliveryRegion interface{}) string {
func JxDeliveryRegion2Ebai(store *model.Store) (deliveryRegion interface{}) {
rangeStr := strings.Trim(store.DeliveryRange, ";")
if store.DeliveryRangeType == model.DeliveryRangeTypeRadius {
rangeStr = jxutils.GetPolygonFromCircleStr(jxutils.IntCoordinate2Standard(store.Lng), jxutils.IntCoordinate2Standard(store.Lat), utils.Str2Float64(store.DeliveryRange), 8)
if utils.Str2Int64(store.DeliveryRange) > 100 { // todo 如果小于100米表示禁用不更新
rangeStr = jxutils.GetPolygonFromCircleStr(jxutils.IntCoordinate2Standard(store.Lng), jxutils.IntCoordinate2Standard(store.Lat), utils.Str2Float64(store.DeliveryRange), 8)
} else {
rangeStr = ""
}
}
if rangeStr != "" {
pointPairs := strings.Split(rangeStr, ";")