fence
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user