京东订单测试门店

This commit is contained in:
苏尹岚
2020-06-04 16:05:32 +08:00
parent 66bdac9c2c
commit fd5c46e0e8
4 changed files with 84 additions and 13 deletions

View File

@@ -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
}