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

This commit is contained in:
邹宗楠
2022-11-24 15:02:20 +08:00
5 changed files with 240 additions and 228 deletions

View File

@@ -6059,3 +6059,28 @@ func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error
}
return "", nil
}
//批量创建包邮运费模板
func BatchCreateFreeShipTemplate(relInfo map[string][]tiktok_store.RelInfo, shipFee int64) (string, error) {
errList := errlist.New()
for k, v := range relInfo {
for _, i := range v {
if bindFreightID, err := tiktok_store.GetStoreFreight(k, utils.Str2Int64(i.VendorStoreID)); err != nil || bindFreightID == 0 || utils.IsNil(bindFreightID) {
if err := tiktok_store.CreateBindFreeShipTemplate(utils.Str2Int(i.StoreID), shipFee); err != nil {
errList.AddErr(err)
}
} else {
globals.SugarLogger.Debugf("进入更新包邮模板操作")
if err := tiktok_store.ShopBindStoreFreight(k, utils.Str2Int64(i.VendorStoreID), bindFreightID); err == nil {
if err := tiktok_store.UpdateFreeShipTemplate(utils.Str2Int(i.StoreID), shipFee); err != nil {
errList.AddErr(err)
}
}
}
}
}
if errList.GetErrListAsOne() != nil {
return fmt.Sprintf("%v", errList.GetErrListAsOne()), nil
}
return "", nil
}

View File

@@ -3,9 +3,6 @@ package tiktok_store
import (
"errors"
"fmt"
address_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_create/request"
address_list_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_list/request"
address_list_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_list/response"
freightTemplate_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request"
freightTemplate_update_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_update/request"
shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request"
@@ -160,12 +157,7 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
db *dao.DaoDB
)
//1.平台获取门店运费模板
bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID)
if err != nil {
globals.SugarLogger.Debugf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err)
errList.AddErr(fmt.Errorf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err))
}
if bindFreightIDs == 0 { //1未查询到绑定信息不算错误
if bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID); err != nil || bindFreightIDs == 0 { //1未查询到绑定信息不算错误
//创建
if freightTemplateID, err := CreateFreightTemplate(int(storeID)); err != nil || freightTemplateID == 0 || utils.IsNil(freightTemplateID) {
globals.SugarLogger.Debugf("京西菜市门店:%d 平台门店:%d 创建运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err)
@@ -233,12 +225,7 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
}
//3.平台获取限售模板
bindSaleLimitID, err := GetStoreSaleLimit(vendorOrgCode, vendorStoreID)
if err != nil {
globals.SugarLogger.Debugf("获取门店(%d) 限售模板失败:%v", vendorStoreID, err)
errList.AddErr(fmt.Errorf("获取门店(%d) 限售模板失败:%v", vendorStoreID, err))
}
if bindSaleLimitID == 0 || utils.IsNil(bindSaleLimitID) { //未绑定限售模板,目前默认创建起送价限售模板
if bindSaleLimitID, err := GetStoreSaleLimit(vendorOrgCode, vendorStoreID); err != nil || bindSaleLimitID == 0 || utils.IsNil(bindSaleLimitID) { //未绑定限售模板,目前默认创建起送价限售模板
if createSaleLimitID, err := CreateAndBindMinPriceTemplate(vendorOrgCode, vendorStoreID, minPrice); err != nil {
errList.AddErr(fmt.Errorf("设置门店起送价限售模板失败:%v", err))
} else {
@@ -451,8 +438,7 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
if storeInfo.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 {
errList.AddErr(UpdateStoreStatus(jxcontext.AdminCtx, storeInfo.VendorOrgCode, storeID, storeInfo.VendorStoreID, mergedStoreStatus))
}
err3 := apiObj.EditStore(params)
if err3 != nil {
if err3 := apiObj.EditStore(params); err3 != nil {
errList.AddErr(fmt.Errorf("修改门店(%d) 信息失败:%v", utils.Str2Int64(storeInfo.VendorStoreID), err3))
}
//电子围栏
@@ -547,20 +533,12 @@ func CreateFreightTemplate(storeCode int) (int64, error) {
Template: &freightTemplate_create_request.Template{
TemplateName: storeDetail.VendorStoreName + "(" + utils.Int2Str(storeCode) + ")_",
ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
CalculateType: 2, //计价方式-1.按重量 2.按数量
TransferType: 1,
RuleType: 1, //固定运费&卖家包邮
CalculateType: tiktok_api.CalculateTypeNum,
TransferType: tiktok_api.TransferTypeExpress,
RuleType: tiktok_api.RuleTypeFlatShipping,
FixedAmount: 500, //固定运费 单位:分
},
}
//直辖市特殊处理
flag := false
if storeDetail.CityName == tiktok_api.MunicipalityBeiJin || storeDetail.CityName == tiktok_api.MunicipalityShangHai || storeDetail.CityName == tiktok_api.MunicipalityTianJin || storeDetail.CityName == tiktok_api.MunicipalityChongQing {
flag = true
param.Template.ProductCity = int64(storeDetail.ProvinceCode)
} else {
param.Template.ProductCity = int64(storeDetail.CityCode)
}
if int64(storeDetail.DeliveryFeeDeductionSill) != 0 {
param.Template.TemplateName += "满减包邮模板"
columns := []freightTemplate_create_request.ColumnsItem{
@@ -570,53 +548,55 @@ func CreateFreightTemplate(storeCode int) (int64, error) {
OverAmount: int64(storeDetail.DeliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额
}}
param.Columns = columns
if flag {
param.Columns[0].ProvinceInfos = []freightTemplate_create_request.ProvinceInfosItem{
{
Id: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
Children: []freightTemplate_create_request.ChildrenItem_4{
{
Id: int64(storeDetail.ProvinceCode),
Children: []freightTemplate_create_request.ChildrenItem_5{
{
Id: int64(storeDetail.DistrictCode),
Children: []freightTemplate_create_request.ChildrenItem{
{Id: 0},
},
},
},
},
}},
}
} else {
param.Columns[0].ProvinceInfos = []freightTemplate_create_request.ProvinceInfosItem{
{
Id: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
Children: []freightTemplate_create_request.ChildrenItem_4{
{
Id: int64(storeDetail.CityCode),
Children: []freightTemplate_create_request.ChildrenItem_5{
{
Id: int64(storeDetail.DistrictCode),
Children: []freightTemplate_create_request.ChildrenItem{
{Id: 0},
},
},
},
},
}},
}
}
} else {
param.Columns = nil
param.Template.TemplateName += "固定运费模板"
}
globals.SugarLogger.Debugf(" param.Template.ProductCity==%d,param.Template.ProductProvince==%d", param.Template.ProductCity, param.Template.ProductProvince)
resp, err := getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateCreate(param)
if err != nil {
return 0, err
//直辖市特殊处理
if HandleMunicipality(storeDetail.CityName) {
param.Template.ProductCity = int64(storeDetail.ProvinceCode)
param.Columns[0].ProvinceInfos = []freightTemplate_create_request.ProvinceInfosItem{
{
Id: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
Children: []freightTemplate_create_request.ChildrenItem_4{
{
Id: int64(storeDetail.ProvinceCode),
Children: []freightTemplate_create_request.ChildrenItem_5{
{
Id: int64(storeDetail.DistrictCode),
Children: []freightTemplate_create_request.ChildrenItem{
{Id: 0},
},
},
},
},
}},
}
} else {
param.Template.ProductCity = int64(storeDetail.CityCode)
param.Columns[0].ProvinceInfos = []freightTemplate_create_request.ProvinceInfosItem{
{
Id: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
Children: []freightTemplate_create_request.ChildrenItem_4{
{
Id: int64(storeDetail.CityCode),
Children: []freightTemplate_create_request.ChildrenItem_5{
{
Id: int64(storeDetail.DistrictCode),
Children: []freightTemplate_create_request.ChildrenItem{
{Id: 0},
},
},
},
},
}},
}
}
if resp, err := getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateCreate(param); err != nil {
return 0, err
} else {
return resp.TemplateId, nil
}
return resp.TemplateId, nil
}
// /freightTemplate/update 修改运费模板
@@ -637,9 +617,9 @@ func UpdateFreightTemplate(storeCode int) error {
Id: bindTemplate,
TemplateName: storeDetail.VendorStoreName + "(" + utils.Int2Str(storeCode) + ")_",
ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
CalculateType: 2, //计价方式-1.按重量 2.按数量
TransferType: 1,
RuleType: 1, //固定运费
CalculateType: tiktok_api.CalculateTypeNum,
TransferType: tiktok_api.TransferTypeExpress,
RuleType: tiktok_api.RuleTypeFlatShipping,
FixedAmount: 500, //固定运费 单位:分
},
}
@@ -670,119 +650,103 @@ func UpdateFreightTemplate(storeCode int) error {
return nil
}
// /freightTemplate/create 批量创建 满x包邮 运费模板
//func (P *PurchaseHandler) BatchCreateFreightTemplate(relInfo map[string]map[string]string, shipFee int64) error {
// var (
// errList = errlist.New()
// flag = make(map[string]bool)
// )
// for i, j := range relInfo {
// for k, v := range j {
// if bindFreightID, err := getAPI(i, utils.Str2Int(k), v).GetStoreFreight(utils.Str2Int64(v)); err != nil || len(bindFreightID) == 0 {
// flag[v] = false
// }
// flag[v] = true
// }
// }
// storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDDD, "")
// if err != nil {
// return errors.New("获取门店信息失败,请重试")
// }
// //预处理(1)更新 (2)创建
// param := &freightTemplate_create_request.FreightTemplateCreateParam{
// Template: &freightTemplate_create_request.Template{
// TemplateName: storeDetail.VendorStoreName + "(" + utils.Int2Str(storeID) + ")_",
// ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
// CalculateType: 2, //计价方式-1.按重量 2.按数量
// TransferType: 1,
// RuleType: 1, //固定运费&卖家包邮
// FixedAmount: 500, //固定运费 单位:分
// },
// }
// //直辖市特殊处理
// flag := false
// if storeDetail.CityName == tiktok_api.MunicipalityBeiJin || storeDetail.CityName == tiktok_api.MunicipalityShangHai || storeDetail.CityName == tiktok_api.MunicipalityTianJin || storeDetail.CityName == tiktok_api.MunicipalityChongQing {
// flag = true
// param.Template.ProductCity = int64(storeDetail.ProvinceCode)
// } else {
// param.Template.ProductCity = int64(storeDetail.CityCode)
// }
// if int64(storeDetail.DeliveryFeeDeductionSill) != 0 {
// param.Template.TemplateName += "满减包邮模板"
// columns := []freightTemplate_create_request.ColumnsItem{
// {
// IsOverFree: true, //是否包邮
// IsLimited: false,
// OverAmount: int64(storeDetail.DeliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额
// }}
// param.Columns = columns
// if flag {
// param.Columns[0].ProvinceInfos = []freightTemplate_create_request.ProvinceInfosItem{
// {
// Id: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
// Children: []freightTemplate_create_request.ChildrenItem_4{
// {
// Id: int64(storeDetail.ProvinceCode),
// Children: []freightTemplate_create_request.ChildrenItem_5{
// {
// Id: int64(storeDetail.DistrictCode),
// Children: []freightTemplate_create_request.ChildrenItem{
// {Id: 0},
// },
// },
// },
// },
// }},
// }
// } else {
// param.Columns[0].ProvinceInfos = []freightTemplate_create_request.ProvinceInfosItem{
// {
// Id: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
// Children: []freightTemplate_create_request.ChildrenItem_4{
// {
// Id: int64(storeDetail.CityCode),
// Children: []freightTemplate_create_request.ChildrenItem_5{
// {
// Id: int64(storeDetail.DistrictCode),
// Children: []freightTemplate_create_request.ChildrenItem{
// {Id: 0},
// },
// },
// },
// },
// }},
// }
// }
// } else {
// param.Columns = nil
// param.Template.TemplateName += "固定运费模板"
// }
// globals.SugarLogger.Debugf(" param.Template.ProductCity==%d,param.Template.ProductProvince==%d", param.Template.ProductCity, param.Template.ProductProvince)
// resp, err := getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateCreate(param)
// if err != nil {
// return 0, err
// }
// return resp.TemplateId, nil
//
// bindInfo := &shop_bindStoreFreight_request.ShopBindStoreFreightParam{
// StoreId: vendorStoreID,
// FreightId: resp.TemplateId,
// }
// err = api.BindFreightTemplate(bindInfo)
// if err != nil {
// return err
// }
// //并写入数据库
// freightInfo := model.FreightTemplate{
// StoreID: int(storeID),
// VendorStoreID: utils.Int64ToStr(vendorStoreID),
// TemplateID: resp.TemplateId,
// }
// if err = dao.CreateEntity(db, freightInfo); err != nil {
// return err
// }
// return nil
//}
// /freightTemplate/create 批量创建绑定 满x包邮 运费模板
func CreateBindFreeShipTemplate(storeID int, shipFee int64) error {
var (
db = dao.GetDB()
errList = errlist.New()
FreightTemplate = &model.FreightTemplate{}
)
if shipFee == 0 {
return errors.New("包邮金额必传,请检查")
}
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDDD, "")
if err != nil {
return errors.New("创建包邮运费模板,获取门店信息失败,请重试")
}
param := &freightTemplate_create_request.FreightTemplateCreateParam{
Template: &freightTemplate_create_request.Template{
TemplateName: storeDetail.VendorStoreName + "(" + utils.Int2Str(storeID) + ")_的满" + utils.Int64ToStr(shipFee) + "包邮模板",
ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
CalculateType: tiktok_api.CalculateTypeNum,
TransferType: tiktok_api.TransferTypeExpress,
RuleType: tiktok_api.RuleTypeFlatShipping,
FixedAmount: 500, //固定运费 单位:分
},
Columns: []freightTemplate_create_request.ColumnsItem{
{
IsOverFree: true,
IsLimited: false,
OverAmount: shipFee,
}},
}
//直辖市特殊处理
if HandleMunicipality(storeDetail.CityName) {
param.Template.ProductCity = int64(storeDetail.ProvinceCode)
} else {
param.Template.ProductCity = int64(storeDetail.CityCode)
}
if resp, err := getAPI(storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID).FreightTemplateCreate(param); err != nil {
return errors.New(fmt.Sprintf("平台门店(%s) 京西门店(%d) 创建包邮模板失败:%v,根据提示处理", storeDetail.VendorStoreID, storeID, err))
} else {
if err := ShopBindStoreFreight(storeDetail.VendorOrgCode, utils.Str2Int64(storeDetail.VendorStoreID), resp.TemplateId); err != nil {
return errors.New(fmt.Sprintf("平台门店(%s) 京西门店(%d) 绑定包邮模板失败:%v,根据提示处理", storeDetail.VendorStoreID, storeID, err))
} else {
if err := dao.CreateEntity(db, FreightTemplate); err != nil {
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID"); err1 != nil {
errList.AddErr(fmt.Errorf("包邮模板:更新操作,同步进数据库错误信息:%v", err1))
} else {
errList.AddErr(fmt.Errorf("包邮模板:创建操作,同步进数据库错误信息:%v", err))
}
}
}
}
if errList.GetErrListAsOne() != nil {
return errList.GetErrListAsOne()
}
return nil
}
//更新 包邮运费模板
func UpdateFreeShipTemplate(storeID int, shipFee int64) error {
if shipFee == 0 {
return errors.New("包邮金额必传,请检查")
}
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDDD, "")
if err != nil {
return errors.New("更新包邮运费模板,获取门店信息失败,请重试")
}
a := getAPI(storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID)
//获取远程运费模板详情
if bindFreightID, err := a.GetStoreFreight(utils.Str2Int64(storeDetail.VendorStoreID)); err != nil || len(bindFreightID) == 0 || utils.IsNil(bindFreightID) {
//return errors.New("门店未绑定运费模板,")
} else {
if freightDetail, err := a.GetStoreFreightDetail(bindFreightID[0]); err != nil {
param := &freightTemplate_update_request.FreightTemplateUpdateParam{
Template: &freightTemplate_update_request.Template{
Id: bindFreightID[0],
TemplateName: freightDetail.Template.TemplateName,
ProductProvince: utils.Str2Int64(freightDetail.Template.ProductProvince),
ProductCity: utils.Str2Int64(freightDetail.Template.ProductCity),
CalculateType: tiktok_api.CalculateTypeNum,
TransferType: tiktok_api.TransferTypeExpress,
RuleType: tiktok_api.RuleTypeFlatShipping,
FixedAmount: 500,
},
Columns: []freightTemplate_update_request.ColumnsItem{
{
IsOverFree: true,
IsLimited: false,
OverAmount: shipFee,
}},
}
if _, err := a.FreightTemplateUpdate(param); err != nil {
return errors.New("更新包邮运费模板失败")
}
}
}
return nil
}
// /shop/bindStoreFreight 门店绑定运费模版
//门店绑定运费模版,运费模版必须属于门店关联的抖店,且门店与运费模版是一对一关系
@@ -805,38 +769,6 @@ func GetStoreFreight(vendorOrgCode string, storeID int64) (int64, error) {
}
}
// /address/create 创建店铺地址库(新建即绑定)
func (P *PurchaseHandler) CreateAddress(appOrgCode string, addressInfo address_create_request.AddressCreateParam) (addressID int64, err error) {
if resp, err := getAPI(appOrgCode, 0, utils.Int64ToStr(addressInfo.StoreId)).AddressCreate(&address_create_request.AddressCreateParam{
Address: addressInfo.Address,
StoreId: addressInfo.StoreId,
}); err != nil {
return 0, err
} else {
return resp.AddressId, nil
}
}
// /address/list 获取售后地址列表接口
//分页获取商家地址列表
func (P *PurchaseHandler) GetAddressList(appOrgCode string, param *address_list_request.AddressListParam) (*address_list_response.AddressListData, error) {
//不传入ID则是获取所有门店售后地址列表
info := &address_list_request.AddressListParam{
PageSize: 10,
PageNo: 1,
OrderBy: param.OrderBy,
OrderField: param.OrderField,
}
if param.StoreId != 0 {
info.StoreId = param.StoreId
}
if listInfo, err := getAPI(appOrgCode, 0, utils.Int64ToStr(info.StoreId)).GetAddressList(info); err != nil {
return nil, err
} else {
return listInfo, nil
}
}
// /trade/createTradeLimitTemplate 创建限售模板 默认模板 暂时不使用
func CreateTradeLimitTemplate(appOrgCode string, vendorStoreID int64) (tradeLimitID int64, err error) {
param := &trade_createTradeLimitTemplate_request.TradeCreateTradeLimitTemplateParam{
@@ -861,7 +793,7 @@ func CreateTradeLimitTemplate(appOrgCode string, vendorStoreID int64) (tradeLimi
return resp.TradeLimitId, nil
}
//创建起送价的 运费模板以及绑定
//创建起送价的 限售模板以及绑定
func CreateAndBindMinPriceTemplate(vendorOrgCode string, vendorStoreID, minimum int64) (int64, error) {
resp, err := getAPI(vendorOrgCode, 0, "").CreateTradeLimitTemplate(&trade_createTradeLimitTemplate_request.TradeCreateTradeLimitTemplateParam{
StoreId: vendorStoreID,
@@ -1104,17 +1036,23 @@ type RelInfo struct {
VendorStoreID string `json:"vendorStoreID"`
}
func ToMap(actual interface{}) (map[string]string, error) {
func ToStringSlice(actual interface{}) ([]string, error) {
var res []string
value := reflect.ValueOf(actual)
globals.SugarLogger.Debugf("value.Kind()=========%s", value.Kind())
if value.Kind() != reflect.Map {
if value.Kind() != reflect.Slice || value.Kind() != reflect.Array {
return nil, errors.New("parse error")
}
temp := actual.(map[string]string)
globals.SugarLogger.Debugf("toMap temp===============%v", temp)
for i := 0; i < value.Len(); i++ {
res = append(res, value.Index(i).Interface().(string))
}
return temp, nil
return res, nil
}
//直辖市判断
func HandleMunicipality(cityName string) bool {
if cityName == tiktok_api.MunicipalityBeiJin || cityName == tiktok_api.MunicipalityShangHai || cityName == tiktok_api.MunicipalityTianJin || cityName == tiktok_api.MunicipalityChongQing {
return true
}
return false
}

View File

@@ -2,6 +2,9 @@ package tiktok_store
import (
"fmt"
address_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_create/request"
address_list_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_list/request"
address_list_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_list/response"
warehouse_bindFencesByStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFencesByStore/request"
warehouse_bindStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindStore/request"
warehouse_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_create/request"
@@ -313,3 +316,35 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc
globals.SugarLogger.Debugf("SpecialTreat wrong information endErr: %s", endErr)
return endErr
}
// /address/create 创建店铺地址库(新建即绑定)
func (P *PurchaseHandler) CreateAddress(appOrgCode string, addressInfo address_create_request.AddressCreateParam) (addressID int64, err error) {
if resp, err := getAPI(appOrgCode, 0, utils.Int64ToStr(addressInfo.StoreId)).AddressCreate(&address_create_request.AddressCreateParam{
Address: addressInfo.Address,
StoreId: addressInfo.StoreId,
}); err != nil {
return 0, err
} else {
return resp.AddressId, nil
}
}
// /address/list 获取售后地址列表接口
//分页获取商家地址列表
func (P *PurchaseHandler) GetAddressList(appOrgCode string, param *address_list_request.AddressListParam) (*address_list_response.AddressListData, error) {
//不传入ID则是获取所有门店售后地址列表
info := &address_list_request.AddressListParam{
PageSize: 10,
PageNo: 1,
OrderBy: param.OrderBy,
OrderField: param.OrderField,
}
if param.StoreId != 0 {
info.StoreId = param.StoreId
}
if listInfo, err := getAPI(appOrgCode, 0, utils.Int64ToStr(info.StoreId)).GetAddressList(info); err != nil {
return nil, err
} else {
return listInfo, nil
}
}

View File

@@ -10,7 +10,6 @@ import (
"git.rosy.net.cn/jx-callback/business/jxutils/netprinter"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
"github.com/astaxie/beego/server/web"
)
@@ -1519,11 +1518,8 @@ func (c *StoreController) GetDDScope() {
// @router /CreateDDStoreFence [post]
func (c *StoreController) CreateDDStoreFence() {
c.callCreateDDStoreFence(func(params *tStoreCreateDDStoreFenceParams) (retVal interface{}, errCode string, err error) {
globals.SugarLogger.Debugf("进入callCreateDDStoreFence")
payload := make(map[string][]tiktok_store.RelInfo)
globals.SugarLogger.Debugf("params.Payload===========%v", params.Payload)
if err := utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
globals.SugarLogger.Debugf("payload=============%v", payload)
retVal, err = cms.AssistCreateFence(payload)
}
return retVal, "", err
@@ -1538,3 +1534,12 @@ func (c *StoreController) CreateDDStoreFence() {
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CreateFreeShipTemplates [post]
func (c *StoreController) CreateFreeShipTemplates() {
c.callCreateFreeShipTemplates(func(params *tStoreCreateFreeShipTemplatesParams) (retVal interface{}, errCode string, err error) {
payload := make(map[string][]tiktok_store.RelInfo)
if err := utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
retVal, err = cms.BatchCreateFreeShipTemplate(payload, int64(params.ShipFee))
}
return retVal, "", err
})
}

View File

@@ -2972,6 +2972,15 @@ func init() {
Filters: nil,
Params: nil})
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
web.ControllerComments{
Method: "CreateFreeShipTemplates",
Router: `/CreateFreeShipTemplates`,
AllowHTTPMethods: []string{"post"},
MethodParams: param.Make(),
Filters: nil,
Params: nil})
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"],
web.ControllerComments{
Method: "BackUpStoreSkuBind",