Parcourir la source

京东订单接口转发, 加入code校验

liurui il y a 2 ans
Parent
commit
d9af1f97f8

+ 2 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -1,6 +1,7 @@
 package com.iamberry.rst.service.cm;
 
 import com.github.pagehelper.PageHelper;
+import com.iamberry.app.tool.util.AES;
 import com.iamberry.redis.RedisUtils;
 import com.iamberry.rst.core.cm.SalesOrder;
 import com.iamberry.rst.core.cm.SalesOrderItem;
@@ -2290,6 +2291,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                     params.put("orderId", salesOrder.getSalesOrderId());
                     params.put("logiCoprId", salesOrder.getSalesPostFirm());
                     params.put("logiNo", o.getSalesPostNum());
+                    params.put("code", AES.encrypt(salesOrder.getSalesOrderId()));
                     String result = HttpClient431Util.doPost(params, jdOrderDomain + "/jingdong/orderShipment");
                     if (StringUtil.isNotEmpty(result)) {
                         OperatorResult operatorResult = com.alibaba.fastjson.JSONObject.parseObject(result, OperatorResult.class);

+ 8 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/JingdongTask.java

@@ -80,7 +80,7 @@ public class JingdongTask {
     private SysConfigService sysConfigService;
 
     static {
-        String debug = System.getProperty("isTaobao");
+        String debug = System.getProperty("isJingdong");
         System.out.println("读取到的配置数据:" + debug);
         if ("true".equalsIgnoreCase(debug)) {
             isDebug = true;
@@ -289,6 +289,13 @@ public class JingdongTask {
         req.setLogiNo(logiNo);
         try {
             PopOrderShipmentResponse rsp = client.execute(req);
+//            PopOrderShipmentResponse rsp = new PopOrderShipmentResponse();
+//            rsp.setCode("0");
+//            rsp.setMsg("伪造成功, 生产放开");
+//            OperatorResult result = new OperatorResult();
+//            result.setSuccess(true);
+//            result.setChineseErrCode("伪造成功,生产放开");
+//            rsp.setSopjosshipmentResult(result);
             logger.info("京东订单发货回录:code:{}, msg:{}", rsp.getCode(), rsp.getMsg());
             if ("0".equals(rsp.getCode())) {
                 OperatorResult sopjosshipmentResult = rsp.getSopjosshipmentResult();

+ 11 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminJingdongAuthController.java

@@ -1,6 +1,7 @@
 package com.iamberry.rst.controllers.order;
 
 import com.alibaba.fastjson.JSONObject;
+import com.iamberry.app.tool.util.AES;
 import com.iamberry.app.tool.util.HttpUtility;
 //import com.iamberry.redis.RedisUtils;
 import com.iamberry.rst.controllers.mq.JingdongTask;
@@ -178,7 +179,11 @@ public class AdminJingdongAuthController {
      */
     @RequestMapping("/orderEnGet")
     @ResponseBody
-    public OrderSearchInfo orderEnGet(@RequestParam("orderId") String orderId) {
+    public OrderSearchInfo orderEnGet(@RequestParam("orderId") String orderId, @RequestParam("code") String code) {
+        String decrypt = AES.decrypt(code);
+        if (!orderId.equals(decrypt)) {
+            return null;
+        }
         OrderSearchInfo orderDetails = jingdongTask.getOrderDetails(Long.parseLong(orderId));
         return orderDetails;
     }
@@ -191,7 +196,11 @@ public class AdminJingdongAuthController {
      */
     @RequestMapping(value = "/orderShipment")
     @ResponseBody
-    public OperatorResult orderShipment(@RequestParam("orderId") String orderId, @RequestParam("logiCoprId") String logiCoprId, @RequestParam("logiNo") String logiNo) {
+    public OperatorResult orderShipment(@RequestParam("orderId") String orderId, @RequestParam("logiCoprId") String logiCoprId, @RequestParam("logiNo") String logiNo, @RequestParam("code") String code) {
+        String decrypt = AES.decrypt(code);
+        if (!orderId.equals(decrypt)) {
+            return null;
+        }
         OperatorResult operatorResult = jingdongTask.orderShipment(orderId, logiCoprId, logiNo);
         return operatorResult;
     }

+ 2 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -2,6 +2,7 @@ package com.iamberry.rst.controllers.order;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.iamberry.app.tool.util.AES;
 import com.iamberry.redis.RedisUtils;
 import com.iamberry.rst.controllers.mq.JingdongTask;
 import com.iamberry.rst.controllers.mq.TaobaoConfig;
@@ -316,6 +317,7 @@ public class AwaitSendController {
 
                     Map<String, String> params = new HashMap<>();
                     params.put("orderId", id);
+                    params.put("code", AES.encrypt(id));
                     String result = null;
                     OrderSearchInfo details = null;
                     try {

+ 1 - 1
watero-rst-web/src/main/resources/dev-jdbc.properties

@@ -16,4 +16,4 @@ jdbc.pool.maxActive=20
 jdbc.testSql=SELECT 1
 
 # ????????Domain
-jingdong.order.domain=http://114.67.222.230/8088
+jingdong.order.domain=http://114.67.222.230:8088/watero