Pārlūkot izejas kodu

打单验证是否已发货bug fixed

liurui 2 gadi atpakaļ
vecāks
revīzija
140aeb2c9e

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 10
watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/JingdongTask.java


+ 51 - 54
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -313,64 +313,61 @@ public class AwaitSendController {
                 } else if (temp.getSalesBatchId().startsWith("JT")) {
                     LOGGER.info("京东订单需要校验订单状态{}", temp.getSalesOrderId());
                     String id = temp.getSalesExOrderId();
-
-                    Map<String, String> params = new HashMap<>();
-                    params.put("orderId", id);
-                    params.put("code", AES.encrypt(id));
-                    String result = null;
-                    OrderSearchInfo details = null;
                     try {
-                        result = HttpClient431Util.doPost(params, jdOrderDomain + "/jingdong/orderEnGet");
-                    } catch (Exception e) {
-                        throw new RuntimeException(e);
-                    }
-                    if (StringUtil.isNotEmpty(result)) {
-                        details = com.alibaba.fastjson.JSONObject.parseObject(result, OrderSearchInfo.class);
-                        LOGGER.info("请求京东详情成功,结果:{}", result);
-                    } else {
-                        LOGGER.info("请求京东详情失败,结果:{}", result);
-                    }
-
-
-                    LOGGER.info("获取到的京东订单数据:{}", JSONObject.toJSONString(details));
-                    int stats = 0;
-                    if (details == null) {
-                        LOGGER.info("未在京东找到该订单:{}", id);
-                        stats++;
-                    } else {
-                        if (!"WAIT_SELLER_STOCK_OUT".equals(details.getOrderState())) {
-                            // 订单已出库/(海外)订单待发货
-                            LOGGER.info("京东订单已在京东平台出库:{}", id);
-                            stats++;
-                        }
-                    }
+                        Map<String, String> params = new HashMap<>();
+                        params.put("orderId", id);
+                        params.put("code", AES.encrypt(id));
+                        String result = HttpClient431Util.doPost(params, jdOrderDomain + "/jingdong/orderEnGet");
+
+                        if (StringUtil.isNotEmpty(result)) {
+                            OrderSearchInfo detail = com.alibaba.fastjson.JSONObject.parseObject(result, OrderSearchInfo.class);
+                            LOGGER.info("请求京东详情成功,结果:{}", result);
+                            if (detail != null) {
+                                // 非待发货订单,同步订单数据
+                                if (!"WAIT_SELLER_STOCK_OUT".equals(detail.getOrderState()) && !"WAIT_SELLER_DELIVERY".equals(detail.getOrderState())) {
+                                    LOGGER.info("京东订单已在京东平台出库:{}", id);
+
+                                    SalesOrder sonOrder = new SalesOrder();
+                                    sonOrder.setSalesId(temp.getSalesId());
+                                    //是否通知配货0:否1:是
+                                    sonOrder.setSalesIsSend(1);
+                                    //出库状态1:未出库2:已出库
+                                    sonOrder.setSalesDeliver(2);
+                                    //发货状态0(未发货)1(已发货,即已扫描出库)3(备货中)4(收货)11(已通知配货,后加)
+                                    sonOrder.setSalesShippingStatus(1);
+                                    //确认状态  0(未确认)1(确认)2(挂起)3(作废) 4:京东自发 -- 在订单项判断中,可能会变成京东仓库自发状态
+                                    sonOrder.setSalesStatus(1);
+                                    sonOrder.setSalesDeliverTime(DateTimeUtil.parse(detail.getModified()));
+                                    sonOrder.setSalesPostFirm("jd");
+                                    sonOrder.setSalesPostNum(detail.getWaybill());
+
+                                    for (SalesOrderItem item : temp.getSalesOrderItemList()) {
+                                        //修改订单项售后状态跟随小亚通平台
+                                        SalesOrderItem newSalesOrderItem = new SalesOrderItem();
+                                        newSalesOrderItem.setItemId(item.getItemId());
+                                        newSalesOrderItem.setItemWarrantyStatus(1);
+                                        salesOrderMapper.updateOrderItemObj(newSalesOrderItem);
+                                    }
 
-                    LOGGER.info("当前不能打单数两:{}", stats);
-                    if (stats != 0) {
-                        for (SalesOrderItem item : temp.getSalesOrderItemList()) {
-                            //修改订单项售后状态跟随小亚通平台
-                            SalesOrderItem newSalesOrderItem = new SalesOrderItem();
-                            newSalesOrderItem.setItemId(item.getItemId());
-                            newSalesOrderItem.setItemWarrantyStatus(1);
-                            salesOrderMapper.updateOrderItemObj(newSalesOrderItem);
-                        }
-                        SalesOrder sonOrder = new SalesOrder();
-                        sonOrder.setSalesId(temp.getSalesId());
-                        sonOrder.setSalesShippingStatus(0);
-                        // 确认状态  0(未确认)1(确认)2(挂起)3(作废)
-                        sonOrder.setSalesStatus(0);
-                        // 无法判断退款
+                                    // 无法判断退款
 //                        sonOrder.setSalesWarrantyStatus(1);
-                        if(salesOrderService.update(sonOrder) > 0){
-                            //添加操作跟踪信息
-                            OrderTracking orderTracking = new OrderTracking();
-                            orderTracking.setAdminId(1);
-                            orderTracking.setSalesDealCode(temp.getSalesDealCode());
-                            orderTracking.setTrackingDesc("发货检测第三方订单状态异常,退回未确认状态");
-                            salesOrderService.addTracking(orderTracking);
+                                    if(salesOrderService.update(sonOrder) > 0){
+                                        //添加操作跟踪信息
+                                        OrderTracking orderTracking = new OrderTracking();
+                                        orderTracking.setAdminId(1);
+                                        orderTracking.setSalesDealCode(temp.getSalesDealCode());
+                                        orderTracking.setTrackingDesc("发货检测第三方订单状态异常,退回未确认状态");
+                                        salesOrderService.addTracking(orderTracking);
+                                    }
+                                } else {
+                                    salesOrderList.add(temp);
+                                }
+                            }
+                        } else {
+                            LOGGER.info("请求京东详情失败,jdOrderId: {}, 结果:{}", id, result);
                         }
-                    } else {
-                        salesOrderList.add(temp);
+                    } catch (Exception e) {
+                        throw new RuntimeException(e);
                     }
                 } else {
                     // 非淘宝订单 & 非淘宝订单