Merge branch 'jdshop' of e.coding.net:rosydev/jx-callback into jdshop

This commit is contained in:
邹宗楠
2022-11-07 11:52:01 +08:00
2 changed files with 48 additions and 38 deletions

View File

@@ -174,7 +174,7 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error
}
if len(bindWarehouseAndFence) == 0 || utils.IsNil(bindWarehouseAndFence) { //未绑定仓库以及电子围栏
//(1)创建仓库
warehouseID, err := CreateWarehouse(vendorOrgCode, utils.Int64ToStr(storeID))
warehouseID, err := CreateWarehouse(vendorOrgCode, storeID)
if err != nil || warehouseID == 0 || utils.IsNil(warehouseID) {
globals.SugarLogger.Debugf("门店(%d) 创建仓库失败:%v", storeID, err)
errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err))
@@ -332,7 +332,7 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
errList.AddErr(err3)
}
//获取电子围栏
bindWarehouseAndFence, err := GetWarehouseByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID))
bindWarehouseAndFence, err := GetWarehouseByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID)) //todo 此接口暂时有问题
if err != nil {
errList.AddErr(fmt.Errorf("获取门店(%d) 电子围栏失败:%v", utils.Str2Int64(storeInfo.VendorStoreID), err))
}
@@ -417,7 +417,7 @@ func CreateFreightTemplate(storeCode int) (int64, error) {
}
param := &freightTemplate_create_request.FreightTemplateCreateParam{
Template: &freightTemplate_create_request.Template{
TemplateName: storeDetail.Name + utils.Int2Str(storeCode),
TemplateName: storeDetail.VendorStoreName + "(" + utils.Int2Str(storeCode) + ")_",
ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
ProductCity: int64(storeDetail.CityCode),
CalculateType: 2, //计价方式-1.按重量 2.按数量
@@ -427,6 +427,7 @@ func CreateFreightTemplate(storeCode int) (int64, error) {
},
}
if int64(storeDetail.DeliveryFeeDeductionSill) != 0 {
param.Template.TemplateName += "满减包邮模板"
columns := []freightTemplate_create_request.ColumnsItem{
{
IsOverFree: true, //是否包邮
@@ -451,10 +452,11 @@ func CreateFreightTemplate(storeCode int) (int64, error) {
},
}}
param.Columns = columns
param.Template.TemplateName += storeDetail.Tel1 + "满减包邮模板"
} else {
param.Template.TemplateName += storeDetail.Tel1 + "固定运费模板"
param.Columns = nil
param.Template.TemplateName += "固定运费模板"
}
globals.SugarLogger.Debugf("param.Template.TemplateName===============%s", param.Template.TemplateName)
resp, err := getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateCreate(param)
if err != nil {
return 0, err
@@ -465,47 +467,43 @@ func CreateFreightTemplate(storeCode int) (int64, error) {
// /freightTemplate/update 修改运费模板
func UpdateFreightTemplate(storeCode int) error {
globals.SugarLogger.Debugf("进入UpdateFreightTemplate")
var (
columns []freightTemplate_update_request.ColumnsItem
//param *freightTemplate_update_request.FreightTemplateUpdateParam
)
//获取本地门店信息
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeCode, model.VendorIDDD, "")
if err != nil {
return errors.New(fmt.Sprintf("获取本地门店信息失败:%v", err))
}
globals.SugarLogger.Debugf("ProvinceCode= %sCityCode= %sDistrictCode= %s", utils.Int2Str(storeDetail.ProvinceCode), utils.Int2Str(storeDetail.CityCode)[:2], utils.Int2Str(storeDetail.DistrictCode)[:2])
globals.SugarLogger.Debugf("after ProvinceCode= %sCityCode= %sDistrictCode= %s", utils.Int2Str(storeDetail.ProvinceCode), utils.Int2Str(storeDetail.CityCode), utils.Int2Str(storeDetail.DistrictCode))
//获取绑定的运费模板信息
bindTemplate, err := GetStoreFreight(storeDetail.VendorOrgCode, utils.Str2Int64(storeDetail.VendorStoreID))
if err != nil || bindTemplate == 0 {
return errors.New(fmt.Sprintf("获取门店绑定运费模板失败:%v请先创建运费模板", err))
} else {
globals.SugarLogger.Debugf("storeDetail.DeliveryFeeDeductionSill===============%d", storeDetail.DeliveryFeeDeductionSill)
Template := &freightTemplate_update_request.Template{
Id: bindTemplate,
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 := &freightTemplate_update_request.FreightTemplateUpdateParam{
Template: &freightTemplate_update_request.Template{
Id: bindTemplate,
TemplateName: storeDetail.VendorStoreName + "(" + utils.Int2Str(storeCode) + ")_",
ProductProvince: int64(storeDetail.ProvinceCode),
ProductCity: int64(storeDetail.CityCode),
CalculateType: 2, //计价方式-1.按重量 2.按数量
TransferType: 1,
RuleType: 1, //固定运费
FixedAmount: 500, //固定运费 单位:分
},
}
if int64(storeDetail.DeliveryFeeDeductionSill) != 0 { //包邮规则不支持全量四级地址
columns = []freightTemplate_update_request.ColumnsItem{
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包邮金额
}}
globals.SugarLogger.Debugf("columns[0].OverAmount===========%d", columns[0].OverAmount)
}
param := &freightTemplate_update_request.FreightTemplateUpdateParam{
Template: Template,
Columns: columns,
param.Columns = columns
} else {
param.Columns = nil
param.Template.TemplateName += "固定运费模板"
}
globals.SugarLogger.Debugf("param.Template.TemplateName=============%s", param.Template.TemplateName)
_, err = getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateUpdate(param)
if err != nil {
globals.SugarLogger.Debugf("err==================%v", err)

View File

@@ -26,18 +26,30 @@ const (
)
// /warehouse/create 创建单个区域仓
func CreateWarehouse(appOrgCode, outWarehouseID string) (warehouseID int64, err error) {
tempName := "京西菜市(" + outWarehouseID + ") 的区域仓"
req := &warehouse_create_request.WarehouseCreateParam{
OutWarehouseId: outWarehouseID,
Name: tempName,
Intro: "",
}
resp, err := getAPI(appOrgCode, 0, "").CreateWarehouse(req)
func CreateWarehouse(appOrgCode string, storeID int64) (warehouseID int64, err error) {
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), int(storeID), 0, "")
if err != nil {
return 0, err
return 0, fmt.Errorf("获取门店本地信息失败:%v", err)
}
return resp.Data, err
param := &warehouse_create_request.WarehouseCreateParam{
OutWarehouseId: utils.Int64ToStr(storeID), //本地storeID绑定
Name: "京西菜市_" + storeDetail.Name + "_" + utils.Int64ToStr(storeID) + "_区域仓",
Intro: "",
Warehouse: &warehouse_create_request.Warehouse{
WarehouseLocation: &warehouse_create_request.WarehouseLocation{
AddressId1: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
AddressId2: int64(storeDetail.CityCode),
AddressId3: int64(storeDetail.DistrictCode),
AddressId4: 0,
},
AddressDetail: storeDetail.Address,
},
}
resp, err := getAPI(appOrgCode, 0, "").CreateWarehouse(param)
if err != nil {
return 0, fmt.Errorf("创建单个区域仓失败:%v", err)
}
return resp.Data, nil
}
// /warehouse/createBatch 批量创建区域仓