This commit is contained in:
richboo111
2022-11-03 09:47:17 +08:00
parent c2b03bc76b
commit f51b146831
3 changed files with 139 additions and 125 deletions

View File

@@ -1695,6 +1695,18 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
// } // }
syncStatus |= model.SyncFlagStoreName syncStatus |= model.SyncFlagStoreName
} }
//增加同步到抖店厂商的同步标志
DDFlag := false
errList := errlist.ErrList{}
if valid["deliveryFeeDeductionSill"] != nil && vendorID == model.VendorIDDD {
DDFlag = true
} //特殊处理抖店运费模板
if DDFlag {
globals.SugarLogger.Debug("进入DDFlag 特殊处理运费模板")
if err := tiktok_store.FreightSpecialTreat(storeMap.VendorOrgCode, utils.Str2Int64(storeMap.VendorStoreID), int64(storeMap.StoreID)); err != nil {
errList.AddErr(fmt.Errorf("抖店运费模板相关处理错误:%v", err))
}
}
for _, v := range [][]string{ for _, v := range [][]string{
[]string{ []string{
"pricePercentagePack", "pricePercentagePack",
@@ -1774,6 +1786,7 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
} }
} }
dao.Commit(db, txDB) dao.Commit(db, txDB)
globals.SugarLogger.Debug("检查一下isStoreMapNeedSync(vendorID, valid)=============%s", isStoreMapNeedSync(vendorID, valid))
if isStoreMapNeedSync(vendorID, valid) { if isStoreMapNeedSync(vendorID, valid) {
globals.SugarLogger.Debugf("1.isStoreMapNeedSync(vendorID, valid)=================%v", isStoreMapNeedSync(vendorID, valid)) globals.SugarLogger.Debugf("1.isStoreMapNeedSync(vendorID, valid)=================%v", isStoreMapNeedSync(vendorID, valid))
_, err = CurVendorSync.SyncStore(ctx, db, vendorID, storeID, false, userName) _, err = CurVendorSync.SyncStore(ctx, db, vendorID, storeID, false, userName)
@@ -1781,7 +1794,7 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
} }
} }
} }
return num, err return num, errors.New(fmt.Sprintf("errList=%v,err=%v", errList, err))
} }
func DeleteStore(ctx *jxcontext.Context, storeID int) (num int64, err error) { func DeleteStore(ctx *jxcontext.Context, storeID int) (num int64, err error) {

View File

@@ -158,17 +158,8 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) (stri
errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 绑定运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err)) errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 绑定运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err))
} else { } else {
FreightTemplate.TemplateID = freightTemplateID FreightTemplate.TemplateID = freightTemplateID
//if err = dao.CreateEntity(db, FreightTemplate); err != nil {
// globals.SugarLogger.Debug("运费模板:%d 同步数据库失败:%v", freightTemplateID, err)
// errList.AddErr(fmt.Errorf("运费模板:%d 同步数据库失败:%v", freightTemplateID, err))
//}
} }
} }
} else { //同步信息到本地
//if _, err = dao.UpdateEntity(db, FreightTemplate, "TemplateID"); err != nil {
// globals.SugarLogger.Debug("平台运费模板 同步到本地出错:%v", err)
// errList.AddErr(fmt.Errorf("平台运费模板 同步到本地出错:%v", err))
//}
} }
//2.平台获取仓库信息以及电子围栏id //2.平台获取仓库信息以及电子围栏id
@@ -183,16 +174,12 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) (stri
if err != nil || warehouseID == 0 || utils.IsNil(warehouseID) { if err != nil || warehouseID == 0 || utils.IsNil(warehouseID) {
globals.SugarLogger.Debug("门店(%d) 创建仓库失败:%v", storeID, err) globals.SugarLogger.Debug("门店(%d) 创建仓库失败:%v", storeID, err)
errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err)) errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err))
} else { //绑定 } else { //绑定
if err = BindStoreWarehouse(vendorOrgCode, utils.Int64ToStr(storeID), vendorStoreID); err != nil { //仓库绑定通过自定义外部ID if err = BindStoreWarehouse(vendorOrgCode, utils.Int64ToStr(storeID), vendorStoreID); err != nil { //仓库绑定通过自定义外部ID
globals.SugarLogger.Debug("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err) globals.SugarLogger.Debug("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err)
errList.AddErr(fmt.Errorf("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err)) errList.AddErr(fmt.Errorf("门店(%d) 绑定仓库:%d 失败:%v", storeID, warehouseID, err))
} else { } else {
FreightTemplate.WarehouseID = warehouseID FreightTemplate.WarehouseID = warehouseID
//if err = dao.CreateEntity(db, FreightTemplate); err != nil {
// globals.SugarLogger.Debug("仓库ID(%d) 同步到数据库失败:%v", warehouseID, err)
// errList.AddErr(fmt.Errorf("仓库ID(%d) 同步到数据库失败:%v", warehouseID, err))
//}
} }
} }
//(2)创建电子围栏 //(2)创建电子围栏
@@ -232,15 +219,6 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) (stri
FreightTemplate.FenceID = utils.Int64ToStr(storeID) FreightTemplate.FenceID = utils.Int64ToStr(storeID)
} }
} }
//同步到本地数据库
//if _, err = dao.UpdateEntity(db, FreightTemplate, "FenceID"); err != nil {
// globals.SugarLogger.Debug("电子围栏 同步到本地出错:%v", err)
// errList.AddErr(fmt.Errorf("电子围栏 同步到本地出错:%v", err))
//}
//if _, err = dao.UpdateEntity(db, FreightTemplate, "WarehouseID"); err != nil {
// globals.SugarLogger.Debug("仓库 同步到本地出错:%v", err)
// errList.AddErr(fmt.Errorf("仓库 同步到本地出错:%v", err))
//}
} }
//3.平台获取限售模板 //3.平台获取限售模板
@@ -259,20 +237,9 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) (stri
errList.AddErr(fmt.Errorf("门店(%d) 创建限售模板失败:%v", storeID, err)) errList.AddErr(fmt.Errorf("门店(%d) 创建限售模板失败:%v", storeID, err))
} else { } else {
FreightTemplate.TradeLimitID = tradeLimitID FreightTemplate.TradeLimitID = tradeLimitID
//if err := dao.CreateEntity(db, FreightTemplate); err != nil {
// globals.SugarLogger.Debug("限售模板(%d) 存入数据库失败:%v", tradeLimitID, err)
// errList.AddErr(fmt.Errorf("限售模板(%d) 存入数据库失败:%v", tradeLimitID, err))
//}
} }
} }
} }
//else { //同步到本地
// FreightTemplate.TradeLimitID = SaleLimitID
// if _, err = dao.UpdateEntity(db, FreightTemplate, "TradeLimitID"); err != nil {
// globals.SugarLogger.Debug("限售模板 同步到本地出错:%v", err)
// errList.AddErr(fmt.Errorf("限售模板 同步到本地出错:%v", err))
// }
//}
FreightTemplate.DeletedAt = utils.DefaultTimeValue FreightTemplate.DeletedAt = utils.DefaultTimeValue
FreightTemplate = &model.FreightTemplate{ FreightTemplate = &model.FreightTemplate{
StoreID: int(storeID), StoreID: int(storeID),
@@ -300,14 +267,14 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
storeInfo *dao.StoreDetail storeInfo *dao.StoreDetail
name string name string
FreightTemplate = &model.FreightTemplate{} FreightTemplate = &model.FreightTemplate{}
errList = errlist.New()
timeStr = ""
m = make(map[int64]string)
) )
if db == nil { if db == nil {
db = dao.GetDB() db = dao.GetDB()
} }
storeInfo, err = dao.GetStoreDetail(db, storeID, model.VendorIDDD, "") storeInfo, err = dao.GetStoreDetail(db, storeID, model.VendorIDDD, "")
errList := errlist.New()
timeStr := ""
m := make(map[int64]string)
if storeInfo.OpenTime1 != 0 && storeInfo.CloseTime1 != 0 { if storeInfo.OpenTime1 != 0 && storeInfo.CloseTime1 != 0 {
if storeInfo.OpenTime2 != 0 && storeInfo.CloseTime2 != 0 { if storeInfo.OpenTime2 != 0 && storeInfo.CloseTime2 != 0 {
timeStr = SplicingTimeToDoudian(storeInfo.OpenTime1, storeInfo.CloseTime1, storeInfo.OpenTime2, storeInfo.CloseTime2, true) timeStr = SplicingTimeToDoudian(storeInfo.OpenTime1, storeInfo.CloseTime1, storeInfo.OpenTime2, storeInfo.CloseTime2, true)
@@ -323,9 +290,9 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
vendorStoreID := &shop_getStoreDetail_request.ShopGetStoreDetailParam{ vendorStoreID := &shop_getStoreDetail_request.ShopGetStoreDetailParam{
StoreId: utils.Str2Int64(storeInfo.VendorStoreID), StoreId: utils.Str2Int64(storeInfo.VendorStoreID),
} }
api := getAPI(storeInfo.VendorOrgCode, storeID, utils.Int64ToStr(vendorStoreID.StoreId)) apiObj := getAPI(storeInfo.VendorOrgCode, storeID, utils.Int64ToStr(vendorStoreID.StoreId))
if globals.EnableDdStoreWrite { if globals.EnableDdStoreWrite {
remoteStoreInfo, err2 := api.GetStoreDetail(vendorStoreID) remoteStoreInfo, err2 := apiObj.GetStoreDetail(vendorStoreID)
if err2 != nil { if err2 != nil {
return err2 return err2
} }
@@ -360,45 +327,45 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
if storeInfo.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 { if storeInfo.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 {
errList.AddErr(UpdateStoreStatus(jxcontext.AdminCtx, storeInfo.VendorOrgCode, storeID, storeInfo.VendorStoreID, mergedStoreStatus)) errList.AddErr(UpdateStoreStatus(jxcontext.AdminCtx, storeInfo.VendorOrgCode, storeID, storeInfo.VendorStoreID, mergedStoreStatus))
} }
err3 := api.EditStore(params) err3 := apiObj.EditStore(params)
if err3 != nil { if err3 != nil {
errList.AddErr(err3) errList.AddErr(err3)
} }
//更新运费模板 //获取电子围栏
bindFreightIDs, err := GetStoreFreight(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID)) bindWarehouseAndFence, err := GetWarehouseByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID))
if err != nil { if err != nil {
globals.SugarLogger.Debug("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err) errList.AddErr(fmt.Errorf("获取门店(%d) 电子围栏失败:%v", utils.Str2Int64(storeInfo.VendorStoreID), err))
errList.AddErr(fmt.Errorf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err))
} }
if bindFreightIDs == 0 { if len(bindWarehouseAndFence) == 0 || (len(bindWarehouseAndFence) != 0 && len(bindWarehouseAndFence[utils.Str2Int64(storeInfo.VendorStoreID)][0].OutFenceIds) == 0) {
if freightTemplateID, err := CreateFreightTemplate(storeID); err != nil || freightTemplateID == 0 || utils.IsNil(freightTemplateID) { if fenceID, err := CreateFenceByStore(storeInfo.VendorOrgCode, int64(storeID)); err != nil || utils.Str2Int(fenceID) == 0 || utils.IsNil(fenceID) { //创建
globals.SugarLogger.Debug("创建运费模板失败:%v", err) globals.SugarLogger.Debug("门店(%d) 创建电子围栏失败:%v", storeID, err)
errList.AddErr(fmt.Errorf("创建运费模板失败:%v", err)) errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err))
} else { //绑定 } else { //绑定
if err = ShopBindStoreFreight(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID), freightTemplateID); err != nil { if err := BindFenceByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID), []string{utils.Int2Str(storeID)}); err != nil {
globals.SugarLogger.Debug("京西菜市门店:%d 平台门店:%d 绑定运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err) globals.SugarLogger.Debug("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)
errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 绑定运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err)) errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err))
} else { } else {
FreightTemplate.TemplateID = freightTemplateID FreightTemplate.FenceID = utils.Int2Str(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.Int2Str(storeID)
} }
} else { } else {
err = UpdateFreightTemplate(storeID) //更新电子围栏
if err != nil { outFenceID := bindWarehouseAndFence[utils.Str2Int64(storeInfo.VendorStoreID)][0].OutFenceIds[0]
return errors.New(fmt.Sprintf("更新运费模板失败,原因:%v", err)) 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))
err = UpdateFenceByStore(storeInfo.VendorOrgCode, storeID) } else {
if err != nil { if err = dao.CreateEntity(db, FreightTemplate); err != nil {
return errors.New(fmt.Sprintf("更新电子围栏失败,原因:%v,请先创建电子围栏", err)) 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.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))
} }
} }
} }
@@ -451,29 +418,18 @@ func CreateFreightTemplate(storeCode int) (int64, error) {
if err != nil { if err != nil {
return 0, err return 0, err
} }
if int64(storeDetail.DeliveryFeeDeductionSill) == 0 { Template := &freightTemplate_create_request.Template{
TemplateName: storeDetail.VendorStoreName + "_" + utils.Int2Str(storeCode) + "的运费模板",
ProductProvince: int64(storeDetail.ProvinceCode),
ProductCity: int64(storeDetail.CityCode),
CalculateType: 2, //计价方式-1.按重量 2.按数量
TransferType: 1,
RuleType: 1, //固定运费&卖家包邮
FixedAmount: 500, //固定运费 单位:分
}
param.Template = Template
if int64(storeDetail.DeliveryFeeDeductionSill) != 0 {
param = &freightTemplate_create_request.FreightTemplateCreateParam{ param = &freightTemplate_create_request.FreightTemplateCreateParam{
Template: &freightTemplate_create_request.Template{
TemplateName: storeDetail.VendorStoreName + "_" + utils.Int2Str(storeCode) + "的运费模板",
ProductProvince: int64(storeDetail.ProvinceCode),
ProductCity: int64(storeDetail.CityCode),
CalculateType: 2, //计价方式-1.按重量 2.按数量
TransferType: 1,
RuleType: 1, //固定运费
FixedAmount: 500, //固定运费 单位:分
},
}
} else {
param = &freightTemplate_create_request.FreightTemplateCreateParam{
Template: &freightTemplate_create_request.Template{
TemplateName: storeDetail.VendorStoreName + "_" + utils.Int2Str(storeCode) + "的运费模板",
ProductProvince: int64(storeDetail.ProvinceCode),
ProductCity: int64(storeDetail.CityCode),
CalculateType: 2, //计价方式-1.按重量 2.按数量
TransferType: 1,
RuleType: 1, //固定运费&卖家包邮
FixedAmount: 500, //固定运费 单位:分
},
Columns: []freightTemplate_create_request.ColumnsItem{ Columns: []freightTemplate_create_request.ColumnsItem{
{ {
RuleAddress: fmt.Sprintf(`{"%s":{"%s":{"%s":[0]}}}`, utils.Int2Str(storeDetail.ProvinceCode), utils.Int2Str(storeDetail.CityCode)[:2], utils.Int2Str(storeDetail.DistrictCode)[:2]), RuleAddress: fmt.Sprintf(`{"%s":{"%s":{"%s":[0]}}}`, utils.Int2Str(storeDetail.ProvinceCode), utils.Int2Str(storeDetail.CityCode)[:2], utils.Int2Str(storeDetail.DistrictCode)[:2]),
@@ -504,11 +460,12 @@ func CreateFreightTemplate(storeCode int) (int64, error) {
if err != nil { if err != nil {
return 0, err return 0, err
} }
return resp.TemplateId, nil return resp.TemplateId, nil
} }
// /freightTemplate/update 修改运费模板 // /freightTemplate/update 修改运费模板
func UpdateFreightTemplate(storeCode int) error { func UpdateFreightTemplate(vendorStoreCode string, storeCode int) error {
globals.SugarLogger.Debugf("进入UpdateFreightTemplate") globals.SugarLogger.Debugf("进入UpdateFreightTemplate")
var ( var (
columns []freightTemplate_update_request.ColumnsItem columns []freightTemplate_update_request.ColumnsItem
@@ -523,38 +480,39 @@ func UpdateFreightTemplate(storeCode int) error {
bindTemplate, err := GetStoreFreight(storeDetail.VendorOrgCode, utils.Str2Int64(storeDetail.VendorStoreID)) bindTemplate, err := GetStoreFreight(storeDetail.VendorOrgCode, utils.Str2Int64(storeDetail.VendorStoreID))
if err != nil || bindTemplate == 0 { if err != nil || bindTemplate == 0 {
return errors.New(fmt.Sprintf("获取门店绑定运费模板失败:%v请先创建运费模板", err)) return errors.New(fmt.Sprintf("获取门店绑定运费模板失败:%v请先创建运费模板", err))
} } else {
globals.SugarLogger.Debugf("storeDetail.DeliveryFeeDeductionSill===============%d", storeDetail.DeliveryFeeDeductionSill) globals.SugarLogger.Debugf("storeDetail.DeliveryFeeDeductionSill===============%d", storeDetail.DeliveryFeeDeductionSill)
Template := &freightTemplate_update_request.Template{ Template := &freightTemplate_update_request.Template{
Id: bindTemplate, Id: bindTemplate,
TemplateName: storeDetail.VendorStoreName + "_" + utils.Int2Str(storeCode) + "的运费模板", TemplateName: storeDetail.VendorStoreName + "_" + utils.Int2Str(storeCode) + "的运费模板",
ProductProvince: int64(storeDetail.ProvinceCode), ProductProvince: int64(storeDetail.ProvinceCode),
ProductCity: int64(storeDetail.CityCode), ProductCity: int64(storeDetail.CityCode),
CalculateType: 2, //计价方式-1.按重量 2.按数量 CalculateType: 2, //计价方式-1.按重量 2.按数量
TransferType: 1, TransferType: 1,
RuleType: 1, //固定运费 RuleType: 1, //固定运费
FixedAmount: 500, //固定运费 单位:分 FixedAmount: 500, //固定运费 单位:分
} }
if int64(storeDetail.DeliveryFeeDeductionSill) != 0 { if int64(storeDetail.DeliveryFeeDeductionSill) != 0 {
columns = []freightTemplate_update_request.ColumnsItem{ columns = []freightTemplate_update_request.ColumnsItem{
{ {
RuleAddress: fmt.Sprintf(`{"%s":{"%s":{"%s":[0]}}}`, utils.Int2Str(storeDetail.ProvinceCode), utils.Int2Str(storeDetail.CityCode)[:2], utils.Int2Str(storeDetail.DistrictCode)[:2]), RuleAddress: fmt.Sprintf(`{"%s":{"%s":{"%s":[0]}}}`, utils.Int2Str(storeDetail.ProvinceCode), utils.Int2Str(storeDetail.CityCode)[:2], utils.Int2Str(storeDetail.DistrictCode)[:2]),
IsOverFree: true, //是否包邮 IsOverFree: true, //是否包邮
IsDefault: 0, IsDefault: 0,
IsLimited: false, IsLimited: false,
OverAmount: int64(storeDetail.DeliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额 OverAmount: int64(storeDetail.DeliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额
}} }}
globals.SugarLogger.Debugf("columns[0].OverAmount===========%d", columns[0].OverAmount) globals.SugarLogger.Debugf("columns[0].OverAmount===========%d", columns[0].OverAmount)
} }
param = &freightTemplate_update_request.FreightTemplateUpdateParam{ param = &freightTemplate_update_request.FreightTemplateUpdateParam{
Template: Template, Template: Template,
Columns: columns, Columns: columns,
} }
globals.SugarLogger.Debugf("param.Template.TemplateName======%v,overAmount==================%d", param.Template.TemplateName, param.Columns[0].OverAmount) globals.SugarLogger.Debugf("param.Template.TemplateName======%v,overAmount==================%d", param.Template.TemplateName, param.Columns[0].OverAmount)
_, err = getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateUpdate(param) _, err = getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateUpdate(param)
if err != nil { if err != nil {
globals.SugarLogger.Debugf("err==================%v", err) globals.SugarLogger.Debugf("err==================%v", err)
return err return err
}
} }
return nil return nil
} }

View File

@@ -12,6 +12,7 @@ import (
warehouse_setFence_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_setFence/request" warehouse_setFence_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_setFence/request"
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/baseapi/utils/errlist"
"git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals"
@@ -163,7 +164,7 @@ func CreateFenceDirectly(param warehouse_createFence_request.WarehouseCreateFenc
} }
// 通过门店更新电子围栏 // 通过门店更新电子围栏
func UpdateFenceByStore(appOrgCode string, storeID int) error { func UpdateFenceByStore(appOrgCode, outFenceID string, storeID int) error {
var ( var (
db *dao.DaoDB db *dao.DaoDB
localStore *LocalStore localStore *LocalStore
@@ -183,7 +184,7 @@ func UpdateFenceByStore(appOrgCode string, storeID int) error {
if err := dao.GetRow(db, &localStore, sqlStr, sqlParam...); err == nil { if err := dao.GetRow(db, &localStore, sqlStr, sqlParam...); err == nil {
param := &warehouse_setFence_request.WarehouseSetFenceParam{ param := &warehouse_setFence_request.WarehouseSetFenceParam{
FenceInfo: &warehouse_setFence_request.FenceInfo{ FenceInfo: &warehouse_setFence_request.FenceInfo{
OutFenceId: utils.Int2Str(storeID), OutFenceId: outFenceID,
Shape: int32(localStore.DeliveryRangeType), Shape: int32(localStore.DeliveryRangeType),
}, },
} }
@@ -238,3 +239,45 @@ func GetFence(appOrgCode, outFenceID string) (warehouse_getFences_response.Fence
} }
return resp.Fences[0], nil return resp.Fences[0], nil
} }
//单独处理运费模板
func FreightSpecialTreat(vendorOrgCode string, vendorStoreID, storeID int64) error {
var (
errList = errlist.New()
FreightTemplate = &model.FreightTemplate{}
db *dao.DaoDB
)
//首先获取绑定信息
bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID)
if err != nil {
globals.SugarLogger.Debug("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err)
errList.AddErr(fmt.Errorf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err))
}
if bindFreightIDs == 0 { //1未查询到绑定信息不算错误
globals.SugarLogger.Debug("我在创建绑定运费模板这里=========================")
if freightTemplateID, err := CreateFreightTemplate(int(storeID)); err != nil || freightTemplateID == 0 || utils.IsNil(freightTemplateID) {
globals.SugarLogger.Debug("创建运费模板失败:%v", err)
errList.AddErr(fmt.Errorf("创建运费模板失败:%v", err))
} else { //绑定
if err = ShopBindStoreFreight(vendorOrgCode, 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 {
if err := UpdateFreightTemplate(vendorOrgCode, int(storeID)); err != nil {
globals.SugarLogger.Debug("更新运费模板失败:%v", err)
errList.AddErr(fmt.Errorf("更新运费模板失败:%v", err))
}
}
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))
} else {
_, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID")
errList.AddErr(fmt.Errorf("同步进数据库错误信息:%v", err1))
}
return err
}