京西也支持订单转移
This commit is contained in:
@@ -1593,36 +1593,42 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
|
||||
} else {
|
||||
return "", fmt.Errorf("未查询到该门店对应的平台信息!门店:[%v]", order.StoreID)
|
||||
}
|
||||
if len(order.VendorOrderID) > 12 {
|
||||
var goodsOrders []*model.GoodsOrder
|
||||
sql := `
|
||||
SELECT * FROM goods_order WHERE vendor_order_id2 = ? ORDER BY vendor_order_id DESC
|
||||
`
|
||||
sqlParams := []interface{}{order.VendorOrderID2}
|
||||
err = dao.GetRows(db, &goodsOrders, sql, sqlParams)
|
||||
if goodsOrders[0].Status != model.OrderStatusCanceled {
|
||||
err = jdshop.ChangeOrderStatus(goodsOrders[0].VendorOrderID, model.OrderStatusCanceled, "订单转移被取消")
|
||||
if order.VendorID == model.VendorIDJDShop {
|
||||
if len(order.VendorOrderID) > 12 {
|
||||
var goodsOrders []*model.GoodsOrder
|
||||
sql := `
|
||||
SELECT * FROM goods_order WHERE vendor_order_id2 = ? ORDER BY vendor_order_id DESC
|
||||
`
|
||||
sqlParams := []interface{}{order.VendorOrderID2}
|
||||
err = dao.GetRows(db, &goodsOrders, sql, sqlParams)
|
||||
if goodsOrders[0].Status != model.OrderStatusCanceled {
|
||||
err = jdshop.ChangeOrderStatus(goodsOrders[0].VendorOrderID, model.OrderStatusCanceled, "订单转移被取消")
|
||||
}
|
||||
// suffix := utils.Str2Int(goodsOrders[0].VendorOrderID[12:len(goodsOrders[0].VendorOrderID)])
|
||||
// suffix++
|
||||
if len(order.VendorOrderID2) > 18 {
|
||||
order.VendorOrderID2 = order.VendorOrderID2[0:12]
|
||||
}
|
||||
order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(order.VendorOrderID2)*10000) + utils.Int2Str(time.Now().Second())
|
||||
if len(order.VendorOrderID) < 18 {
|
||||
order.VendorOrderID = order.VendorOrderID + "0"
|
||||
}
|
||||
}
|
||||
// suffix := utils.Str2Int(goodsOrders[0].VendorOrderID[12:len(goodsOrders[0].VendorOrderID)])
|
||||
// suffix++
|
||||
if len(order.VendorOrderID2) > 18 {
|
||||
order.VendorOrderID2 = order.VendorOrderID2[0:12]
|
||||
}
|
||||
order.VendorOrderID = utils.Int64ToStr(utils.Str2Int64(order.VendorOrderID2)*10000) + utils.Int2Str(time.Now().Second())
|
||||
if len(order.VendorOrderID) < 18 {
|
||||
order.VendorOrderID = order.VendorOrderID + "0"
|
||||
if storeID != model.JdShopMainStoreID {
|
||||
order.DeliveryFlag = model.NO
|
||||
}
|
||||
} else {
|
||||
order.VendorOrderID2 = order.VendorOrderID
|
||||
order.VendorOrderID = utils.Int64ToStr(jxutils.GenOrderNo())
|
||||
order.DeliveryFlag = model.NO
|
||||
}
|
||||
for _, sku := range skus {
|
||||
sku.VendorOrderID = order.VendorOrderID
|
||||
sku.ID = 0
|
||||
order.Skus = append(order.Skus, sku)
|
||||
}
|
||||
if storeID != model.JdShopMainStoreID {
|
||||
order.DeliveryFlag = model.NO
|
||||
}
|
||||
order.Status = model.OrderStatusNew
|
||||
setJdsOrderSeq(order)
|
||||
order.Status = model.OrderStatusNew
|
||||
err = partner.CurOrderManager.OnOrderNew(order, model.Order2Status(order))
|
||||
vendorOrderIDJds = order.VendorOrderID
|
||||
return vendorOrderIDJds, err
|
||||
|
||||
Reference in New Issue
Block a user