Merge branch 'jdshop' of e.coding.net:rosydev/jx-callback into jdshop
This commit is contained in:
@@ -1019,12 +1019,11 @@ func (*BrandCategoryMap) TableUnique() [][]string {
|
||||
// 抖店 运费模板、仓库以及电子围栏绑定
|
||||
type FreightTemplate struct {
|
||||
ModelIDCULD
|
||||
StoreID int64 `orm:"column(store_id)" json:"storeID"` //京西本地门店ID即抖店门店编码
|
||||
VendorStoreID int64 `orm:"column(vendor_store_id)" json:"vendorStoreID"` //抖店平台门店ID
|
||||
TemplateID int64 `orm:"column(template_id)" json:"templateID"` //运费模板ID 1对1
|
||||
TemplateDetail string `orm:"column(template_detail)" json:"templateDetail"` //json转化的模板信息
|
||||
WarehouseID string `orm:"column(warehouse_id)" json:"warehouseID"` //创建门店时绑定的仓库id 1对1
|
||||
FenceID string `orm:"column(fence_id)" json:"fenceID"` //电子围栏id 1对1
|
||||
StoreID int `orm:"column(store_id)" json:"storeID"` //京西本地门店ID即抖店门店编码
|
||||
VendorStoreID string `orm:"column(vendor_store_id)" json:"vendorStoreID"` //抖店平台门店ID
|
||||
TemplateID int64 `orm:"column(template_id)" json:"templateID"` //运费模板ID 1对1
|
||||
WarehouseID int64 `orm:"column(warehouse_id)" json:"warehouseID"` //创建门店时绑定的仓库id 1对1
|
||||
FenceID string `orm:"column(fence_id)" json:"fenceID"` //电子围栏id 1对1
|
||||
}
|
||||
|
||||
func (*FreightTemplate) TableUnique() [][]string {
|
||||
|
||||
@@ -143,7 +143,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
||||
orderMsg.Remark = k
|
||||
} else {
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + string(refundOrder.ReasonCode)
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + utils.Int2Str(refundOrder.ReasonCode)
|
||||
}
|
||||
|
||||
if refundOrder.AftersaleId > 0 {
|
||||
@@ -166,7 +166,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
||||
orderMsg.Remark = k
|
||||
} else {
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + string(refundOrder.ReasonCode)
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + utils.Int2Str(refundOrder.ReasonCode)
|
||||
}
|
||||
|
||||
if refundOrder.AftersaleId > 0 {
|
||||
@@ -190,7 +190,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
||||
orderMsg.Remark = k
|
||||
} else {
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + string(refundOrder.ReasonCode)
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + utils.Int2Str(refundOrder.ReasonCode)
|
||||
}
|
||||
if refundOrder.AftersaleId > 0 {
|
||||
orderMsg.VendorOrderID = utils.Int64ToStr(refundOrder.AftersaleId)
|
||||
@@ -213,7 +213,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
||||
orderMsg.Remark = k
|
||||
} else {
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + string(refundOrder.ReasonCode)
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + utils.Int2Str(refundOrder.ReasonCode)
|
||||
}
|
||||
if refundOrder.AftersaleId > 0 {
|
||||
orderMsg.VendorOrderID = utils.Int64ToStr(refundOrder.AftersaleId)
|
||||
@@ -236,7 +236,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
||||
orderMsg.Remark = k
|
||||
} else {
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + string(refundOrder.ReasonCode)
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + utils.Int2Str(refundOrder.ReasonCode)
|
||||
}
|
||||
if refundOrder.AftersaleId > 0 {
|
||||
orderMsg.VendorOrderID = utils.Int64ToStr(refundOrder.AftersaleId)
|
||||
@@ -259,7 +259,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
||||
orderMsg.Remark = k
|
||||
} else {
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + string(refundOrder.ReasonCode)
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + utils.Int2Str(refundOrder.ReasonCode)
|
||||
}
|
||||
if refundOrder.AftersaleId > 0 {
|
||||
orderMsg.VendorOrderID = utils.Int64ToStr(refundOrder.AftersaleId)
|
||||
@@ -282,7 +282,7 @@ func (c *PurchaseHandler) callbackAfsMsg2Status(msgId string, msg interface{}) (
|
||||
if k, ok := ReasonCodeMap[refundOrder.ReasonCode]; ok {
|
||||
orderMsg.Remark = k
|
||||
} else {
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + string(refundOrder.ReasonCode)
|
||||
orderMsg.Remark = "抖音reason_code对应reason不足,需要更新.code:" + utils.Int2Str(refundOrder.ReasonCode)
|
||||
}
|
||||
if refundOrder.AftersaleId > 0 {
|
||||
orderMsg.VendorOrderID = utils.Int64ToStr(refundOrder.AftersaleId)
|
||||
|
||||
@@ -80,9 +80,13 @@ func SplicingTimeToDoudian(openTime1, closeTime1, openTime2, closeTime2 int16) (
|
||||
func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName string, params map[string]interface{}, storeDetail *dao.StoreDetail) (vendorStoreID string, err error) {
|
||||
var (
|
||||
storeIDs string
|
||||
tempStoreID []int64
|
||||
fences []string
|
||||
lists []shop_batchCreateStore_request.StoreListItem
|
||||
ShopBatchCreateStoreParam *shop_batchCreateStore_request.ShopBatchCreateStoreParam
|
||||
FreightTemplate *model.FreightTemplate
|
||||
)
|
||||
errList := errlist.New()
|
||||
//a:=getAPI(storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID)
|
||||
timeStr := ""
|
||||
if storeDetail.OpenTime1 == 0 || storeDetail.CloseTime1 == 0 {
|
||||
@@ -118,7 +122,7 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
|
||||
return "", err
|
||||
} else {
|
||||
if len(resp.ResultList) == 0 {
|
||||
return "", errors.New("创建店铺失败,请检查店铺基本信息")
|
||||
return "", err
|
||||
}
|
||||
for k, v := range resp.ResultList {
|
||||
if k != len(resp.ResultList) {
|
||||
@@ -127,29 +131,65 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
|
||||
storeIDs += utils.Int64ToStr(v.Store.StoreId)
|
||||
}
|
||||
if utils.Str2Int(storeIDs) == 0 {
|
||||
return "", errors.New("创建店铺失败,请检查店铺基本信息")
|
||||
return "", errors.New(fmt.Sprintf("创建店铺失败原因storeIDs = 0:%v,%v", err, resp.ResultList[0].Msg))
|
||||
}
|
||||
//创建并绑定运费模板
|
||||
freightTemplateID, err := CreateFreightTemplate(storeDetail.Store.ID)
|
||||
if err != nil {
|
||||
errList.AddErr(fmt.Errorf("创建运费模板失败原因:%v", err))
|
||||
} else {
|
||||
err = P.ShopBindStoreFreight(int64(storeDetail.Store.ID), freightTemplateID)
|
||||
if err != nil {
|
||||
errList.AddErr(fmt.Errorf("门店:%d 绑定运费模板:%d 失败原因:%v", int64(storeDetail.Store.ID), freightTemplateID, err))
|
||||
} else {
|
||||
FreightTemplate.TemplateID = freightTemplateID
|
||||
_, err := dao.UpdateEntity(db, FreightTemplate, "TemplateID")
|
||||
if err != nil {
|
||||
errList.AddErr(fmt.Errorf("运费模板ID存入数据库失败原因:%v", err))
|
||||
}
|
||||
}
|
||||
}
|
||||
//创建并绑定仓库
|
||||
warehouse, err := P.CreateWarehouse(utils.Int2Str(storeDetail.Store.ID), storeDetail.VendorOrgCode)
|
||||
if err != nil {
|
||||
errList.AddErr(fmt.Errorf("创建仓库失败原因:%v", err))
|
||||
} else {
|
||||
tempStoreID = append(tempStoreID, int64(storeDetail.Store.ID))
|
||||
err = P.BindStoreWarehouse(tempStoreID, utils.Int2Str(storeDetail.Store.ID), utils.Int64ToStr(warehouse))
|
||||
if err != nil {
|
||||
errList.AddErr(fmt.Errorf("门店:%d 绑定仓库:%d 失败原因:%v", int64(storeDetail.Store.ID), warehouse, err))
|
||||
} else {
|
||||
FreightTemplate.WarehouseID = warehouse
|
||||
_, err := dao.UpdateEntity(db, FreightTemplate, "WarehouseID")
|
||||
if err != nil {
|
||||
errList.AddErr(fmt.Errorf("仓库ID存入数据库失败原因:%v", err))
|
||||
}
|
||||
}
|
||||
}
|
||||
//创建满减模板
|
||||
|
||||
//创建仓库
|
||||
//warehouse, err := P.CreateWarehouse(utils.Int2Str(storeDetail.Store.ID))
|
||||
//if err != nil {
|
||||
// return "", err
|
||||
//}
|
||||
//创建成功的id存入
|
||||
|
||||
//创建并绑定电子围栏
|
||||
fences := []string{}
|
||||
if fenceID, err := CreateFenceByStore(int(resp.ResultList[0].Store.StoreId)); err != nil {
|
||||
return "", err
|
||||
errList.AddErr(fmt.Errorf("创建电子围栏失败原因:%v", err))
|
||||
} else {
|
||||
fences = append(fences, fenceID)
|
||||
if err := BindFenceByStore(resp.ResultList[0].Store.StoreId, fences); err != nil {
|
||||
return "", err
|
||||
errList.AddErr(fmt.Errorf("门店:%d 绑定电子围栏:%d 失败原因:%v", int64(storeDetail.Store.ID), warehouse, err))
|
||||
} else {
|
||||
FreightTemplate.FenceID = fenceID
|
||||
_, err := dao.UpdateEntity(db, FreightTemplate, "FenceID")
|
||||
if err != nil {
|
||||
errList.AddErr(fmt.Errorf("电子围栏ID存入数据库失败原因:%v", err))
|
||||
}
|
||||
}
|
||||
}
|
||||
globals.SugarLogger.Debug("CreateStore2 return storeIDs==========", storeIDs)
|
||||
return storeIDs, nil
|
||||
FreightTemplate.StoreID = storeDetail.Store.ID
|
||||
FreightTemplate.VendorStoreID = storeIDs
|
||||
_, err = dao.UpdateEntity(db, FreightTemplate, "StoreID", "VendorStoreID")
|
||||
if err != nil {
|
||||
errList.AddErr(fmt.Errorf("db update storeID,vendorStoreID defeat on :%v", err))
|
||||
}
|
||||
globals.SugarLogger.Debug("CreateStore last step success..................")
|
||||
return storeIDs, errors.New(fmt.Sprintf("%v", errList))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -215,8 +255,9 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
||||
globals.SugarLogger.Debug("================mergedStoreStatus", mergedStoreStatus)
|
||||
errList.AddErr(P.UpdateStoreStatus(jxcontext.AdminCtx, storeInfo.VendorOrgCode, storeID, storeInfo.VendorStoreID, mergedStoreStatus))
|
||||
}
|
||||
//TODO 需增加 更新运费模板、电子围栏
|
||||
//更新电子围栏
|
||||
|
||||
//TODO 需增加 更新运费模板、电子围栏
|
||||
_, err3 := api.EditStore(params)
|
||||
if err3 != nil {
|
||||
errList.AddErr(err3)
|
||||
@@ -259,35 +300,65 @@ func (p *PurchaseHandler) UpdateStoreStatus(ctx *jxcontext.Context, vendorOrgCod
|
||||
return err
|
||||
}
|
||||
|
||||
//默认只创建固定运费模板
|
||||
func (P *PurchaseHandler) CreateFreightTemplate(storeCode, full, subtraction int) (int64, error) {
|
||||
//var (
|
||||
// columns []freightTemplate_create_request.ColumnsItem
|
||||
//)
|
||||
////获取本地门店信息
|
||||
//storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeCode, model.VendorIDDD, "")
|
||||
//if err != nil {
|
||||
// return 0, err
|
||||
//}
|
||||
//column := &freightTemplate_create_request.ColumnsItem{
|
||||
// FirstNum: 1,
|
||||
// FirstNumPrice: 0.01,
|
||||
// AddNum: 1,
|
||||
// AddNumPrice: 0.01,
|
||||
//}
|
||||
//param := &freightTemplate_create_request.FreightTemplateCreateParam{
|
||||
// Template: &freightTemplate_create_request.Template{
|
||||
// TemplateName: "门店编码:" + utils.Int2Str(storeCode) + "的运费模板",
|
||||
// ProductProvince: int64(storeDetail.ProvinceCode),
|
||||
// ProductCity: int64(storeDetail.CityCode),
|
||||
// CalculateType: 2, //模板类型为1-固定运费、2-卖家包邮、3-货到付款 时,计价类型传 2-按数量
|
||||
// TransferType: 1,
|
||||
// RuleType: 2, //卖家包邮
|
||||
//
|
||||
// },
|
||||
// Columns: columns,
|
||||
//}
|
||||
return 0, nil
|
||||
//默认 运费模板只创建 固定运费模板
|
||||
func CreateFreightTemplate(storeCode int) (int64, error) {
|
||||
var (
|
||||
columns []freightTemplate_create_request.ColumnsItem
|
||||
childrenItems []freightTemplate_create_request.ChildrenItem
|
||||
children5s []freightTemplate_create_request.ChildrenItem_5
|
||||
provinceInfos []freightTemplate_create_request.ProvinceInfosItem
|
||||
children4s []freightTemplate_create_request.ChildrenItem_4
|
||||
)
|
||||
//获取本地门店信息
|
||||
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeCode, model.VendorIDDD, "")
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
childrenItem := freightTemplate_create_request.ChildrenItem{
|
||||
Id: 0, //获取不到街道id
|
||||
}
|
||||
childrenItems = append(childrenItems, childrenItem)
|
||||
children5 := freightTemplate_create_request.ChildrenItem_5{
|
||||
Id: int64(storeDetail.DistrictCode),
|
||||
Children: childrenItems,
|
||||
}
|
||||
children5s = append(children5s, children5)
|
||||
children4 := freightTemplate_create_request.ChildrenItem_4{
|
||||
Id: int64(storeDetail.CityCode),
|
||||
Children: children5s,
|
||||
}
|
||||
children4s = append(children4s, children4)
|
||||
provinceInfo := freightTemplate_create_request.ProvinceInfosItem{
|
||||
Id: int64(storeDetail.ProvinceCode),
|
||||
Children: children4s,
|
||||
}
|
||||
provinceInfos = append(provinceInfos, provinceInfo)
|
||||
column := freightTemplate_create_request.ColumnsItem{
|
||||
FirstNum: 1,
|
||||
FirstNumPrice: 0.01,
|
||||
AddNum: 1,
|
||||
AddNumPrice: 0.01,
|
||||
IsOverFree: true, //是否包邮
|
||||
OverAmount: int64(storeDetail.DeliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额
|
||||
ProvinceInfos: provinceInfos,
|
||||
}
|
||||
columns = append(columns, column)
|
||||
param := &freightTemplate_create_request.FreightTemplateCreateParam{
|
||||
Template: &freightTemplate_create_request.Template{
|
||||
TemplateName: "门店编码:" + utils.Int2Str(storeCode) + "的运费模板",
|
||||
ProductProvince: int64(storeDetail.ProvinceCode),
|
||||
ProductCity: int64(storeDetail.CityCode),
|
||||
CalculateType: 2, //模板类型为1-固定运费、2-卖家包邮、3-货到付款 时,计价类型传 2-按数量
|
||||
TransferType: 1,
|
||||
RuleType: 2, //卖家包邮
|
||||
},
|
||||
Columns: columns,
|
||||
}
|
||||
resp, err := getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateCreate(param)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return resp.TemplateId, nil
|
||||
}
|
||||
|
||||
// /freightTemplate/create 创建运费模板
|
||||
@@ -318,8 +389,8 @@ func (P *PurchaseHandler) CreateFreightTemplateDirectly(templateInfo freightTemp
|
||||
}
|
||||
//并写入数据库
|
||||
freightInfo := model.FreightTemplate{
|
||||
StoreID: storeID,
|
||||
VendorStoreID: vendorStoreID,
|
||||
StoreID: int(storeID),
|
||||
VendorStoreID: utils.Int64ToStr(vendorStoreID),
|
||||
TemplateID: resp.TemplateId,
|
||||
}
|
||||
if err = dao.CreateEntity(db, freightInfo); err != nil {
|
||||
|
||||
13
business/partner/purchase/tiktok_store/store_test.go
Normal file
13
business/partner/purchase/tiktok_store/store_test.go
Normal file
@@ -0,0 +1,13 @@
|
||||
package tiktok_store
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
//创建运费模板
|
||||
func TestCreateFreight(t *testing.T) {
|
||||
data, err := CreateFreightTemplate(668504)
|
||||
fmt.Println(data)
|
||||
fmt.Println(err)
|
||||
}
|
||||
@@ -60,9 +60,10 @@ func (P *PurchaseHandler) BatchCreateWarehouse(param warehouse_createBatch_reque
|
||||
|
||||
// /warehouse/bindStore 仓库绑定门店
|
||||
func (P *PurchaseHandler) BindStoreWarehouse(storeIDs []int64, outWarehouseID, appOrgCode string) error {
|
||||
tempWarehouseID := "门店编码:" + outWarehouseID + "的仓库"
|
||||
param := &warehouse_bindStore_request.WarehouseBindStoreParam{
|
||||
StoreIds: storeIDs,
|
||||
OutWarehouseId: outWarehouseID,
|
||||
OutWarehouseId: tempWarehouseID,
|
||||
}
|
||||
if _, err := getAPI(appOrgCode, 0, "").StoreBindWarehouse(param); err != nil {
|
||||
return err
|
||||
|
||||
@@ -79,6 +79,7 @@ func Init() {
|
||||
orm.RegisterModel(&model.SecretNumber{})
|
||||
orm.RegisterModel(&model.BiddingInfo{})
|
||||
|
||||
orm.RegisterModel(&model.FreightTemplate{}) //抖店存储门店与 仓库、运费模板、电子围栏的映射关系
|
||||
// orm.RegisterModel(&model.ActivityForSku{})
|
||||
// orm.RegisterModel(&legacymodel.JxBadComments2{})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user