京东订单测试门店
This commit is contained in:
@@ -1013,9 +1013,10 @@ func SaveJdsOrders(ctx *jxcontext.Context, orderCreatedStart, orderCreatedEnd ti
|
||||
globals.SugarLogger.Errorf("SaveJdsOrders : %v", err)
|
||||
}
|
||||
for _, order := range orders {
|
||||
partner.CurOrderManager.OnOrderNew(order, model.Order2Status(order))
|
||||
noticeMsg := fmt.Sprintf("京东商城新订单,订单号:[%v]", order.VendorOrderID)
|
||||
// partner.CurOrderManager.OnOrderNew(order, model.Order2Status(order))
|
||||
noticeMsg := fmt.Sprintf("京东商城新订单,订单号:[%v] ,将要发到的门店id:[%v] , 门店名:[%v]", order.VendorOrderID, order.StoreID, order.StoreName)
|
||||
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "DDC5657B43EE11E9A9FF525400E86DC0", "京东商城来新订单了!", noticeMsg)
|
||||
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "1439B3E07D3911EA881A525400E86DC0", "京东商城来新订单了!", noticeMsg)
|
||||
}
|
||||
return err
|
||||
}
|
||||
@@ -1108,7 +1109,7 @@ func result2Orders(ctx *jxcontext.Context, result *jdshopapi.AllOrdersResult) (o
|
||||
return orders, err
|
||||
}
|
||||
|
||||
func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int) (err error) {
|
||||
func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int) (vendorOrderIDJds string, err error) {
|
||||
globals.SugarLogger.Debugf("jds TransferJdsOrder vendorOrderID: %v, storeID : %v", vendorOrderID, storeID)
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
@@ -1116,23 +1117,23 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
|
||||
)
|
||||
order, err := dao.GetSimpleOrder(db, vendorOrderID)
|
||||
if err != nil || order == nil {
|
||||
return fmt.Errorf("未查询到该订单!订单号:[%v]", vendorOrderID)
|
||||
return "", fmt.Errorf("未查询到该订单!订单号:[%v]", vendorOrderID)
|
||||
}
|
||||
if order.Status == model.OrderStatusFinished {
|
||||
return fmt.Errorf("暂不支持已完成的订单进行转移!")
|
||||
return "", fmt.Errorf("暂不支持已完成的订单进行转移!")
|
||||
}
|
||||
if order.VendorID != model.VendorIDJDShop {
|
||||
return fmt.Errorf("暂不支持非京狗的订单进行转移!")
|
||||
return "", fmt.Errorf("暂不支持非京狗的订单进行转移!")
|
||||
}
|
||||
skus, err := dao.GetSimpleOrderSkus(db, vendorOrderID)
|
||||
if err != nil || order == nil {
|
||||
return fmt.Errorf("未查询到该订单商品!订单号:[%v]", vendorOrderID)
|
||||
return "", fmt.Errorf("未查询到该订单商品!订单号:[%v]", vendorOrderID)
|
||||
}
|
||||
//将订单和运单取消
|
||||
if order.Status == model.OrderStatusDelivering {
|
||||
waybills, err := dao.GetWaybills(db, vendorOrderID)
|
||||
if err != nil || len(waybills) == 0 {
|
||||
return fmt.Errorf("未查询到该订单对应的运单信息!订单号:[%v]", vendorOrderID)
|
||||
return "", fmt.Errorf("未查询到该订单对应的运单信息!订单号:[%v]", vendorOrderID)
|
||||
}
|
||||
for _, v := range waybills {
|
||||
if v.Status != model.WaybillStatusCanceled {
|
||||
@@ -1142,12 +1143,12 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
|
||||
handler := partner.DeliveryPlatformHandlers[waybill.WaybillVendorID]
|
||||
err = handler.Handler.CancelWaybill(waybill, 0, "订单转移被取消")
|
||||
if err != nil {
|
||||
return err
|
||||
return "", err
|
||||
}
|
||||
}
|
||||
err = jdshop.ChangeOrderStatus(vendorOrderID, model.OrderStatusCanceled, "订单转移被取消")
|
||||
if err != nil {
|
||||
return err
|
||||
return "", err
|
||||
}
|
||||
//重新构建order的数据
|
||||
storeMaps, err := dao.GetStoresMapList(db, []int{order.VendorID}, []int{order.StoreID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "")
|
||||
@@ -1155,7 +1156,7 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
|
||||
order.StoreID = storeID
|
||||
order.StoreName = storeMaps[0].StoreName
|
||||
} else {
|
||||
return fmt.Errorf("未查询到该门店对应的平台信息!门店:[%v]", order.StoreID)
|
||||
return "", fmt.Errorf("未查询到该门店对应的平台信息!门店:[%v]", order.StoreID)
|
||||
}
|
||||
if len(order.VendorOrderID) > 12 {
|
||||
suffix := utils.Str2Int(order.VendorOrderID[12:len(order.VendorOrderID)])
|
||||
@@ -1166,6 +1167,15 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
|
||||
sku.VendorOrderID = order.VendorOrderID
|
||||
order.Skus = append(order.Skus, sku)
|
||||
}
|
||||
order.Status = model.OrderStatusNew
|
||||
err = partner.CurOrderManager.OnOrderNew(order, model.Order2Status(order))
|
||||
vendorOrderIDJds = order.VendorOrderID
|
||||
return vendorOrderIDJds, err
|
||||
}
|
||||
|
||||
func SendJdwlForJdsOrder(ctx *jxcontext.Context, vendorOrderID string) (err error) {
|
||||
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJDShop)
|
||||
handler := partner.DeliveryPlatformHandlers[model.VendorIDJDWL]
|
||||
_, err = handler.Handler.CreateWaybill(order, 0)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ package jdeclp
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/jdeclpapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
@@ -46,7 +48,7 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee
|
||||
if len(stores) == 0 || err != nil {
|
||||
return bill, fmt.Errorf("未查询到该门店! 门店id :[%v]", storeID)
|
||||
}
|
||||
_, err = api.JdEclpAPI.WaybillReceive(&jdeclpapi.WaybillReceiveParam{
|
||||
vendorWaybillID, err := api.JdEclpAPI.WaybillReceive(&jdeclpapi.WaybillReceiveParam{
|
||||
SalePlat: jdeclpapi.SalePlatSourceDelivery,
|
||||
CustomerCode: jdeclpapi.CustomerCode,
|
||||
OrderID: order.VendorOrderID,
|
||||
@@ -60,8 +62,20 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee
|
||||
Vloumn: order.Weight,
|
||||
PackageCount: 1,
|
||||
Description: "生鲜",
|
||||
Aging: 5,
|
||||
})
|
||||
// partner.CurOrderManager.OnWaybillStatusChanged(order)
|
||||
waybill := &model.Waybill{
|
||||
VendorOrderID: order.VendorOrderID,
|
||||
OrderVendorID: model.VendorIDJDShop,
|
||||
VendorWaybillID: vendorWaybillID,
|
||||
WaybillVendorID: model.VendorIDJDWL,
|
||||
Status: model.WaybillStatusDelivering,
|
||||
WaybillCreatedAt: time.Now(),
|
||||
StatusTime: time.Now(),
|
||||
WaybillFinishedAt: utils.DefaultTimeValue,
|
||||
DeliveryFlag: model.OrderDeliveryFlagMaskScheduleDisabled,
|
||||
}
|
||||
dao.CreateEntity(dao.GetDB(), waybill)
|
||||
return bill, err
|
||||
}
|
||||
func (c *DeliveryHandler) CancelWaybill(bill *model.Waybill, cancelReasonID int, cancelReason string) (err error) {
|
||||
|
||||
@@ -1059,3 +1059,32 @@ func (c *OrderController) GetOrderUserBuyFirst() {
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 京东商城订单转移
|
||||
// @Description 京东商城订单转移
|
||||
// @Param token header string true "认证token"
|
||||
// @Param storeID formData int true "转移的门店ID"
|
||||
// @Param vendorOrderID formData string true "转移的订单号"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /TransferJdsOrder [post]
|
||||
func (c *OrderController) TransferJdsOrder() {
|
||||
c.callTransferJdsOrder(func(params *tOrderTransferJdsOrderParams) (retVal interface{}, errCode string, err error) {
|
||||
err = orderman.TransferJdsOrder(params.Ctx, params.VendorOrderID, params.StoreID)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 京东商城订单发送京东物流
|
||||
// @Description 京东商城订单发送京东物流
|
||||
// @Param token header string true "认证token"
|
||||
// @Param vendorOrderID formData string true "订单号"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /SendJdwlForJdsOrder [post]
|
||||
func (c *OrderController) SendJdwlForJdsOrder() {
|
||||
c.callSendJdwlForJdsOrder(func(params *tOrderSendJdwlForJdsOrderParams) (retVal interface{}, errCode string, err error) {
|
||||
err = orderman.SendJdwlForJdsOrder(params.Ctx, params.VendorOrderID)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1242,6 +1242,15 @@ func init() {
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
||||
beego.ControllerComments{
|
||||
Method: "SendJdwlForJdsOrder",
|
||||
Router: `/SendJdwlForJdsOrder`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
||||
beego.ControllerComments{
|
||||
Method: "SetOrderPrintStatus",
|
||||
@@ -1251,6 +1260,15 @@ func init() {
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
||||
beego.ControllerComments{
|
||||
Method: "TransferJdsOrder",
|
||||
Router: `/TransferJdsOrder`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
||||
beego.ControllerComments{
|
||||
Method: "UpdateOrderWaybillTip",
|
||||
|
||||
Reference in New Issue
Block a user