repair
This commit is contained in:
@@ -112,7 +112,6 @@ func SyncStoreCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendo
|
||||
}
|
||||
}
|
||||
} else if model.IsSyncStatusNew(catInfo.CatSyncStatus) { // 新增 2
|
||||
globals.SugarLogger.Debugf("=====新增ebai分类:===%s,", utils.Format4Output(catInfo, false))
|
||||
err = handler.CreateStoreCategory(ctx, storeID, vendorStoreID, catInfo)
|
||||
if err != nil && handler.IsErrCategoryExist(err) {
|
||||
if cat, err2 := handler.GetStoreCategory(ctx, storeID, vendorStoreID, catInfo.Name); err2 == nil {
|
||||
|
||||
@@ -15,6 +15,7 @@ import (
|
||||
shop_getStoreDetail_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/request"
|
||||
shop_storeSuspend_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_storeSuspend/request"
|
||||
shop_unsuspendStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_unsuspendStore/request"
|
||||
trade_UpdateTradeLimitTemplate_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_UpdateTradeLimitTemplate/request"
|
||||
trade_createTradeLimitTemplate_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_createTradeLimitTemplate/request"
|
||||
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
@@ -149,8 +150,8 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error
|
||||
if bindFreightIDs == 0 { //(1)未查询到绑定信息,不算错误
|
||||
//创建
|
||||
if freightTemplateID, err := CreateFreightTemplate(int(storeID)); err != nil || freightTemplateID == 0 || utils.IsNil(freightTemplateID) {
|
||||
globals.SugarLogger.Debug("创建运费模板失败:%v", err)
|
||||
errList.AddErr(fmt.Errorf("创建运费模板失败:%v", err))
|
||||
globals.SugarLogger.Debug("京西菜市门店:%d 平台门店:%d 创建运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err)
|
||||
errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 创建运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err))
|
||||
} else { //绑定
|
||||
if err = ShopBindStoreFreight(vendorOrgCode, vendorStoreID, freightTemplateID); err != nil {
|
||||
globals.SugarLogger.Debug("京西菜市门店:%d 平台门店:%d 绑定运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err)
|
||||
@@ -159,6 +160,8 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error
|
||||
FreightTemplate.TemplateID = freightTemplateID
|
||||
}
|
||||
}
|
||||
} else {
|
||||
FreightTemplate.TemplateID = bindFreightIDs
|
||||
}
|
||||
|
||||
//2.平台获取仓库信息以及电子围栏id
|
||||
@@ -191,12 +194,7 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error
|
||||
errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err))
|
||||
} else {
|
||||
FreightTemplate.FenceID = utils.Int64ToStr(storeID)
|
||||
if err := dao.CreateEntity(db, FreightTemplate); err != nil {
|
||||
globals.SugarLogger.Debug("电子围栏ID(%s) 同步到数据库失败:%v", fenceID, err)
|
||||
errList.AddErr(fmt.Errorf("电子围栏ID(%s) 同步到数据库失败:%v", fenceID, err))
|
||||
}
|
||||
}
|
||||
FreightTemplate.FenceID = utils.Int64ToStr(storeID)
|
||||
}
|
||||
} else {
|
||||
//电子围栏二次验证
|
||||
@@ -211,14 +209,10 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error
|
||||
errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err))
|
||||
} else {
|
||||
FreightTemplate.FenceID = utils.Int64ToStr(storeID)
|
||||
if err := dao.CreateEntity(db, FreightTemplate); err != nil {
|
||||
globals.SugarLogger.Debug("电子围栏ID(%s) 同步到数据库失败:%v", fenceID, err)
|
||||
errList.AddErr(fmt.Errorf("电子围栏ID(%s) 同步到数据库失败:%v", fenceID, err))
|
||||
}
|
||||
}
|
||||
FreightTemplate.FenceID = utils.Int64ToStr(storeID)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//3.平台获取限售模板
|
||||
@@ -240,6 +234,8 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//4.同步进数据库
|
||||
FreightTemplate.DeletedAt = utils.DefaultTimeValue
|
||||
FreightTemplate = &model.FreightTemplate{
|
||||
StoreID: int(storeID),
|
||||
@@ -299,7 +295,7 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
||||
return err2
|
||||
}
|
||||
if remoteStoreInfo.StoreDetail.Store.StoreId == 0 {
|
||||
return fmt.Errorf("ID:%d 的门店不存在,请先创建", utils.Str2Int64(storeInfo.VendorStoreID))
|
||||
return fmt.Errorf("ID(%d) 的门店不存在,请先创建", utils.Str2Int64(storeInfo.VendorStoreID))
|
||||
}
|
||||
mergedStoreStatus := jxutils.MergeStoreStatus(storeInfo.Status, storeInfo.VendorStatus)
|
||||
name = remoteStoreInfo.StoreDetail.Store.Name
|
||||
@@ -361,12 +357,12 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
||||
if err = UpdateFenceByStore(storeInfo.VendorOrgCode, outFenceID, storeID); err != nil {
|
||||
return errors.New(fmt.Sprintf("更新电子围栏失败,原因:%v", err))
|
||||
}
|
||||
if _, err = dao.UpdateEntity(db, FreightTemplate, "FenceID"); 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))
|
||||
if err = dao.CreateEntity(db, FreightTemplate); err != nil {
|
||||
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID"); err1 != nil {
|
||||
globals.SugarLogger.Debug("db update storeID,vendorStoreID defeat on :%v", err1)
|
||||
errList.AddErr(fmt.Errorf("同步进数据库错误信息:%v", err1))
|
||||
} else {
|
||||
errList.AddErr(fmt.Errorf("同步进数据库错误信息:%v", err))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -635,7 +631,7 @@ func CreateTradeLimitTemplate(appOrgCode string, vendorStoreID int64) (tradeLimi
|
||||
}
|
||||
|
||||
//创建起送价的 运费模板以及绑定
|
||||
func CreateAndBindMinPriceTemplate(vendorOrgCode string, vendorStoreID, minimum int64) error {
|
||||
func CreateAndBindMinPriceTemplate(vendorOrgCode string, vendorStoreID, minimum int64) (int64, error) {
|
||||
param := &trade_createTradeLimitTemplate_request.TradeCreateTradeLimitTemplateParam{
|
||||
StoreId: vendorStoreID,
|
||||
TradeLimitRuleRequestList: []trade_createTradeLimitTemplate_request.TradeLimitRuleRequestListItem{
|
||||
@@ -658,13 +654,36 @@ func CreateAndBindMinPriceTemplate(vendorOrgCode string, vendorStoreID, minimum
|
||||
}
|
||||
resp, err := getAPI(vendorOrgCode, 0, "").CreateTradeLimitTemplate(param)
|
||||
if err != nil || resp.TradeLimitId == 0 {
|
||||
return errors.New(fmt.Sprintf("创建门店(%d)的起送价失败:%v", vendorStoreID, err))
|
||||
return 0, errors.New(fmt.Sprintf("创建门店(%d)的起送价失败:%v", vendorStoreID, err))
|
||||
} else { //绑定
|
||||
if err := BindStoreSaleLimit(vendorOrgCode, vendorStoreID, resp.TradeLimitId); err != nil {
|
||||
return errors.New(fmt.Sprintf("门店(%d)绑定 起送价限售模板失败:%v", vendorStoreID, err))
|
||||
return 0, errors.New(fmt.Sprintf("门店(%d)绑定 起送价限售模板失败:%v", vendorStoreID, err))
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return resp.TradeLimitId, nil
|
||||
}
|
||||
|
||||
// /trade/UpdateTradeLimitTemplate 更新限售模板 目前只做起送价
|
||||
func UpdateTradeLimitTemplate(vendorOrgCode string, tradeLimitID, minPrice int64) (int64, error) {
|
||||
param := &trade_UpdateTradeLimitTemplate_request.TradeUpdateTradeLimitTemplateParam{
|
||||
TradeLimitTemplateId: tradeLimitID,
|
||||
TradeLimitRuleRequestList: []trade_UpdateTradeLimitTemplate_request.TradeLimitRuleRequestListItem{
|
||||
{
|
||||
TradeLimitModel: tiktok_api.TradeLimitModelMoney,
|
||||
TradeLimitPattern: &trade_UpdateTradeLimitTemplate_request.TradeLimitPattern{
|
||||
Minimum: minPrice,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
updateTradeLimit, err := getAPI(vendorOrgCode, 0, "").UpdateTradeLimitTemplate(param)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
if updateTradeLimit.TradeLimitTemplateId == 0 {
|
||||
return 0, errors.New(fmt.Sprintf("更新操作返回的TradeLimitTemplateId=0"))
|
||||
}
|
||||
return updateTradeLimit.TradeLimitTemplateId, nil
|
||||
}
|
||||
|
||||
// /shop/bindStoreSaleLimit 门店绑定限售模板
|
||||
|
||||
@@ -283,8 +283,23 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc
|
||||
errList.AddErr(fmt.Errorf("设置门店打包费失败:%v", err))
|
||||
}
|
||||
//设置门店起送价 默认为0
|
||||
if err := CreateAndBindMinPriceTemplate(vendorOrgCode, vendorStoreID, minPrice); err != nil {
|
||||
errList.AddErr(fmt.Errorf("设置门店起送价失败:%v", err))
|
||||
bindSaleLimitID, err := GetStoreSaleLimit(vendorOrgCode, vendorStoreID)
|
||||
if err != nil {
|
||||
errList.AddErr(fmt.Errorf("获取门店限售模板失败:%v", err))
|
||||
} else {
|
||||
if bindSaleLimitID == 0 || utils.IsNil(bindSaleLimitID) { //创建
|
||||
if createSaleLimitID, err := CreateAndBindMinPriceTemplate(vendorOrgCode, vendorStoreID, minPrice); err != nil {
|
||||
errList.AddErr(fmt.Errorf("设置门店起送价限售模板失败:%v", err))
|
||||
} else {
|
||||
FreightTemplate.TradeLimitID = createSaleLimitID
|
||||
}
|
||||
} else { //更新为起送价模板
|
||||
if updateSaleLimitID, err := UpdateTradeLimitTemplate(vendorOrgCode, bindSaleLimitID, minPrice); err != nil {
|
||||
errList.AddErr(fmt.Errorf("更新门店起送价限售模板失败:%v", err))
|
||||
} else {
|
||||
FreightTemplate.TradeLimitID = updateSaleLimitID
|
||||
}
|
||||
}
|
||||
}
|
||||
err1 := dao.CreateEntity(db, FreightTemplate)
|
||||
if err1 != nil {
|
||||
|
||||
Reference in New Issue
Block a user