1
This commit is contained in:
@@ -169,7 +169,8 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
|
||||
return fmt.Errorf("门店%d 未审核通过,请通过后再进行绑定", storeID)
|
||||
}
|
||||
//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 {
|
||||
errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 创建运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err))
|
||||
@@ -181,7 +182,7 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if err := UpdateFreightTemplate(int(storeID)); err != nil {
|
||||
if err := UpdateFreightTemplate(int(storeID), bindFreightIDs); err != nil {
|
||||
globals.SugarLogger.Debug("更新运费模板失败:", err)
|
||||
errList.AddErr(fmt.Errorf("更新运费模板失败:%v", err))
|
||||
}
|
||||
@@ -437,7 +438,7 @@ func UpdateStoreStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int
|
||||
return err
|
||||
}
|
||||
|
||||
//默认 运费模板只创建 固定运费模板
|
||||
// CreateFreightTemplate 默认 运费模板只创建 固定运费模板
|
||||
func CreateFreightTemplate(storeCode, deliveryFeeDeductionSill int) (int64, error) {
|
||||
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeCode, model.VendorIDDD, "")
|
||||
if err != nil {
|
||||
@@ -505,62 +506,58 @@ func CreateFreightTemplate(storeCode, deliveryFeeDeductionSill int) (int64, erro
|
||||
OverAmount: int64(deliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额
|
||||
}}
|
||||
} else {
|
||||
//param.Columns = nil
|
||||
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
|
||||
} else {
|
||||
return resp.TemplateId, nil
|
||||
}
|
||||
return resp.TemplateId, nil
|
||||
}
|
||||
|
||||
// /freightTemplate/update 修改运费模板
|
||||
func UpdateFreightTemplate(storeCode int) error {
|
||||
// UpdateFreightTemplate 修改运费模板
|
||||
func UpdateFreightTemplate(storeCode int, templateId int64) error {
|
||||
//获取本地门店信息
|
||||
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeCode, model.VendorIDDD, "")
|
||||
if err != nil {
|
||||
return errors.New(fmt.Sprintf("获取本地门店信息失败:%v", err))
|
||||
}
|
||||
|
||||
//获取绑定的运费模板信息
|
||||
bindTemplate, err := GetStoreFreight(storeDetail.VendorOrgCode, utils.Str2Int64(storeDetail.VendorStoreID))
|
||||
if err != nil || bindTemplate == 0 {
|
||||
return errors.New(fmt.Sprintf("获取门店绑定运费模板失败:%v,请先创建运费模板", err))
|
||||
param := &freightTemplate_update_request.FreightTemplateUpdateParam{
|
||||
Template: &freightTemplate_update_request.Template{
|
||||
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 {
|
||||
param := &freightTemplate_update_request.FreightTemplateUpdateParam{
|
||||
Template: &freightTemplate_update_request.Template{
|
||||
Id: bindTemplate,
|
||||
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 {
|
||||
param.Template.ProductCity = int64(storeDetail.CityCode)
|
||||
}
|
||||
if int64(storeDetail.DeliveryFeeDeductionSill) != 0 {
|
||||
param.Template.TemplateName += "满减包邮模板"
|
||||
columns := []freightTemplate_update_request.ColumnsItem{
|
||||
{
|
||||
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
|
||||
}
|
||||
param.Template.ProductCity = int64(storeDetail.CityCode)
|
||||
}
|
||||
if int64(storeDetail.DeliveryFeeDeductionSill) != 0 {
|
||||
param.Template.TemplateName += "满减包邮模板"
|
||||
columns := []freightTemplate_update_request.ColumnsItem{
|
||||
{
|
||||
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
|
||||
}
|
||||
|
||||
@@ -272,10 +272,12 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc
|
||||
bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID)
|
||||
if err != nil {
|
||||
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))
|
||||
} else { //绑定
|
||||
if err = ShopBindStoreFreight(vendorOrgCode, vendorStoreID, freightTemplateID); err != nil {
|
||||
@@ -285,15 +287,17 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if err := UpdateFreightTemplate(int(storeID)); err != nil {
|
||||
if err := UpdateFreightTemplate(int(storeID), bindFreightIDs); err != nil {
|
||||
globals.SugarLogger.Debug("更新运费模板失败:", err)
|
||||
errList.AddErr(fmt.Errorf("更新运费模板失败:%v", err))
|
||||
}
|
||||
}
|
||||
|
||||
//2.设置门店打包费 默认为0
|
||||
if err := SetStorePackageFee(vendorOrgCode, vendorStoreID, deliveryFeeDeductionFee); err != nil {
|
||||
errList.AddErr(fmt.Errorf("设置门店打包费失败:%v", err))
|
||||
}
|
||||
|
||||
//3.设置门店起送价 默认为0
|
||||
if bindSaleLimitID, err := GetStoreSaleLimit(vendorOrgCode, vendorStoreID); err != nil {
|
||||
globals.SugarLogger.Debugf("获取门店限售模板失败:%v", err)
|
||||
@@ -322,20 +326,13 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc
|
||||
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 {
|
||||
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()
|
||||
return endErr
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user