zxfqwert 1 vecka sedan
förälder
incheckning
62e0994ec0

+ 22 - 1
jd-logistics-modules/jd-logistics-system/pom.xml

@@ -58,7 +58,13 @@
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-common-datascope</artifactId>
         </dependency>
-        
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.8.11</version>
+        </dependency>
+
+
         <!-- RuoYi Common Log -->
         <dependency>
             <groupId>com.ruoyi</groupId>
@@ -78,6 +84,21 @@
             <type>jar</type>
             <version>2.1.7</version>
         </dependency>
+
+        <dependency>
+            <groupId>com.jd</groupId>
+            <artifactId>lop-opensdk-support</artifactId>
+            <version>1.0.30</version>
+        </dependency>
+        <dependency>
+            <groupId>com.jd</groupId>
+            <artifactId>ECAP</artifactId>
+            <version>6.9</version>
+        </dependency>
+
+
+
+
     </dependencies>
 
     <build>

+ 3 - 2
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/controller/BizWaybillOrderController.java

@@ -1,5 +1,6 @@
 package com.ruoyi.logistics.controller;
 
+import java.io.UnsupportedEncodingException;
 import java.util.List;
 import java.io.IOException;
 import javax.servlet.http.HttpServletResponse;
@@ -76,8 +77,8 @@ public class BizWaybillOrderController extends BaseController
     @RequiresPermissions("system:order:add")
     @Log(title = "运单管理", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody BizWaybillOrder bizWaybillOrder)
-    {
+    public AjaxResult add(@RequestBody BizWaybillOrder bizWaybillOrder) throws UnsupportedEncodingException {
+
         return toAjax(bizWaybillOrderService.insertBizWaybillOrder(bizWaybillOrder));
     }
 

+ 2 - 1
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/IBizWaybillOrderService.java

@@ -1,5 +1,6 @@
 package com.ruoyi.logistics.service;
 
+import java.io.UnsupportedEncodingException;
 import java.util.List;
 import com.ruoyi.logistics.domain.BizWaybillOrder;
 
@@ -33,7 +34,7 @@ public interface IBizWaybillOrderService
      * @param bizWaybillOrder 运单管理
      * @return 结果
      */
-    public int insertBizWaybillOrder(BizWaybillOrder bizWaybillOrder);
+    public int insertBizWaybillOrder(BizWaybillOrder bizWaybillOrder) throws UnsupportedEncodingException;
 
     /**
      * 修改运单管理

+ 21 - 5
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/LogisticsOrderService.java

@@ -1,5 +1,8 @@
 package com.ruoyi.logistics.service;
 
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.logistics.domain.BizWaybillOrder;
 import com.ruoyi.logistics.domain.LogisticsOrder;
 import com.ruoyi.logistics.service.factory.LogisticsFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -12,15 +15,28 @@ public class LogisticsOrderService {
     @Autowired
     private LogisticsFactory logisticsFactory;
 
-    public String createOrder(LogisticsOrder logisticsOrder) throws UnsupportedEncodingException {
+
+    public JSONObject precheckOrder(BizWaybillOrder bizWaybillOrder) throws UnsupportedEncodingException {
         // 根据订单中的物流公司类型获取对应服务
-        LogisticsService logisticsService = logisticsFactory.getLogisticsService(logisticsOrder.getOrderType());
-        String trackingNumber = logisticsService.createOrder(logisticsOrder);
+        LogisticsService logisticsService = logisticsFactory.getLogisticsService(bizWaybillOrder.getOrderType()==1?"JD":"SF");
+        JSONObject  precheckOrder= logisticsService.precheckOrder(bizWaybillOrder);
+        return precheckOrder;
+    }
+
 
-        // 保存订单... logisticsOrder.save();
-        return trackingNumber;
+    public JSONObject createOrder(BizWaybillOrder bizWaybillOrder) throws UnsupportedEncodingException {
+        // 根据订单中的物流公司类型获取对应服务
+        LogisticsService logisticsService = logisticsFactory.getLogisticsService(bizWaybillOrder.getOrderType()==1?"JD":"SF");
+        JSONObject  createOrder= logisticsService.createOrder(bizWaybillOrder);
+        return createOrder;
     }
 
+    public JSONObject cancelOrder(BizWaybillOrder bizWaybillOrder) throws UnsupportedEncodingException {
+        // 根据订单中的物流公司类型获取对应服务
+        LogisticsService logisticsService = logisticsFactory.getLogisticsService(bizWaybillOrder.getOrderType()==1?"JD":"SF");
+        JSONObject  cancelOrder= logisticsService.cancelOrder(bizWaybillOrder);
+        return cancelOrder;
+    }
 
 
 }

+ 37 - 9
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/LogisticsService.java

@@ -1,15 +1,43 @@
 package com.ruoyi.logistics.service;
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.logistics.domain.BizWaybillOrder;
+/**
+ * 物流相关接口定义
+ *
+ * @author RuiJing
+ * @date 2026-02-02
+ */
+public interface LogisticsService {
 
-import com.ruoyi.logistics.domain.LogisticsOrder;
-
-import java.io.UnsupportedEncodingException;
 
-public interface LogisticsService {
+    /**
+     * 预下单  检验能否正常下单
+     *
+     * @author RuiJing
+     * @date 2026-02-02
+     */
+    JSONObject precheckOrder(BizWaybillOrder bizWaybillOrder);
+    /**
+     * 创建物流订单
+     *
+     * @author RuiJing
+     * @date 2026-02-02
+     */
+    JSONObject createOrder(BizWaybillOrder bizWaybillOrder) ;
 
-    //预下单
-    String precheckOrder();
-    //创建物流订单
-    String createOrder(LogisticsOrder logisticsOrder) throws UnsupportedEncodingException;
-    //取消物流订单
+    /**
+     * 取消物流订单
+     *
+     * @author RuiJing
+     * @date 2026-02-02
+     */
 
+    JSONObject cancelOrder(BizWaybillOrder bizWaybillOrder) ;
+    /**
+     *修改物流订单
+     *
+     * @author RuiJing
+     * @date 2026-02-02
+     */
+    JSONObject modifyOrder(BizWaybillOrder bizWaybillOrder) ;
 }

+ 12 - 2
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/impl/BizWaybillOrderServiceImpl.java

@@ -1,7 +1,10 @@
 package com.ruoyi.logistics.service.impl;
 
+import java.io.UnsupportedEncodingException;
 import java.util.List;
 import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.logistics.service.LogisticsOrderService;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.logistics.mapper.BizWaybillOrderMapper;
@@ -19,6 +22,8 @@ public class BizWaybillOrderServiceImpl implements IBizWaybillOrderService
 {
     @Autowired
     private BizWaybillOrderMapper bizWaybillOrderMapper;
+    @Autowired
+    LogisticsOrderService logisticsOrderService;
 
     /**
      * 查询运单管理
@@ -29,6 +34,7 @@ public class BizWaybillOrderServiceImpl implements IBizWaybillOrderService
     @Override
     public BizWaybillOrder selectBizWaybillOrderByWaybillId(Long waybillId)
     {
+
         return bizWaybillOrderMapper.selectBizWaybillOrderByWaybillId(waybillId);
     }
 
@@ -51,8 +57,10 @@ public class BizWaybillOrderServiceImpl implements IBizWaybillOrderService
      * @return 结果
      */
     @Override
-    public int insertBizWaybillOrder(BizWaybillOrder bizWaybillOrder)
-    {
+    public int insertBizWaybillOrder(BizWaybillOrder bizWaybillOrder) throws UnsupportedEncodingException {
+
+        logisticsOrderService.createOrder(bizWaybillOrder);
+
         bizWaybillOrder.setCreateTime(DateUtils.getNowDate());
         return bizWaybillOrderMapper.insertBizWaybillOrder(bizWaybillOrder);
     }
@@ -67,6 +75,8 @@ public class BizWaybillOrderServiceImpl implements IBizWaybillOrderService
     public int updateBizWaybillOrder(BizWaybillOrder bizWaybillOrder)
     {
         bizWaybillOrder.setUpdateTime(DateUtils.getNowDate());
+
+
         return bizWaybillOrderMapper.updateBizWaybillOrder(bizWaybillOrder);
     }