diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 81bb2b0d4..bd1aaae28 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -3588,7 +3588,7 @@ func CreateStoreAudit(ctx *jxcontext.Context, storeAudit *model.StoreAudit) (err return fmt.Errorf("门店地址必填!") } if storeAudit.Lng == 0 || storeAudit.Lat == 0 { - lng, lat, _ := api.AutonaviAPI.GetCoordinateFromAddressByPage(storeAudit.Address) + lng, lat, _ := api.AutonaviAPI.GetCoordinateFromAddress(storeAudit.Address, "") if lng != 0 && lat != 0 { storeAudit.Lng = jxutils.StandardCoordinate2Int(lng) storeAudit.Lat = jxutils.StandardCoordinate2Int(lat) diff --git a/business/model/dao/place.go b/business/model/dao/place.go index 522acad41..45aef1449 100644 --- a/business/model/dao/place.go +++ b/business/model/dao/place.go @@ -74,3 +74,14 @@ func GetPlaceByJdCode(db *DaoDB, jdCode int) (place *model.Place, err error) { err = db.Db.Read(place, "JdCode") return place, err } + +func GetPlaceByJdsCode(db *DaoDB, jdsCode int) (place *model.Place, err error) { + if db == nil { + db = GetDB() + } + place = &model.Place{ + JdsCode: jdsCode, + } + err = db.Db.Read(place, "JdsCode") + return place, err +} diff --git a/business/partner/purchase/jdshop/callback.go b/business/partner/purchase/jdshop/callback.go index 32823b578..18dcf3673 100644 --- a/business/partner/purchase/jdshop/callback.go +++ b/business/partner/purchase/jdshop/callback.go @@ -91,6 +91,9 @@ func SaveJdsOrders(msg *jdshopapi.CallBackResult) (err error) { } func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err error) { + var ( + db = dao.GetDB() + ) //有可能是库里已经有这个订单了 orderE, err := partner.CurOrderManager.LoadOrder(msg.OrderID+"000001", model.VendorIDJDShop) if orderE != nil { @@ -133,7 +136,18 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err order.TotalShopMoney = 100 } if order.ConsigneeAddress != "" { - lng, lat, err2 := api.AutonaviAPI.GetCoordinateFromAddressByPage(order.ConsigneeAddress) + var cityCode int + place, err := dao.GetPlaceByJdsCode(db, utils.Str2Int(msg.ConsigneeInfo.CityID)) + if place == nil { + cityCode = 510100 + } else { + if place.Level == 3 { + cityCode = place.ParentCode + } else if place.Level == 2 { + cityCode = place.Code + } + } + lng, lat, err2 := api.AutonaviAPI.GetCoordinateFromAddressByPage(order.ConsigneeAddress, cityCode) if err = err2; err != nil { globals.SugarLogger.Infof("高德page err: %v", err) } @@ -181,7 +195,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err order.StoreName = store.Name globals.SugarLogger.Debugf("jds GetStoreListByLocation, orderID: %v storeID :%v", order.VendorOrderID, order.StoreID) //结算类型 - storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), order.StoreID, model.VendorIDJDShop, "") + storeDetail, _ := dao.GetStoreDetail(db, order.StoreID, model.VendorIDJDShop, "") if storeDetail != nil { if storeDetail.PayPercentage < 50 { order.EarningType = model.EarningTypePoints @@ -194,7 +208,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err saleNormalSum int ) for _, sku := range order.Skus { - storeSkuList, _ := dao.GetStoresSkusInfo(dao.GetDB(), []int{order.StoreID}, []int{sku.SkuID}) + storeSkuList, _ := dao.GetStoresSkusInfo(db, []int{order.StoreID}, []int{sku.SkuID}) if len(storeSkuList) > 0 { if storeSkuList[0].Status == model.StoreSkuBindStatusNormal { saleNormalSum += 1 @@ -231,7 +245,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err } else { buildOrderTo102919(order) } - storeMaps, _ := dao.GetStoresMapList(dao.GetDB(), []int{model.VendorIDJDShop}, []int{order.StoreID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", msg.VendorOrgCode) + storeMaps, _ := dao.GetStoresMapList(db, []int{model.VendorIDJDShop}, []int{order.StoreID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "", msg.VendorOrgCode) if len(storeMaps) > 0 { order.VendorStoreID = storeMaps[0].VendorStoreID } @@ -284,7 +298,7 @@ func result2Orders(msg *jdshopapi.CallBackResult) (order *model.GoodsOrder, err if order.OrderType == model.OrderTypeAddressErr { buildOrderTo102919(order) } - billParams, _ := GetDaDaBillParams(dao.GetDB(), order) + billParams, _ := GetDaDaBillParams(db, order) if result, err := api.DadaAPI.QueryDeliverFee(billParams); err == nil { if result.Fee > 10 { buildOrderTo102919(order)