查询物料订单状态

This commit is contained in:
苏尹岚
2020-03-09 18:30:11 +08:00
parent fd45eae813
commit 026fb01712

View File

@@ -103,9 +103,10 @@ type DeliveryDayTimeInfo struct {
} }
type MatterOrderStatus struct { type MatterOrderStatus struct {
Time string `json:"time"` Time time.Time `json:"time"`
Status string `json:"status"` Status string `json:"status"`
Name string `json:"name"` Name string `json:"name"`
Sign int `sign`
} }
var ( var (
@@ -951,22 +952,45 @@ func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result
var ( var (
db = dao.GetDB() db = dao.GetDB()
) )
waybills, err := dao.GetWayBillByOrderID(db, -1, model.VendorIDJX, -1, vendorOrderID)
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJX) order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJX)
if len(waybills) > 0 { if err != nil {
// queryOrderStatus, err := api.JdEclpAPI.QueryOrderStatus(waybills[0].VendorWaybillID) return nil, err
} }
// getTrackMessagePlusByOrderResult, err := api.JdEclpAPI.GetTrackMessagePlusByOrder(vendorOrderID) queryOrderStatus, err := api.JdEclpAPI.QueryOrderStatus(order.EclpOutID)
dao.Begin(db) getTrackMessagePlusByOrderResult, err := api.JdEclpAPI.GetTrackMessagePlusByOrder(vendorOrderID)
defer func() { for _, v := range queryOrderStatus.OrderStatusList {
if r := recover(); r != nil { time1 := utils.Str2Time(v.OperateTime)
dao.Rollback(db) status1 := v.SoStatusName
panic(r) name1 := v.SoStatusName
for _, vv := range getTrackMessagePlusByOrderResult.ResultData {
time2 := utils.Str2Time(strings.ReplaceAll(vv.OpeName, "/", "-"))
status2 := vv.OpeTitle
name2 := vv.OpeRemark
matter := &MatterOrderStatus{}
if time2.Unix() <= time1.Unix() {
matter.Time = time2
matter.Status = status2
matter.Name = name2
} else {
matter.Time = time1
matter.Status = status1
matter.Name = name1
break
}
result = append(result, matter)
} }
}() }
dao.UpdateEntity(db, order, "Status") if getTrackMessagePlusByOrderResult.ResultData[len(getTrackMessagePlusByOrderResult.ResultData)-1].WaybillCode == jdeclpapi.SoStatusCode10034 {
waybills[0].StatusTime = time.Now() dao.Begin(db)
dao.UpdateEntity(db, waybills[0], "Status", "StatusTime") defer func() {
dao.Commit(db) if r := recover(); r != nil {
dao.Rollback(db)
panic(r)
}
}()
order.Status = model.OrderStatusFinished
dao.UpdateEntity(db, order, "Status")
dao.Commit(db)
}
return result, err return result, err
} }