This commit is contained in:
richboo111
2022-11-22 14:10:53 +08:00
parent 5efad3fb9e
commit b13071a824
2 changed files with 152 additions and 39 deletions

View File

@@ -31,6 +31,7 @@ import (
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
"reflect"
)
func SplicingTimeToDoudian(openTime1, closeTime1, openTime2, closeTime2 int16, flag bool) (timeList string) {
@@ -669,43 +670,119 @@ func UpdateFreightTemplate(storeCode int) error {
return nil
}
// /freightTemplate/create 创建运费模板 暂时未使用
func (P *PurchaseHandler) CreateFreightTemplateDirectly(templateInfo freightTemplate_create_request.FreightTemplateCreateParam, storeID, vendorStoreID int64) error {
var (
db *dao.DaoDB
)
if templateInfo.Template.RuleType > 0 {
templateInfo.Template.CalculateType = tiktok_api.CalculateTypeNum
}
info := &freightTemplate_create_request.FreightTemplateCreateParam{
Template: templateInfo.Template,
Columns: templateInfo.Columns,
}
api := getAPI("", int(storeID), utils.Int64ToStr(vendorStoreID))
resp, err := api.FreightTemplateCreate(info)
if err != nil {
return err
}
//创建成功后进行绑定
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 (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
//}
// /shop/bindStoreFreight 门店绑定运费模版
//门店绑定运费模版,运费模版必须属于门店关联的抖店,且门店与运费模版是一对一关系
@@ -1020,3 +1097,17 @@ func (P *PurchaseHandler) GetOrderStatus(vendorOrgCode, vendorOrderID string) (s
func (p *PurchaseHandler) GetSkus(ctx *jxcontext.Context, vendorOrgCode string, skuID int, vendorSkuID string) (skuNameList []*partner.SkuNameInfo, err error) {
return nil, err
}
//以下为辅助函数
func ToMap(actual interface{}) ([]string, error) {
var res []string
value := reflect.ValueOf(actual)
if value.Kind() != reflect.Slice && value.Kind() != reflect.Array {
return nil, errors.New("parse error")
}
for i := 0; i < value.Len(); i++ {
res = append(res, value.Index(i).Interface().(string))
}
return res, nil
}

View File

@@ -9,6 +9,8 @@ import (
"git.rosy.net.cn/jx-callback/business/jxutils"
"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"
)
@@ -1518,9 +1520,29 @@ func (c *StoreController) GetDDScope() {
func (c *StoreController) CreateDDStoreFence() {
c.callCreateDDStoreFence(func(params *tStoreCreateDDStoreFenceParams) (retVal interface{}, errCode string, err error) {
payload := make(map[string]map[string]string)
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
retVal, err = cms.AssistCreateFence(payload)
info := make(map[string]map[string]string)
if result, err := utils.Unmarshal2Map([]byte(params.Payload), &payload); err == nil {
for i, j := range result {
if temp, err := tiktok_store.ToMap(j); err != nil {
globals.SugarLogger.Debugf("tomap err==============%v", err)
return nil, "", err
} else {
for k, v := range temp {
info[i] = map[string]string{utils.Int2Str(k): v}
}
}
}
retVal, err = cms.AssistCreateFence(info)
}
return retVal, "", err
})
}
// @Title 批量创建抖店包邮运费模板
// @Description 批量创建抖店包邮运费模板
// @Param token header string true "认证token"
// @Param shipFee formData int true "包邮金额"
// @Param payload formData string true "json数据[]string对象"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CreateFreeShipTemplates [post]