- set ebai delivery_region when there is non nil value.

This commit is contained in:
gazebo
2018-11-16 12:18:14 +08:00
parent 28b6689c56
commit 254a8172d3

View File

@@ -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