京东商城订单修改

This commit is contained in:
苏尹岚
2020-06-03 16:28:53 +08:00
parent 952d41c43a
commit f040fdb028
9 changed files with 111 additions and 35 deletions

View File

@@ -8,11 +8,13 @@ import (
"time"
"git.rosy.net.cn/jx-callback/business/jxstore/common"
"git.rosy.net.cn/jx-callback/business/jxutils/ddmsg"
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
"git.rosy.net.cn/jx-callback/business/partner/purchase/jdshop"
"git.rosy.net.cn/jx-callback/globals/api"
"git.rosy.net.cn/baseapi"
"git.rosy.net.cn/baseapi/platformapi/dingdingapi"
"git.rosy.net.cn/baseapi/platformapi/jdshopapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
@@ -1012,6 +1014,8 @@ func SaveJdsOrders(ctx *jxcontext.Context, orderCreatedStart, orderCreatedEnd ti
}
for _, order := range orders {
partner.CurOrderManager.OnOrderNew(order, model.Order2Status(order))
noticeMsg := fmt.Sprintf("京东商城新订单,订单号:[%v]", order.VendorOrderID)
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "DDC5657B43EE11E9A9FF525400E86DC0", "京东商城来新订单了!", noticeMsg)
}
return err
}
@@ -1027,7 +1031,8 @@ func result2Orders(ctx *jxcontext.Context, result *jdshopapi.AllOrdersResult) (o
continue
}
order := &model.GoodsOrder{
VendorOrderID: utils.Int64ToStr(jdsOrder.OrderID),
VendorOrderID2: utils.Int64ToStr(jdsOrder.OrderID),
VendorOrderID: utils.Int64ToStr(jdsOrder.OrderID) + "01",
VendorID: model.VendorIDJDShop,
BaseFreightMoney: jxutils.StandardPrice2Int(jdsOrder.Freight),
VendorStatus: utils.Int2Str(jdsOrder.OrderStatus),
@@ -1059,7 +1064,7 @@ func result2Orders(ctx *jxcontext.Context, result *jdshopapi.AllOrdersResult) (o
order.VendorStoreID = storeMaps[0].VendorStoreID
}
} else {
storeList, err := common.GetStoreListByLocation(ctx, jxutils.IntCoordinate2Standard(order.ConsigneeLng), jxutils.IntCoordinate2Standard(order.ConsigneeLat), 5000, false)
storeList, err := common.GetStoreListByLocation(ctx, jxutils.IntCoordinate2Standard(order.ConsigneeLng), jxutils.IntCoordinate2Standard(order.ConsigneeLat), 5000, false, true)
if err != nil {
globals.SugarLogger.Debugf("jds GetStoreListByLocation error: %v", err.Error())
continue
@@ -1080,7 +1085,7 @@ func result2Orders(ctx *jxcontext.Context, result *jdshopapi.AllOrdersResult) (o
for _, v := range jdsOrder.OrderItems {
sku := &model.OrderSku{
VendorID: model.VendorIDJDShop,
VendorOrderID: utils.Int64ToStr(jdsOrder.OrderID),
VendorOrderID: order.VendorOrderID,
Count: v.SkuNum,
VendorSkuID: utils.Int64ToStr(v.SkuID),
SkuName: v.SkuName,
@@ -1095,3 +1100,35 @@ func result2Orders(ctx *jxcontext.Context, result *jdshopapi.AllOrdersResult) (o
}
return orders, err
}
func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int) (err error) {
globals.SugarLogger.Debugf("jds TransferJdsOrder vendorOrderID: %v, storeID : %v", vendorOrderID, storeID)
var (
db = dao.GetDB()
)
order, err := dao.GetSimpleOrder(db, vendorOrderID)
if err != nil || order == nil {
return fmt.Errorf("未查询到该订单!订单号:[%v]", vendorOrderID)
}
if order.Status == model.OrderStatusFinished {
return fmt.Errorf("暂不支持已完成的订单进行转移!")
}
if len(order.VendorOrderID) > 12 {
suffix := utils.Str2Int(order.VendorOrderID[12:len(order.VendorOrderID)])
suffix++
order.VendorOrderID = order.VendorOrderID2 + utils.Int2Str(suffix)
}
skus, err := dao.GetSimpleOrderSkus(db, vendorOrderID)
if err != nil || order == nil {
return fmt.Errorf("未查询到该订单商品!订单号:[%v]", vendorOrderID)
}
for _, sku := range skus {
sku.VendorOrderID = order.VendorOrderID
order.Skus = append(order.Skus, sku)
}
err = jdshop.ChangeOrderStatus(vendorOrderID, model.OrderStatusCanceled, "订单转移被取消")
if order.Status == model.OrderStatusDelivering {
}
return err
}

View File

@@ -5,8 +5,6 @@ import (
"strings"
"time"
"git.rosy.net.cn/jx-callback/business/partner/purchase/jdshop"
"git.rosy.net.cn/baseapi/platformapi/dingdingapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/baseapi/utils/errlist"
@@ -43,12 +41,6 @@ func (c *BaseScheduler) CreateWaybillOnProviders(ctx *jxcontext.Context, order *
courierVendorID := storeCourier.VendorID
bill, err2 := c.CreateWaybill(courierVendorID, order, maxDeliveryFee)
if err = err2; err == nil {
if order.VendorID == model.VendorIDJDShop {
err = jdshop.CurPurchaseHandler.OrderExport(ctx, bill.VendorOrderID, bill.VendorWaybillID)
if err != nil {
errList.AddErr(fmt.Errorf("平台:%s,%s", jxutils.GetVendorName(courierVendorID), err.Error()))
}
}
globals.SugarLogger.Debugf("CreateWaybillOnProviders orderID:%s userName:%s vendorID:%d bill:%v", order.VendorOrderID, userName, courierVendorID, bill)
bills = append(bills, bill)
if createOnlyOne {

View File

@@ -7,6 +7,7 @@ import (
"time"
"git.rosy.net.cn/jx-callback/business/jxutils/ddmsg"
"git.rosy.net.cn/jx-callback/business/partner/purchase/jdshop"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/jxutils/netprinter"
@@ -537,7 +538,10 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
}
s.updateOrderByBill(order, bill, false)
s.cancelOtherWaybillsCheckOrderDeliveryFlag(savedOrderInfo, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonStrNotAcceptIntime)
//京东商城的话,需要去把订单出库
if order.VendorID == model.VendorIDJDShop {
err = jdshop.CurPurchaseHandler.OrderExport(jxcontext.AdminCtx, bill.VendorOrderID, bill.VendorWaybillID, true)
}
if model.IsWaybillPlatformOwn(bill) {
if bill.Status == model.WaybillStatusDelivering && order.Status < model.OrderStatusEndBegin {
// 强制将订单状态置为配送中?