From aaa5f5c1f1e248197b3e91c112683ce960a2da6f Mon Sep 17 00:00:00 2001 From: richboo111 Date: Mon, 6 Mar 2023 14:11:57 +0800 Subject: [PATCH] 1 --- business/jxstore/cms/store.go | 17 ++++++++++------- business/partner/purchase/tiktok_store/store.go | 6 +++--- .../partner/purchase/tiktok_store/warehouse.go | 15 +++++++++++++-- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index a90fff742..93b6f3d9f 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1706,13 +1706,14 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor //增加同步到抖店厂商的同步标志 DDFlag := false errList := errlist.ErrList{} - if (valid["deliveryFeeDeductionSill"] != nil || valid["deliveryFeeDeductionFee"] != nil || valid["ybStorePrefix"] != nil) && vendorID == model.VendorIDDD { + //deliveryFeeDeductionSill-包邮模板 满x包邮金额 deliveryFeeDeductionFee-打包费 ybStorePrefix-起送价 ybAppID-自动运力设置 + if (valid["deliveryFeeDeductionSill"] != nil || valid["deliveryFeeDeductionFee"] != nil || valid["ybStorePrefix"] != nil || valid["ybAppID"] != nil) && vendorID == model.VendorIDDD { DDFlag = true } //特殊处理抖店运费模板、打包费 if DDFlag { - globals.SugarLogger.Debug("进入DDFlag 特殊处理运费模板、起送价、打包费") - if err := tiktok_store.SpecialTreat(storeMap.VendorOrgCode, utils.Str2Int64(storeMap.VendorStoreID), int64(storeMap.StoreID), int64(storeMap.DeliveryFeeDeductionFee), utils.Str2Int64(storeMap.YbStorePrefix)); err != nil { - errList.AddErr(fmt.Errorf("抖店运费模板、起送价、打包费相关处理错误:%v", err)) + globals.SugarLogger.Debug("进入DDFlag 特殊处理运费模板、起送价、打包费、自动运力设置") + if err := tiktok_store.SpecialTreat(storeMap.VendorOrgCode, utils.Str2Int64(storeMap.VendorStoreID), int64(storeMap.StoreID), int64(storeMap.DeliveryFeeDeductionFee), utils.Str2Int64(storeMap.YbStorePrefix), storeMap.YbAppID); err != nil { + errList.AddErr(fmt.Errorf("抖店运费模板、起送价、打包费、自动运力设置相关处理错误:%v", err)) } } for _, v := range [][]string{ @@ -5967,7 +5968,7 @@ func UpdateStoreRelInformation(ctx *jxcontext.Context) error { FreightTemplate.VendorStoreID = utils.Int64ToStr(m) FreightTemplate.StoreID = utils.Str2Int(n) if _, err := dao.UpdateEntity(db, FreightTemplate, "VendorStoreID", "StoreID", "TemplateID", "WarehouseID", "FenceID", "TradeLimitID"); err != nil { - if err1 := dao.CreateEntity(db, FreightTemplate); err1 != nil { + if err1 := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err1) || err1 != nil { errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err1)) } else { errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err)) @@ -6045,7 +6046,9 @@ func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error } } endStr = tStr1 + "," + tStr2 - globals.SugarLogger.Debugf("京西平台没有配送范围的门店ID=%s", endStr) + if len(endStr) > 0 { + globals.SugarLogger.Debugf("京西平台没有配送范围的门店ID=%s", endStr) + } } if bindFence, err := tiktok_store.GetWarehouseByStore(k, utils.Str2Int64(i.VendorStoreID)); err == nil && (len(bindFence) > 0 && len(bindFence[i.VendorStoreID][0].OutFenceIds) > 0) { tempFenceID = bindFence[i.VendorStoreID][0].OutFenceIds[0] @@ -6062,7 +6065,7 @@ func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error } } } - if err := dao.CreateEntity(db, FreightTemplate); err != nil { + if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil { if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID"); err1 != nil { globals.SugarLogger.Debugf("db update storeID,vendorStoreID defeat on :%v", err1) //errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1)) diff --git a/business/partner/purchase/tiktok_store/store.go b/business/partner/purchase/tiktok_store/store.go index a25829a31..363107afd 100644 --- a/business/partner/purchase/tiktok_store/store.go +++ b/business/partner/purchase/tiktok_store/store.go @@ -231,7 +231,7 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee //5.同步进数据库 FreightTemplate.StoreID = int(storeID) FreightTemplate.VendorStoreID = utils.Int64ToStr(vendorStoreID) - if err := dao.CreateEntity(db, FreightTemplate); err != nil { + if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil { if _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "WarehouseID", "FenceID", "TradeLimitID", "StoreID", "VendorStoreID"); err1 != nil { globals.SugarLogger.Debug("更新操作,同步进数据库错误信息:%v", err1) //errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1)) @@ -463,7 +463,7 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin FreightTemplate.FenceID = tempFenceID FreightTemplate.StoreID = storeID FreightTemplate.VendorStoreID = storeInfo.VendorStoreID - if err = dao.CreateEntity(db, FreightTemplate); err != nil { + if err = dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil { if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID", "StoreID", "VendorStoreID"); err1 != nil { errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1)) } else { @@ -679,7 +679,7 @@ func CreateBindFreeShipTemplate(storeID int, shipFee int64) error { if err := ShopBindStoreFreight(storeDetail.VendorOrgCode, utils.Str2Int64(storeDetail.VendorStoreID), resp.TemplateId); err != nil { return errors.New(fmt.Sprintf("平台门店(%s) 京西门店(%d) 绑定包邮模板失败:%v,根据提示处理", storeDetail.VendorStoreID, storeID, err)) } else { - if err := dao.CreateEntity(db, FreightTemplate); err != nil { + if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil { if _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID"); err1 != nil { errList.AddErr(fmt.Errorf("包邮模板:更新操作,同步进数据库错误信息:%v", err1)) } else { diff --git a/business/partner/purchase/tiktok_store/warehouse.go b/business/partner/purchase/tiktok_store/warehouse.go index aaf908b41..cc6006ea6 100644 --- a/business/partner/purchase/tiktok_store/warehouse.go +++ b/business/partner/purchase/tiktok_store/warehouse.go @@ -254,7 +254,7 @@ func GetFence(appOrgCode string, outFenceID []string) ([]warehouse_getFences_res } //特殊处理 -func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeductionFee, minPrice int64) error { +func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeductionFee, minPrice int64, autoCall string) error { var ( db *dao.DaoDB errList = errlist.New() @@ -276,6 +276,7 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc if err = ShopBindStoreFreight(vendorOrgCode, vendorStoreID, freightTemplateID); err != nil { errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 绑定运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err)) } else { + 1 FreightTemplate.TemplateID = freightTemplateID } } @@ -308,8 +309,18 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc } } } + //4.设置自动运力 + if autoCall == tiktok_api.AutoCallRiderOpen { + if err := SetStoreAutoCallRider(vendorOrgCode, tiktok_api.AutoCallRiderOpen, vendorStoreID); err != nil { + errList.AddErr(fmt.Errorf("开启门店自动运力失败:%v", err)) + } + } else { + if err := SetStoreAutoCallRider(vendorOrgCode, tiktok_api.AutoCallRiderClose, vendorStoreID); err != nil { + errList.AddErr(fmt.Errorf("关闭门店自动运力失败:%v", err)) + } + } //多次同步数据库,兜底处理 - if err := dao.CreateEntity(db, FreightTemplate); err != nil { + if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil { _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "TradeLimitID") if err1 != nil { globals.SugarLogger.Debugf("更新起送价限售模板,更新进数据库错误信息:%v", err1)