diff --git a/business/partner/purchase/tiktok_store/store.go b/business/partner/purchase/tiktok_store/store.go index afc338075..49aab67d2 100644 --- a/business/partner/purchase/tiktok_store/store.go +++ b/business/partner/purchase/tiktok_store/store.go @@ -297,8 +297,9 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) (stri // shop/editStore 编辑门店信息 正向推送平台 func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName string) (err error) { var ( - storeInfo *dao.StoreDetail - name string + storeInfo *dao.StoreDetail + name string + FreightTemplate = &model.FreightTemplate{} ) if db == nil { db = dao.GetDB() @@ -364,16 +365,42 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin errList.AddErr(err3) } //更新运费模板 - err = UpdateFreightTemplate(storeID) + bindFreightIDs, err := GetStoreFreight(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID)) if err != nil { - return errors.New(fmt.Sprintf("更新运费模板失败,原因:%v", err)) + globals.SugarLogger.Debug("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err) + errList.AddErr(fmt.Errorf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err)) + } + if bindFreightIDs == 0 { + if freightTemplateID, err := CreateFreightTemplate(storeID); err != nil || freightTemplateID == 0 || utils.IsNil(freightTemplateID) { + globals.SugarLogger.Debug("创建运费模板失败:%v", err) + errList.AddErr(fmt.Errorf("创建运费模板失败:%v", err)) + } else { //绑定 + if err = ShopBindStoreFreight(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID), freightTemplateID); err != nil { + globals.SugarLogger.Debug("京西菜市门店:%d 平台门店:%d 绑定运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err) + errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 绑定运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err)) + } else { + FreightTemplate.TemplateID = freightTemplateID + } + } + } else { + err = UpdateFreightTemplate(storeID) + if err != nil { + return errors.New(fmt.Sprintf("更新运费模板失败,原因:%v", err)) + } } //更新电子围栏 err = UpdateFenceByStore(storeInfo.VendorOrgCode, storeID) if err != nil { - return errors.New(fmt.Sprintf("更新电子围栏失败,原因:%v", err)) + return errors.New(fmt.Sprintf("更新电子围栏失败,原因:%v,请先创建电子围栏", err)) + } + if _, err = dao.UpdateEntity(db, FreightTemplate, "TemplateID", "WarehouseID", "FenceID", "TradeLimitID"); err != nil { + errList.AddErr(fmt.Errorf("同步进数据库错误信息:%v", err)) + } else { + if err = dao.CreateEntity(db, FreightTemplate); err != nil { + globals.SugarLogger.Debug("db update storeID,vendorStoreID defeat on :%v", err) + errList.AddErr(fmt.Errorf("db update storeID,vendorStoreID defeat on :%v", err)) + } } - } return err }