diff --git a/business/partner/purchase/jd/store.go b/business/partner/purchase/jd/store.go index 44a59d9ad..95d263fbb 100644 --- a/business/partner/purchase/jd/store.go +++ b/business/partner/purchase/jd/store.go @@ -81,14 +81,21 @@ func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendo db := dao.GetDB() cityCode := result.City if cityCode != 0 { - if city, err2 := dao.GetPlaceByJdCode(db, cityCode); err2 == nil { - retVal.CityCode = city.Code - retVal.CityName = utils.Interface2String(result.CityName) - districtName := result.CountyName // 京东的市区号码与通用数据完全无法关联,只有通过名字来关联 - if retVal.CityCode != 0 && districtName != "" { - if district, err2 := dao.GetPlaceByName(db, districtName, 3, city.Code); err2 == nil { - retVal.DistrictCode = district.Code + if place, err2 := dao.GetPlaceByJdCode(db, cityCode); err2 == nil { + if place.Level == model.PlaceLevelCity { + retVal.CityCode = place.Code + retVal.CityName = utils.Interface2String(result.CityName) + districtName := result.CountyName // 京东的市区号码与通用数据完全无法关联,只有通过名字来关联 + if retVal.CityCode != 0 && districtName != "" { + if district, err2 := dao.GetPlaceByName(db, districtName, 3, place.Code); err2 == nil { + retVal.DistrictCode = district.Code + } } + } else if place.Level == model.PlaceLevelDistrict { + retVal.CityCode = place.ParentCode + retVal.DistrictCode = place.Code + } else { + globals.SugarLogger.Warnf("门店:%s的城市码:%d异常", vendorStoreID, cityCode) } } }