- set ebai delivery_region when there is non nil value.
This commit is contained in:
@@ -280,33 +280,35 @@ func EbaiDeliveryRegion2Jx(deliveryRegion interface{}) string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func JxDeliveryRegion2Ebai(store *model.Store) interface{} {
|
func JxDeliveryRegion2Ebai(store *model.Store) (deliveryRegion interface{}) {
|
||||||
rangeStr := strings.Trim(store.DeliveryRange, ";")
|
rangeStr := strings.Trim(store.DeliveryRange, ";")
|
||||||
if store.DeliveryRangeType == model.DeliveryRangeTypeRadius {
|
if store.DeliveryRangeType == model.DeliveryRangeTypeRadius {
|
||||||
rangeStr = jxutils.GetPolygonFromCircleStr(jxutils.IntCoordinate2Standard(store.Lng), jxutils.IntCoordinate2Standard(store.Lat), utils.Str2Float64(store.DeliveryRange), 8)
|
rangeStr = jxutils.GetPolygonFromCircleStr(jxutils.IntCoordinate2Standard(store.Lng), jxutils.IntCoordinate2Standard(store.Lat), utils.Str2Float64(store.DeliveryRange), 8)
|
||||||
}
|
}
|
||||||
pointPairs := strings.Split(rangeStr, ";")
|
if rangeStr != "" {
|
||||||
region := make([]map[string]interface{}, 0)
|
pointPairs := strings.Split(rangeStr, ";")
|
||||||
for _, v := range pointPairs {
|
region := make([]map[string]interface{}, 0)
|
||||||
pointPair := strings.Split(v, ",")
|
for _, v := range pointPairs {
|
||||||
if len(pointPair) == 2 {
|
pointPair := strings.Split(v, ",")
|
||||||
region = append(region, map[string]interface{}{
|
if len(pointPair) == 2 {
|
||||||
"longitude": utils.Str2Float64(pointPair[0]),
|
region = append(region, map[string]interface{}{
|
||||||
"latitude": utils.Str2Float64(pointPair[1]),
|
"longitude": utils.Str2Float64(pointPair[0]),
|
||||||
})
|
"latitude": utils.Str2Float64(pointPair[1]),
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
deliveryRegion = []interface{}{
|
||||||
deliveryRegion := []interface{}{
|
map[string]interface{}{
|
||||||
map[string]interface{}{
|
"name": "主要配送区",
|
||||||
"name": "主要配送区",
|
"delivery_fee": 600,
|
||||||
"delivery_fee": 600,
|
"delivery_time": "60",
|
||||||
"delivery_time": "60",
|
"min_buy_free": "0",
|
||||||
"min_buy_free": "0",
|
"min_order_price": "0",
|
||||||
"min_order_price": "0",
|
"region": []interface{}{
|
||||||
"region": []interface{}{
|
region,
|
||||||
region,
|
},
|
||||||
},
|
},
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
return deliveryRegion
|
return deliveryRegion
|
||||||
}
|
}
|
||||||
@@ -328,14 +330,16 @@ func JxBusinessTime2Ebai(store *model.Store) interface{} {
|
|||||||
|
|
||||||
func genStoreMapFromStore(store *tEbaiStoreInfo) map[string]interface{} {
|
func genStoreMapFromStore(store *tEbaiStoreInfo) map[string]interface{} {
|
||||||
params := map[string]interface{}{
|
params := map[string]interface{}{
|
||||||
"name": jxutils.ComposeStoreName(store.Name, partner.StoreNameSeparator, VendorStorePrefix),
|
"name": jxutils.ComposeStoreName(store.Name, partner.StoreNameSeparator, VendorStorePrefix),
|
||||||
"phone": store.Tel1,
|
"phone": store.Tel1,
|
||||||
"longitude": jxutils.IntCoordinate2Standard(store.Lng),
|
"longitude": jxutils.IntCoordinate2Standard(store.Lng),
|
||||||
"latitude": jxutils.IntCoordinate2Standard(store.Lat),
|
"latitude": jxutils.IntCoordinate2Standard(store.Lat),
|
||||||
"address": store.Address,
|
"address": store.Address,
|
||||||
"coord_type": ebaiapi.CoordTypeAutonavi, // 一直用高德
|
"coord_type": ebaiapi.CoordTypeAutonavi, // 一直用高德
|
||||||
"delivery_region": JxDeliveryRegion2Ebai(&store.Store),
|
"business_time": JxBusinessTime2Ebai(&store.Store),
|
||||||
"business_time": JxBusinessTime2Ebai(&store.Store),
|
}
|
||||||
|
if deliveryRegion := JxDeliveryRegion2Ebai(&store.Store); deliveryRegion != nil {
|
||||||
|
params["delivery_region"] = deliveryRegion
|
||||||
}
|
}
|
||||||
if store.VendorStoreID != "" {
|
if store.VendorStoreID != "" {
|
||||||
params["baidu_shop_id"] = store.VendorStoreID
|
params["baidu_shop_id"] = store.VendorStoreID
|
||||||
|
|||||||
Reference in New Issue
Block a user