From 064d32c93c4578246f4871269b8a8a2f373b63f5 Mon Sep 17 00:00:00 2001 From: liuyingfang <1357764963@qq.com> Date: Tue, 13 Jun 2023 11:17:42 +0800 Subject: [PATCH] =?UTF-8?q?pos=E8=B4=A6=E5=8D=95=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MerchantOrderController.java | 34 ++++++++++++------- .../interceptor/TokenRegistryInterceptor.java | 1 + .../java/cn/pluss/platform/pos/PosPay.java | 4 +++ .../pluss/platform/vo/MerchantOrderPosVO.java | 13 ++++++- 4 files changed, 38 insertions(+), 14 deletions(-) diff --git a/pluss-api-page/src/main/java/cn/pluss/platform/controller/MerchantOrderController.java b/pluss-api-page/src/main/java/cn/pluss/platform/controller/MerchantOrderController.java index 6c17fef..06ed1c8 100644 --- a/pluss-api-page/src/main/java/cn/pluss/platform/controller/MerchantOrderController.java +++ b/pluss-api-page/src/main/java/cn/pluss/platform/controller/MerchantOrderController.java @@ -12,6 +12,7 @@ import cn.pluss.platform.deviceStock.DeviceStockService; import cn.pluss.platform.dto.*; import cn.pluss.platform.entity.*; import cn.pluss.platform.exception.MsgException; +import cn.pluss.platform.klk.service.LklPayService; import cn.pluss.platform.mapper.MerchantChannelStatusMapper; import cn.pluss.platform.mapper.MerchantOrderVOMapper; import cn.pluss.platform.memberOrder.MemberOrderService; @@ -81,6 +82,7 @@ public class MerchantOrderController { private final MerchantMenberRechargeService merchantMenberRechargeService; private final SxfPayService sxfPayService; private final RyxPayService ryxPayService; + private final LklPayService lklPayService; private final MerchantChannelStatusMapper merchantChannelStatusMapper; @Autowired private DeviceStockService deviceStockService; @@ -856,23 +858,21 @@ public class MerchantOrderController { } return ResultGenerator.genSuccessResult("获取成功",order); } - @GetMapping("/pos/tradeQuery/{orderNumber}") - @ApiOperation(value = "pos交易订单支付结果查询", notes = "交易订单支付结果查询", httpMethod = "GET") - @ApiImplicitParams({ - @ApiImplicitParam(name = "orderNumber", value = "查询的orderNumber", paramType = "orderNumber", required = true, dataType = "String")}) - public Result posTradeQuery(@PathVariable String orderNumber, String timestamp, - String requestId, String token, String appId) throws Exception { + @PostMapping("/posTradeQueryNumber") + public JSONObject posTradeQuery(@RequestBody BasePosReq req) throws Exception { //首先验签 - verify(timestamp, requestId, appId, token); + verify(req.getTimestamp(), req.getRequestId(), req.getAppId(), req.getToken(), + req.getReqData()); + PosPay posPay = JSONObject.parseObject(req.getReqData(), PosPay.class); // 校验参数是否完整 - if (StringUtil.isEmpty(orderNumber)) { - return ResultGenerator.genFailResult("无订单号"); + if (StringUtil.isEmpty(posPay.getOrderNumber())) { + return ResultGenerator.genFailJsonPos("无订单号", req.getAppId(), req.getReqData()); } QueryWrapper queryWrapper = new QueryWrapper() - .eq("orderNumber",orderNumber); + .eq("orderNumber", posPay.getOrderNumber()); MerchantOrder order = merchantOrderService.getOne(queryWrapper); if(order == null){ - return ResultGenerator.genFailResult("订单数据异常"); + return ResultGenerator.genFailJsonPos("订单数据异常", req.getAppId(), req.getReqData()); } MerchantOrderPosVO orderPosVO = new MerchantOrderPosVO(); //支付成功 @@ -880,7 +880,10 @@ public class MerchantOrderController { orderPosVO.setConsumeFee(order.getConsumeFee()); orderPosVO.setStatus(order.getStatus()); orderPosVO.setPayTypeCode(order.getPayTypeCode()); - return ResultGenerator.genSuccessResult("获取成功",orderPosVO); + orderPosVO.setOrderNumber(order.getOrderNumber()); + orderPosVO.setMercOrderNo(order.getMercOrderNo()); + orderPosVO.setTransTime(String.valueOf(order.getTransDt())); + return ResultGenerator.genSuccessJsonPos(orderPosVO, req.getAppId(), req.getReqData()); } String aisleSwitch = order.getAisleSwitch(); MerchantChannelStatus channel = null; @@ -904,6 +907,8 @@ public class MerchantOrderController { case 4: result = ysPayOldService.tradeQuery(order,channel.getMerchantId()); break; + case 5: + //result = lklPayService.tradeQuery(order,channel.getMerchantId()); } if(result != null){ @@ -916,8 +921,11 @@ public class MerchantOrderController { orderPosVO.setConsumeFee(order.getConsumeFee()); orderPosVO.setStatus(order.getStatus()); orderPosVO.setPayTypeCode(order.getPayTypeCode()); + orderPosVO.setOrderNumber(order.getOrderNumber()); + orderPosVO.setMercOrderNo(order.getMercOrderNo()); + orderPosVO.setTransTime(String.valueOf(order.getTransDt())); } - return ResultGenerator.genSuccessResult("获取成功", orderPosVO); + return ResultGenerator.genSuccessJsonPos(orderPosVO, req.getAppId(), req.getReqData()); } @GetMapping("/closeOrder") diff --git a/pluss-api-page/src/main/java/cn/pluss/platform/interceptor/TokenRegistryInterceptor.java b/pluss-api-page/src/main/java/cn/pluss/platform/interceptor/TokenRegistryInterceptor.java index 0a45e9d..05cbe03 100644 --- a/pluss-api-page/src/main/java/cn/pluss/platform/interceptor/TokenRegistryInterceptor.java +++ b/pluss-api-page/src/main/java/cn/pluss/platform/interceptor/TokenRegistryInterceptor.java @@ -72,6 +72,7 @@ public class TokenRegistryInterceptor extends HandlerInterceptorAdapter { limitUri.add("/api/lkl/queryMerchantChannelStatus"); limitUri.add("/api/auditCallback/tradeCallBack"); limitUri.add("/api/merchantOrder/posTradeQuery"); + limitUri.add("/api/merchantOrder/posTradeQueryNumber"); boolean passFlag = limitUri.stream().anyMatch(s -> s.equals(requestUri) || requestUri.startsWith(s)); if (passFlag) { return true; diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/pos/PosPay.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/pos/PosPay.java index 8c89e27..dfbf382 100644 --- a/pluss-model-bundle/src/main/java/cn/pluss/platform/pos/PosPay.java +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/pos/PosPay.java @@ -32,4 +32,8 @@ public class PosPay { *备注 */ private String remark; + /** + * 订单号 + */ + private String orderNumber; } diff --git a/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantOrderPosVO.java b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantOrderPosVO.java index effcfa0..a1def76 100644 --- a/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantOrderPosVO.java +++ b/pluss-model-bundle/src/main/java/cn/pluss/platform/vo/MerchantOrderPosVO.java @@ -22,5 +22,16 @@ public class MerchantOrderPosVO { * 交易状态 0:交易失败 1:交易成功 2:退款成功 3:退款失败 4:退款中 5:待付款 6部分退款 7:待确认 */ private String status; - + /** + * 银收客订单号 + */ + private String orderNumber; + /** + * 下游订单号 + */ + private String mercOrderNo; + /** + * 订单生成时间 + */ + private String transTime; }