diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 0159eb744..eb3a1d6e1 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -6018,23 +6018,30 @@ func GetVendorOrgCode(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID i //批量辅助创建电子围栏 func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error) { var ( + tempFenceID string db = dao.GetDB() + errList = errlist.New() FreightTemplate = &model.FreightTemplate{} ) - errList := errlist.New() - globals.SugarLogger.Debugf("进入AssistCreateFence") for k, v := range relInfo { - globals.SugarLogger.Debugf("v[0].VendorStoreID============%s v[0].StoreID============%s", v[0].VendorStoreID, v[0].StoreID) for _, i := range v { - globals.SugarLogger.Debugf("preTest i.StoreID========%s,i.VendorStoreID=========%s", i.StoreID, i.VendorStoreID) tempStoreID := utils.Str2Int64(i.StoreID) - if fenceID, err := tiktok_store.CreateFenceByStore(k, tempStoreID); err != nil { - errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s) 创建电子围栏失败:%v", i.VendorStoreID, i.StoreID, err)) - } else { - tempVendorStoreID := utils.Str2Int64(i.VendorStoreID) - if err := tiktok_store.BindFenceByStore(k, tempVendorStoreID, []string{fenceID}); err != nil { - errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)绑定电子围栏失败:%v", i.VendorStoreID, i.StoreID, err)) + tempVendorStoreID := utils.Str2Int64(i.VendorStoreID) + //暂时逻辑直接使用storeID + if ifBindFence, err := tiktok_store.GetFence(k, i.StoreID); err == nil && len(ifBindFence.OutFenceId) != 0 { + tempFenceID = i.StoreID + } + if fenceID, err := tiktok_store.CreateFenceByStore(k, tempStoreID); err != nil || strings.Contains(fmt.Sprint(err), fmt.Sprint("该电子围栏已经存在,请使用修改接口")) { + if err1 := tiktok_store.UpdateFenceByStore(k, i.StoreID, utils.Str2Int(i.VendorStoreID)); err1 != nil { + errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)更新电子围栏失败:%v", i.VendorStoreID, i.StoreID, err1)) + } else { + errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)创建电子围栏失败:%v", i.VendorStoreID, i.StoreID, err)) } + } else if utils.IsNil(fenceID) { + tempFenceID = fenceID + } + if err := tiktok_store.BindFenceByStore(k, tempVendorStoreID, []string{tempFenceID}); err != nil { + errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)绑定电子围栏失败:%v", i.VendorStoreID, i.StoreID, err)) } } if err := dao.CreateEntity(db, FreightTemplate); err != nil { diff --git a/business/partner/purchase/tiktok_store/warehouse.go b/business/partner/purchase/tiktok_store/warehouse.go index 646b8fbc8..88494331c 100644 --- a/business/partner/purchase/tiktok_store/warehouse.go +++ b/business/partner/purchase/tiktok_store/warehouse.go @@ -175,9 +175,7 @@ func UpdateFenceByStore(appOrgCode, outFenceID string, storeID int) error { localStore *LocalStore vertex []warehouse_setFence_request.VerticesItem ) - sqlParam := []interface{}{ - model.VendorIDDD, - } + sqlParam := []interface{}{} sqlStr := `SELECT t.lng,t.lat,t.delivery_range_type,t.delivery_range FROM store t` if storeID != 0 { sqlStr += " WHERE t.id = ? "