每晚刷新物料订单状态顺便刷新运单信息

This commit is contained in:
苏尹岚
2020-04-02 09:55:45 +08:00
parent 74cf1d755b
commit ef7ab4cca2

View File

@@ -1261,6 +1261,8 @@ func RefreshAllMatterOrderStatus(ctx *jxcontext.Context) (err error) {
}
dao.Commit(db)
changeOrderStatus(vv.VendorOrderID, model.OrderStatusFinished, "")
getTrackMessagePlusByOrderResult, _ := api.JdEclpAPI.GetTrackMessagePlusByOrder(vv.VendorOrderID)
updateJdWayBillInfo(db, vv, getTrackMessagePlusByOrderResult)
} else {
deliveringCount++
}
@@ -1288,26 +1290,9 @@ func RefreshAllMatterOrderStatus(ctx *jxcontext.Context) (err error) {
changeOrderStatus(v.VendorOrderID, v.Status, "")
} else {
queryOrderStatus, _ := api.JdEclpAPI.QueryOrderStatus(v.EclpOutID)
if len(queryOrderStatus.OrderStatusList) > 0 {
if queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode == jdeclpapi.SoStatusCode10034 {
dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
panic(r)
}
}()
v.Status = model.OrderStatusFinished
dao.UpdateEntity(db, v, "Status")
waybills, err := dao.GetWaybills(db, v.VendorOrderID)
if err == nil && len(waybills) > 0 {
waybills[0].Status = model.WaybillStatusDelivered
dao.UpdateEntity(db, waybills[0], "Status")
}
dao.Commit(db)
changeOrderStatus(v.VendorOrderID, model.OrderStatusFinished, "")
}
}
getTrackMessagePlusByOrderResult, _ := api.JdEclpAPI.GetTrackMessagePlusByOrder(v.VendorOrderID)
updateMatterOrderStatus(db, v, queryOrderStatus)
updateJdWayBillInfo(db, v, getTrackMessagePlusByOrderResult)
}
}
return err
@@ -1357,6 +1342,15 @@ func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result
}
}
if len(queryOrderStatus.OrderStatusList) > 0 {
updateMatterOrderStatus(db, order, queryOrderStatus)
}
if len(getTrackMessagePlusByOrderResult.ResultData) > 0 {
updateJdWayBillInfo(db, order, getTrackMessagePlusByOrderResult)
}
return result, err
}
func updateMatterOrderStatus(db *dao.DaoDB, order *model.GoodsOrder, queryOrderStatus *jdeclpapi.QueryOrderStatusResult) {
if queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode == jdeclpapi.SoStatusCode10034 {
dao.Begin(db)
defer func() {
@@ -1367,16 +1361,17 @@ func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result
}()
order.Status = model.OrderStatusFinished
dao.UpdateEntity(db, order, "Status")
waybills, err := dao.GetWaybills(db, vendorOrderID)
waybills, err := dao.GetWaybills(db, order.VendorOrderID)
if err == nil && len(waybills) > 0 {
waybills[0].Status = model.WaybillStatusDelivered
dao.UpdateEntity(db, waybills[0], "Status")
}
dao.Commit(db)
changeOrderStatus(vendorOrderID, model.OrderStatusFinished, "")
changeOrderStatus(order.VendorOrderID, model.OrderStatusFinished, "")
}
}
if len(getTrackMessagePlusByOrderResult.ResultData) > 0 {
}
func updateJdWayBillInfo(db *dao.DaoDB, order *model.GoodsOrder, getTrackMessagePlusByOrderResult *jdeclpapi.GetTrackMessagePlusByOrderResult) (err error) {
var (
waybillCode = getTrackMessagePlusByOrderResult.ResultData[0].WaybillCode
cName string
@@ -1391,7 +1386,7 @@ func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result
break
}
}
waybills, err = dao.GetWaybills(db, vendorOrderID)
waybills, err = dao.GetWaybills(db, order.VendorOrderID)
if len(waybills) > 0 {
waybills[0].VendorWaybillID = waybillCode
waybills[0].CourierName = cName
@@ -1401,8 +1396,7 @@ func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result
dao.UpdateEntity(db, order, "VendorWaybillID", "WaybillVendorID")
dao.UpdateEntity(db, waybills[0], "VendorWaybillID", "CourierName", "CourierMobile")
}
}
return result, err
return err
}
func tryToSplitMatterOrder(jxOrder *JxOrderInfo) (outOrders []*JxOrderInfo, freightPrice int, err error) {