Merge branch 'jdshop' of e.coding.net:rosydev/jx-callback into jdshop
This commit is contained in:
@@ -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) {
|
||||
@@ -193,7 +194,7 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
|
||||
if err != nil || len(warehouseID) == 0 || utils.IsNil(warehouseID) {
|
||||
globals.SugarLogger.Debugf("门店(%d) 创建仓库失败:%v", storeID, err)
|
||||
errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err))
|
||||
} else { //绑定
|
||||
} else { //绑定
|
||||
if err = BindStoreWarehouse(vendorOrgCode, utils.Int64ToStr(storeID), vendorStoreID); err != nil { //仓库绑定通过自定义外部ID
|
||||
globals.SugarLogger.Debugf("门店(%d) 绑定仓库:%s 失败:%v", storeID, warehouseID, err)
|
||||
errList.AddErr(fmt.Errorf("门店(%d) 绑定仓库:%s 失败:%v", storeID, warehouseID, err))
|
||||
@@ -317,7 +318,7 @@ func CreateAndBindAllV2(vendorOrgCode string, storeID, vendorStoreID, deliveryFe
|
||||
if err != nil || len(warehouseID) == 0 || utils.IsNil(warehouseID) {
|
||||
globals.SugarLogger.Debugf("门店(%d) 创建仓库失败:%v", storeID, err)
|
||||
errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err))
|
||||
} else { //绑定
|
||||
} else { //绑定
|
||||
if err = BindStoreWarehouse(vendorOrgCode, utils.Int64ToStr(storeID), vendorStoreID); err != nil { //仓库绑定通过自定义外部ID
|
||||
globals.SugarLogger.Debugf("门店(%d) 绑定仓库:%s 失败:%v", storeID, warehouseID, err)
|
||||
errList.AddErr(fmt.Errorf("门店(%d) 绑定仓库:%s 失败:%v", storeID, warehouseID, err))
|
||||
@@ -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,24 @@ 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
|
||||
}
|
||||
|
||||
//以下为辅助函数
|
||||
type RelInfo struct {
|
||||
StoreID string
|
||||
VendorStoreID string
|
||||
}
|
||||
|
||||
func ToMap(actual interface{}) (map[string]string, error) {
|
||||
var res []string
|
||||
value := reflect.ValueOf(actual)
|
||||
globals.SugarLogger.Debugf("value.Kind()=========%s", value.Kind())
|
||||
if value.Kind() != reflect.Map {
|
||||
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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user