Browse Source

注释,异常提示优化

郑杰 2 years ago
parent
commit
4c5d2cd746

+ 2 - 2
framework/src/main/java/cn/lili/modules/order/customs/CustomPayload.java

@@ -19,9 +19,9 @@ public enum CustomPayload {
19
     public String dxpId;
19
     public String dxpId;
20
     /** 默认为DXP,指中国电子口岸数据交换平台 */
20
     /** 默认为DXP,指中国电子口岸数据交换平台 */
21
     public String dxpMode;
21
     public String dxpMode;
22
-    /** 报文传输的企业名称 */
23
-    public String copCode;
24
     /** 报文传输的企业代码(海关编码,需要与接入客户端的企业身份一致) */
22
     /** 报文传输的企业代码(海关编码,需要与接入客户端的企业身份一致) */
23
+    public String copCode;
24
+    /** 报文传输的企业名称 */
25
     public String copName;
25
     public String copName;
26
     /** 签名key */
26
     /** 签名key */
27
     public String signKey;
27
     public String signKey;

+ 7 - 4
framework/src/main/java/cn/lili/modules/order/customs/JiangyinServiceManager.java

@@ -44,7 +44,7 @@ public class JiangyinServiceManager {
44
         this.orderCustomsMapper = orderCustomsMapper;
44
         this.orderCustomsMapper = orderCustomsMapper;
45
     }
45
     }
46
 
46
 
47
-    public void push(OrderDetailVO detailVO){
47
+    public boolean push(OrderDetailVO detailVO){
48
         Assert.isTrue(!detailVO.getOrder().getCustomsFlag(), () -> new ServiceException(ORDER_CUSTOMS_ERROR,"订单已推送海关,请勿重复推送"));
48
         Assert.isTrue(!detailVO.getOrder().getCustomsFlag(), () -> new ServiceException(ORDER_CUSTOMS_ERROR,"订单已推送海关,请勿重复推送"));
49
         Assert.isTrue(PayStatusEnum.PAID.name().equals(detailVO.getOrder().getPayStatus()),
49
         Assert.isTrue(PayStatusEnum.PAID.name().equals(detailVO.getOrder().getPayStatus()),
50
                 () -> new ServiceException(ORDER_CUSTOMS_ERROR,"订单尚未支付,无法推送海关"));
50
                 () -> new ServiceException(ORDER_CUSTOMS_ERROR,"订单尚未支付,无法推送海关"));
@@ -54,8 +54,9 @@ public class JiangyinServiceManager {
54
         log.info("method input param: {}, payload: {}", JSONUtil.toJsonStr(detailVO), payload.toString());
54
         log.info("method input param: {}, payload: {}", JSONUtil.toJsonStr(detailVO), payload.toString());
55
         // 报文内容(密文)
55
         // 报文内容(密文)
56
         CustomsExchange exchange = new CustomsExchange(UUID.randomUUID().toString(), detailVO);
56
         CustomsExchange exchange = new CustomsExchange(UUID.randomUUID().toString(), detailVO);
57
-        customsRec.setReqMsg(converter.toReq(exchange, payload));
58
-        String encryptContent = AESEncrypt.encrypt(customsRec.getReqMsg(), payload.signKey);
57
+        final String reqMsg = converter.toReq(exchange, payload);
58
+        customsRec.setReqMsg(reqMsg);
59
+        String encryptContent = AESEncrypt.encrypt(reqMsg, payload.signKey);
59
         // 构建参数
60
         // 构建参数
60
         JiangyinServiceParam param = JiangyinServiceParam.builder()
61
         JiangyinServiceParam param = JiangyinServiceParam.builder()
61
                 .signMsg(converter.getSign(encryptContent, payload.signKey))
62
                 .signMsg(converter.getSign(encryptContent, payload.signKey))
@@ -70,7 +71,8 @@ public class JiangyinServiceManager {
70
         String res = HttpUtil.post(JIANGYIN_ORDER_PUSH_URL, paramMap, 30000);
71
         String res = HttpUtil.post(JIANGYIN_ORDER_PUSH_URL, paramMap, 30000);
71
         log.info("response msg: {}", res);
72
         log.info("response msg: {}", res);
72
         customsRec.setResMsg(res);
73
         customsRec.setResMsg(res);
73
-        if (converter.checkSuccess(res)){
74
+        boolean success = converter.checkSuccess(res);
75
+        if (success){
74
             // 推送成功更新订单状态为已推送
76
             // 推送成功更新订单状态为已推送
75
             Order order = exchange.getOrderDetailVO().getOrder();
77
             Order order = exchange.getOrderDetailVO().getOrder();
76
             order.setCustomsFlag(true);
78
             order.setCustomsFlag(true);
@@ -78,6 +80,7 @@ public class JiangyinServiceManager {
78
             orderMapper.updateById(order);
80
             orderMapper.updateById(order);
79
         }
81
         }
80
         orderCustomsMapper.insert(customsRec);
82
         orderCustomsMapper.insert(customsRec);
83
+        return success;
81
     }
84
     }
82
 }
85
 }
83
 
86
 

+ 1 - 1
framework/src/main/java/cn/lili/modules/order/customs/converter/JiangyinServiceReqConverter.java

@@ -59,7 +59,7 @@ public class JiangyinServiceReqConverter implements CustomsReqConverter{
59
         } catch (Exception e) {
59
         } catch (Exception e) {
60
             e.printStackTrace();
60
             e.printStackTrace();
61
         }
61
         }
62
-        throw new RuntimeException("gen sign failed.");
62
+        throw new ServiceException(ORDER_CUSTOMS_ERROR, "签名生成失败");
63
     }
63
     }
64
 
64
 
65
     @Override
65
     @Override

+ 1 - 1
framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java

@@ -178,7 +178,7 @@ public interface OrderService extends IService<Order> {
178
      *
178
      *
179
      * @param orderSn 订单编号
179
      * @param orderSn 订单编号
180
      */
180
      */
181
-    void customsPush(String orderSn);
181
+    boolean customsPush(String orderSn);
182
 
182
 
183
     /**
183
     /**
184
      * 订单核验
184
      * 订单核验

+ 2 - 2
framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java

@@ -460,11 +460,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
460
     @Override
460
     @Override
461
     @OrderLogPoint(description = "'订单['+#orderSn+']申请报关'", orderSn = "#orderSn")
461
     @OrderLogPoint(description = "'订单['+#orderSn+']申请报关'", orderSn = "#orderSn")
462
     @Transactional(rollbackFor = Exception.class)
462
     @Transactional(rollbackFor = Exception.class)
463
-    public void customsPush(String orderSn) {
463
+    public boolean customsPush(String orderSn) {
464
         //获取订单信息
464
         //获取订单信息
465
         OrderDetailVO detailVO = this.queryDetail(orderSn);
465
         OrderDetailVO detailVO = this.queryDetail(orderSn);
466
         // 海关平台推送
466
         // 海关平台推送
467
-        jiangyinServiceManager.push(detailVO);
467
+        return jiangyinServiceManager.push(detailVO);
468
     }
468
     }
469
 
469
 
470
     @Override
470
     @Override

+ 1 - 2
seller-api/src/main/java/cn/lili/controller/order/OrderStoreController.java

@@ -178,7 +178,6 @@ public class OrderStoreController {
178
     @ApiOperation(value = "申请报关")
178
     @ApiOperation(value = "申请报关")
179
     @PostMapping(path = "/customs/push/{orderSn}")
179
     @PostMapping(path = "/customs/push/{orderSn}")
180
     public ResultMessage<Object> customsPush(@NotBlank(message = "订单编号不能为空") @PathVariable String orderSn) {
180
     public ResultMessage<Object> customsPush(@NotBlank(message = "订单编号不能为空") @PathVariable String orderSn) {
181
-        orderService.customsPush(orderSn);
182
-        return ResultUtil.data("推送成功");
181
+        return ResultUtil.data(orderService.customsPush(orderSn)? "推送成功" : "推送失败");
183
     }
182
     }
184
 }
183
 }