Forráskód Böngészése

注释,异常提示优化

郑杰 2 év óta
szülő
commit
4c5d2cd746

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

@@ -19,9 +19,9 @@ public enum CustomPayload {
19 19
     public String dxpId;
20 20
     /** 默认为DXP,指中国电子口岸数据交换平台 */
21 21
     public String dxpMode;
22
-    /** 报文传输的企业名称 */
23
-    public String copCode;
24 22
     /** 报文传输的企业代码(海关编码,需要与接入客户端的企业身份一致) */
23
+    public String copCode;
24
+    /** 报文传输的企业名称 */
25 25
     public String copName;
26 26
     /** 签名key */
27 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 44
         this.orderCustomsMapper = orderCustomsMapper;
45 45
     }
46 46
 
47
-    public void push(OrderDetailVO detailVO){
47
+    public boolean push(OrderDetailVO detailVO){
48 48
         Assert.isTrue(!detailVO.getOrder().getCustomsFlag(), () -> new ServiceException(ORDER_CUSTOMS_ERROR,"订单已推送海关,请勿重复推送"));
49 49
         Assert.isTrue(PayStatusEnum.PAID.name().equals(detailVO.getOrder().getPayStatus()),
50 50
                 () -> new ServiceException(ORDER_CUSTOMS_ERROR,"订单尚未支付,无法推送海关"));
@@ -54,8 +54,9 @@ public class JiangyinServiceManager {
54 54
         log.info("method input param: {}, payload: {}", JSONUtil.toJsonStr(detailVO), payload.toString());
55 55
         // 报文内容(密文)
56 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 61
         JiangyinServiceParam param = JiangyinServiceParam.builder()
61 62
                 .signMsg(converter.getSign(encryptContent, payload.signKey))
@@ -70,7 +71,8 @@ public class JiangyinServiceManager {
70 71
         String res = HttpUtil.post(JIANGYIN_ORDER_PUSH_URL, paramMap, 30000);
71 72
         log.info("response msg: {}", res);
72 73
         customsRec.setResMsg(res);
73
-        if (converter.checkSuccess(res)){
74
+        boolean success = converter.checkSuccess(res);
75
+        if (success){
74 76
             // 推送成功更新订单状态为已推送
75 77
             Order order = exchange.getOrderDetailVO().getOrder();
76 78
             order.setCustomsFlag(true);
@@ -78,6 +80,7 @@ public class JiangyinServiceManager {
78 80
             orderMapper.updateById(order);
79 81
         }
80 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 59
         } catch (Exception e) {
60 60
             e.printStackTrace();
61 61
         }
62
-        throw new RuntimeException("gen sign failed.");
62
+        throw new ServiceException(ORDER_CUSTOMS_ERROR, "签名生成失败");
63 63
     }
64 64
 
65 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 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 460
     @Override
461 461
     @OrderLogPoint(description = "'订单['+#orderSn+']申请报关'", orderSn = "#orderSn")
462 462
     @Transactional(rollbackFor = Exception.class)
463
-    public void customsPush(String orderSn) {
463
+    public boolean customsPush(String orderSn) {
464 464
         //获取订单信息
465 465
         OrderDetailVO detailVO = this.queryDetail(orderSn);
466 466
         // 海关平台推送
467
-        jiangyinServiceManager.push(detailVO);
467
+        return jiangyinServiceManager.push(detailVO);
468 468
     }
469 469
 
470 470
     @Override

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

@@ -178,7 +178,6 @@ public class OrderStoreController {
178 178
     @ApiOperation(value = "申请报关")
179 179
     @PostMapping(path = "/customs/push/{orderSn}")
180 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
 }