1
This commit is contained in:
@@ -169,7 +169,8 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
|
|||||||
return fmt.Errorf("门店%d 未审核通过,请通过后再进行绑定", storeID)
|
return fmt.Errorf("门店%d 未审核通过,请通过后再进行绑定", storeID)
|
||||||
}
|
}
|
||||||
//1.运费模板
|
//1.运费模板
|
||||||
if bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID); err != nil || bindFreightIDs == 0 { //(1)未查询到绑定信息,不算错误
|
bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID)
|
||||||
|
if err != nil || bindFreightIDs == 0 { //(1)未查询到绑定信息,不算错误
|
||||||
//创建
|
//创建
|
||||||
if freightTemplateID, err := CreateFreightTemplate(int(storeID), int(deliveryFeeDeductionSill)); err != nil || freightTemplateID == 0 {
|
if freightTemplateID, err := CreateFreightTemplate(int(storeID), int(deliveryFeeDeductionSill)); err != nil || freightTemplateID == 0 {
|
||||||
errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 创建运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err))
|
errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 创建运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err))
|
||||||
@@ -181,7 +182,7 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if err := UpdateFreightTemplate(int(storeID)); err != nil {
|
if err := UpdateFreightTemplate(int(storeID), bindFreightIDs); err != nil {
|
||||||
globals.SugarLogger.Debug("更新运费模板失败:", err)
|
globals.SugarLogger.Debug("更新运费模板失败:", err)
|
||||||
errList.AddErr(fmt.Errorf("更新运费模板失败:%v", err))
|
errList.AddErr(fmt.Errorf("更新运费模板失败:%v", err))
|
||||||
}
|
}
|
||||||
@@ -437,7 +438,7 @@ func UpdateStoreStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
//默认 运费模板只创建 固定运费模板
|
// CreateFreightTemplate 默认 运费模板只创建 固定运费模板
|
||||||
func CreateFreightTemplate(storeCode, deliveryFeeDeductionSill int) (int64, error) {
|
func CreateFreightTemplate(storeCode, deliveryFeeDeductionSill int) (int64, error) {
|
||||||
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeCode, model.VendorIDDD, "")
|
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeCode, model.VendorIDDD, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -505,62 +506,58 @@ func CreateFreightTemplate(storeCode, deliveryFeeDeductionSill int) (int64, erro
|
|||||||
OverAmount: int64(deliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额
|
OverAmount: int64(deliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额
|
||||||
}}
|
}}
|
||||||
} else {
|
} else {
|
||||||
//param.Columns = nil
|
|
||||||
param.Template.TemplateName += "固定运费模板"
|
param.Template.TemplateName += "固定运费模板"
|
||||||
}
|
}
|
||||||
if resp, err := getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateCreate(param); err != nil {
|
|
||||||
|
resp, err := getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateCreate(param)
|
||||||
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
} else {
|
|
||||||
return resp.TemplateId, nil
|
|
||||||
}
|
}
|
||||||
|
return resp.TemplateId, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// /freightTemplate/update 修改运费模板
|
// UpdateFreightTemplate 修改运费模板
|
||||||
func UpdateFreightTemplate(storeCode int) error {
|
func UpdateFreightTemplate(storeCode int, templateId int64) error {
|
||||||
//获取本地门店信息
|
//获取本地门店信息
|
||||||
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeCode, model.VendorIDDD, "")
|
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeCode, model.VendorIDDD, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.New(fmt.Sprintf("获取本地门店信息失败:%v", err))
|
return errors.New(fmt.Sprintf("获取本地门店信息失败:%v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取绑定的运费模板信息
|
//获取绑定的运费模板信息
|
||||||
bindTemplate, err := GetStoreFreight(storeDetail.VendorOrgCode, utils.Str2Int64(storeDetail.VendorStoreID))
|
param := &freightTemplate_update_request.FreightTemplateUpdateParam{
|
||||||
if err != nil || bindTemplate == 0 {
|
Template: &freightTemplate_update_request.Template{
|
||||||
return errors.New(fmt.Sprintf("获取门店绑定运费模板失败:%v,请先创建运费模板", err))
|
Id: templateId,
|
||||||
|
TemplateName: utils.Int2Str(storeCode) + "的",
|
||||||
|
ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
|
||||||
|
CalculateType: tiktok_api.CalculateTypeNum,
|
||||||
|
TransferType: tiktok_api.TransferTypeExpress,
|
||||||
|
RuleType: tiktok_api.RuleTypeFlatShipping,
|
||||||
|
FixedAmount: 500, //固定运费 单位:分
|
||||||
|
},
|
||||||
|
}
|
||||||
|
if storeDetail.CityName == tiktok_api.MunicipalityBeiJin || storeDetail.CityName == tiktok_api.MunicipalityShangHai || storeDetail.CityName == tiktok_api.MunicipalityTianJin || storeDetail.CityName == tiktok_api.MunicipalityChongQing {
|
||||||
|
param.Template.ProductCity = int64(storeDetail.ProvinceCode)
|
||||||
} else {
|
} else {
|
||||||
param := &freightTemplate_update_request.FreightTemplateUpdateParam{
|
param.Template.ProductCity = int64(storeDetail.CityCode)
|
||||||
Template: &freightTemplate_update_request.Template{
|
}
|
||||||
Id: bindTemplate,
|
if int64(storeDetail.DeliveryFeeDeductionSill) != 0 {
|
||||||
TemplateName: utils.Int2Str(storeCode) + "的",
|
param.Template.TemplateName += "满减包邮模板"
|
||||||
ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
|
columns := []freightTemplate_update_request.ColumnsItem{
|
||||||
CalculateType: tiktok_api.CalculateTypeNum,
|
{
|
||||||
TransferType: tiktok_api.TransferTypeExpress,
|
IsOverFree: true, //是否包邮
|
||||||
RuleType: tiktok_api.RuleTypeFlatShipping,
|
IsDefault: 0,
|
||||||
FixedAmount: 500, //固定运费 单位:分
|
IsLimited: false,
|
||||||
},
|
OverAmount: int64(storeDetail.DeliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额
|
||||||
}
|
}}
|
||||||
if storeDetail.CityName == tiktok_api.MunicipalityBeiJin || storeDetail.CityName == tiktok_api.MunicipalityShangHai || storeDetail.CityName == tiktok_api.MunicipalityTianJin || storeDetail.CityName == tiktok_api.MunicipalityChongQing {
|
param.Columns = columns
|
||||||
param.Template.ProductCity = int64(storeDetail.ProvinceCode)
|
} else {
|
||||||
} else {
|
param.Columns = nil
|
||||||
param.Template.ProductCity = int64(storeDetail.CityCode)
|
param.Template.TemplateName += "固定运费模板"
|
||||||
}
|
}
|
||||||
if int64(storeDetail.DeliveryFeeDeductionSill) != 0 {
|
_, err = getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateUpdate(param)
|
||||||
param.Template.TemplateName += "满减包邮模板"
|
if err != nil {
|
||||||
columns := []freightTemplate_update_request.ColumnsItem{
|
return err
|
||||||
{
|
|
||||||
IsOverFree: true, //是否包邮
|
|
||||||
IsDefault: 0,
|
|
||||||
IsLimited: false,
|
|
||||||
OverAmount: int64(storeDetail.DeliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额
|
|
||||||
}}
|
|
||||||
param.Columns = columns
|
|
||||||
} else {
|
|
||||||
param.Columns = nil
|
|
||||||
param.Template.TemplateName += "固定运费模板"
|
|
||||||
}
|
|
||||||
_, err = getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateUpdate(param)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -272,10 +272,12 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc
|
|||||||
bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID)
|
bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
globals.SugarLogger.Debug("获取门店(%d) 绑定运费模板出错:", vendorStoreID, err)
|
globals.SugarLogger.Debug("获取门店(%d) 绑定运费模板出错:", vendorStoreID, err)
|
||||||
//errList.AddErr(fmt.Errorf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err))
|
|
||||||
}
|
}
|
||||||
if bindFreightIDs == 0 { //(1)未查询到绑定信息,不算错误
|
|
||||||
if freightTemplateID, err := CreateFreightTemplate(int(storeID), int(deliveryFeeDeductionSill)); err != nil || freightTemplateID == 0 {
|
//(1)未查询到绑定信息,不算错误
|
||||||
|
if bindFreightIDs == 0 {
|
||||||
|
freightTemplateID, err := CreateFreightTemplate(int(storeID), int(deliveryFeeDeductionSill))
|
||||||
|
if err != nil || freightTemplateID == 0 {
|
||||||
errList.AddErr(fmt.Errorf("创建运费模板失败:%v", err))
|
errList.AddErr(fmt.Errorf("创建运费模板失败:%v", err))
|
||||||
} else { //绑定
|
} else { //绑定
|
||||||
if err = ShopBindStoreFreight(vendorOrgCode, vendorStoreID, freightTemplateID); err != nil {
|
if err = ShopBindStoreFreight(vendorOrgCode, vendorStoreID, freightTemplateID); err != nil {
|
||||||
@@ -285,15 +287,17 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if err := UpdateFreightTemplate(int(storeID)); err != nil {
|
if err := UpdateFreightTemplate(int(storeID), bindFreightIDs); err != nil {
|
||||||
globals.SugarLogger.Debug("更新运费模板失败:", err)
|
globals.SugarLogger.Debug("更新运费模板失败:", err)
|
||||||
errList.AddErr(fmt.Errorf("更新运费模板失败:%v", err))
|
errList.AddErr(fmt.Errorf("更新运费模板失败:%v", err))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//2.设置门店打包费 默认为0
|
//2.设置门店打包费 默认为0
|
||||||
if err := SetStorePackageFee(vendorOrgCode, vendorStoreID, deliveryFeeDeductionFee); err != nil {
|
if err := SetStorePackageFee(vendorOrgCode, vendorStoreID, deliveryFeeDeductionFee); err != nil {
|
||||||
errList.AddErr(fmt.Errorf("设置门店打包费失败:%v", err))
|
errList.AddErr(fmt.Errorf("设置门店打包费失败:%v", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
//3.设置门店起送价 默认为0
|
//3.设置门店起送价 默认为0
|
||||||
if bindSaleLimitID, err := GetStoreSaleLimit(vendorOrgCode, vendorStoreID); err != nil {
|
if bindSaleLimitID, err := GetStoreSaleLimit(vendorOrgCode, vendorStoreID); err != nil {
|
||||||
globals.SugarLogger.Debugf("获取门店限售模板失败:%v", err)
|
globals.SugarLogger.Debugf("获取门店限售模板失败:%v", err)
|
||||||
@@ -322,20 +326,13 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc
|
|||||||
errList.AddErr(fmt.Errorf("关闭门店自动运力失败:%v", err))
|
errList.AddErr(fmt.Errorf("关闭门店自动运力失败:%v", err))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//多次同步数据库,兜底处理
|
//多次同步数据库,兜底处理
|
||||||
if err := dao.ReplaceInsertFreight(FreightTemplate); err != nil {
|
if err = dao.ReplaceInsertFreight(FreightTemplate); err != nil {
|
||||||
if err1 := dao.InsertItemFreight(FreightTemplate); err1 != nil {
|
if err1 := dao.InsertItemFreight(FreightTemplate); err1 != nil {
|
||||||
globals.SugarLogger.Debug("同步数据库错误信息:%v", err1)
|
globals.SugarLogger.Debug("同步数据库错误信息:%v", err1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//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)
|
|
||||||
// } else {
|
|
||||||
// globals.SugarLogger.Debugf("更新起送价限售模板,创建进数据库错误信息:%v", err)
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
endErr := errList.GetErrListAsOne()
|
endErr := errList.GetErrListAsOne()
|
||||||
return endErr
|
return endErr
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user