查询物料订单状态

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 {
Time string `json:"time"`
Status string `json:"status"`
Name string `json:"name"`
Time time.Time `json:"time"`
Status string `json:"status"`
Name string `json:"name"`
Sign int `sign`
}
var (
@@ -951,22 +952,45 @@ func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result
var (
db = dao.GetDB()
)
waybills, err := dao.GetWayBillByOrderID(db, -1, model.VendorIDJX, -1, vendorOrderID)
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJX)
if len(waybills) > 0 {
// queryOrderStatus, err := api.JdEclpAPI.QueryOrderStatus(waybills[0].VendorWaybillID)
if err != nil {
return nil, err
}
// getTrackMessagePlusByOrderResult, err := api.JdEclpAPI.GetTrackMessagePlusByOrder(vendorOrderID)
dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
panic(r)
queryOrderStatus, err := api.JdEclpAPI.QueryOrderStatus(order.EclpOutID)
getTrackMessagePlusByOrderResult, err := api.JdEclpAPI.GetTrackMessagePlusByOrder(vendorOrderID)
for _, v := range queryOrderStatus.OrderStatusList {
time1 := utils.Str2Time(v.OperateTime)
status1 := v.SoStatusName
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")
waybills[0].StatusTime = time.Now()
dao.UpdateEntity(db, waybills[0], "Status", "StatusTime")
dao.Commit(db)
}
if getTrackMessagePlusByOrderResult.ResultData[len(getTrackMessagePlusByOrderResult.ResultData)-1].WaybillCode == jdeclpapi.SoStatusCode10034 {
dao.Begin(db)
defer func() {
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
}