From 6fe1659dce6190ed6da6779a8c2c04ed988f2060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 10 Mar 2020 09:34:47 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E8=AE=A2=E5=8D=95=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jx/localjx/order.go | 49 +++++++++---------- 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/business/partner/purchase/jx/localjx/order.go b/business/partner/purchase/jx/localjx/order.go index d338f5d18..de411194d 100644 --- a/business/partner/purchase/jx/localjx/order.go +++ b/business/partner/purchase/jx/localjx/order.go @@ -959,37 +959,32 @@ func GetMatterOrderStatus(ctx *jxcontext.Context, vendorOrderID string) (result 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 - if len(getTrackMessagePlusByOrderResult.ResultData) > 0 { - for _, vv := range getTrackMessagePlusByOrderResult.ResultData { - time2 := utils.Str2Time(strings.ReplaceAll(vv.OpeTime, "/", "-")) - status2 := vv.OpeTitle - name2 := vv.OpeRemark - matter := &MatterOrderStatus{} - if time2.Unix() <= time1.Unix() { - matter.Time = time2 - matter.Status = status2 - matter.Name = name2 - result = append(result, matter) - } else { - matter.Time = time1 - matter.Status = status1 - matter.Name = name1 - result = append(result, matter) - break - } - } - } else { + matter := &MatterOrderStatus{} + matter.Time = utils.Str2Time(v.OperateTime) + matter.Status = v.SoStatusName + matter.Name = v.SoStatusName + matter.Sign = 1 + result = append(result, matter) + } + if len(getTrackMessagePlusByOrderResult.ResultData) > 0 { + for _, vv := range getTrackMessagePlusByOrderResult.ResultData { matter := &MatterOrderStatus{} - matter.Time = time1 - matter.Status = status1 - matter.Name = name1 + matter.Time = utils.Str2Time(strings.ReplaceAll(vv.OpeTime, "/", "-")) + matter.Status = vv.OpeTitle + matter.Name = vv.OpeRemark + matter.Sign = 2 result = append(result, matter) } } - + for i := 0; i < len(result)-1; i++ { + for j := 0; j < len(result)-i-1; j++ { + if result[j].Time.Unix() > result[j+1].Time.Unix() || (result[j].Time.Unix() == result[j+1].Time.Unix() && result[j].Sign > result[j+1].Sign) { + tmp := result[j] + result[j] = result[j+1] + result[j+1] = tmp + } + } + } if len(queryOrderStatus.OrderStatusList) > 0 { if queryOrderStatus.OrderStatusList[len(queryOrderStatus.OrderStatusList)-1].SoStatusCode == jdeclpapi.SoStatusCode10034 { dao.Begin(db)