From d7f2d5afc1eaee5cf351ed7d5896d0879f2f1f55 Mon Sep 17 00:00:00 2001 From: yijiegong Date: Wed, 18 Sep 2024 18:17:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=94=AF=E4=BB=98=E5=AE=9D?= =?UTF-8?q?=E6=94=AF=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/service/PayService.java | 130 +++++------------- .../thirdpay/service/ThirdPayService.java | 10 +- 2 files changed, 42 insertions(+), 98 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index 1ea68a8..2f346b9 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -1545,17 +1545,13 @@ public class PayService { if (ObjectUtil.isNotNull(orderstatus) && ObjectUtil.isNotEmpty(orderstatus)) { if ("000000".equals(orderstatus.getCode())) { if ("TRADE_SUCCESS".equals(orderstatus.getObjData().getState())) { - tbQuickPay.setStatus("0"); tbQuickPay.setUpdateTime(new Date()); tbQuickPayMapper.updateByPrimaryKeySelective(tbQuickPay); } - - } } } - } return Result.success(CodeEnum.SUCCESS, tbQuickPay); @@ -1927,115 +1923,59 @@ public class PayService { } String reqbody = "店铺收款码"; + PublicResp publicResp = thirdPayService.jspay(url, thirdApply.getAppId(), thirdApply.getAppToken(), + reqbody, reqbody, orderInfo.getOrderAmount().multiply(new BigDecimal(100)).longValue(), + payType, thirdApply.getSmallAppid(), userId, ip, + DateUtils.getSsdfTimes(), thirdApply.getStoreId(), backUrl, backUrl); - if("WECHAT".equals(payType) || "ALIPAY".equals(payType)){ - PublicResp publicResp = thirdPayService.jspay(url, thirdApply.getAppId(), thirdApply.getAppToken(), - reqbody, reqbody, orderInfo.getOrderAmount().multiply(new BigDecimal(100)).longValue(), - payType, thirdApply.getSmallAppid(), userId, ip, - DateUtils.getSsdfTimes(), thirdApply.getStoreId(), backUrl, backUrl); + if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) { + if ("000000".equals(publicResp.getCode())) { + JspayResp scanpayResp = publicResp.getObjData(); + if ("TRADE_SUCCESS".equals(scanpayResp.getState())) { - if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) { - if ("000000".equals(publicResp.getCode())) { - JspayResp scanpayResp = publicResp.getObjData(); - if ("TRADE_SUCCESS".equals(scanpayResp.getState())) { + payment.setTradeNumber(scanpayResp.getPayOrderId()); + payment.setUpdatedAt(System.currentTimeMillis()); + tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); - payment.setTradeNumber(scanpayResp.getPayOrderId()); - payment.setUpdatedAt(System.currentTimeMillis()); - tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); - - //处理支付成功的订单 - orderInfo.setStatus("closed"); - orderInfo.setPayOrderNo(scanpayResp.getPayOrderId()); - tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); + //处理支付成功的订单 + orderInfo.setStatus("closed"); + orderInfo.setPayOrderNo(scanpayResp.getPayOrderId()); + tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); - ObjectMapper mapper = new ObjectMapper(); - return Result.success(CodeEnum.SUCCESS, mapper.readTree(scanpayResp.getPayInfo())); + ObjectMapper mapper = new ObjectMapper(); + return Result.success(CodeEnum.SUCCESS, mapper.readTree(scanpayResp.getPayInfo())); - } else if ("TRADE_AWAIT".equals(scanpayResp.getState())) { - orderInfo.setStatus("paying"); - orderInfo.setPayOrderNo(payment.getTradeNumber()); - tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); + } else if ("TRADE_AWAIT".equals(scanpayResp.getState())) { + orderInfo.setStatus("paying"); + orderInfo.setPayOrderNo(payment.getTradeNumber()); + tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); - payment.setTradeNumber(scanpayResp.getPayOrderId()); - payment.setUpdatedAt(System.currentTimeMillis()); - tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); + payment.setTradeNumber(scanpayResp.getPayOrderId()); + payment.setUpdatedAt(System.currentTimeMillis()); + tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); - if ("WECHAT".equals(scanpayResp.getPayType())) { - orderInfo.setPayType("WECHAT"); - } else if ("ALIPAY".equals(scanpayResp.getPayType())) { - orderInfo.setPayType("ALIPAY"); - } else if ("UNIONPAY".equals(scanpayResp.getPayType())) { - orderInfo.setPayType("UNIONPAY"); - } - - - ObjectMapper mapper = new ObjectMapper(); - - Map map=new HashMap<>(); - - map.put("orderInfo",orderInfo); - map.put("payInfo",mapper.readTree(scanpayResp.getPayInfo())); - return Result.success(CodeEnum.PAYING, map); + if ("WECHAT".equals(scanpayResp.getPayType())) { + orderInfo.setPayType("WECHAT"); + } else if ("ALIPAY".equals(scanpayResp.getPayType())) { + orderInfo.setPayType("ALIPAY"); + } else if ("UNIONPAY".equals(scanpayResp.getPayType())) { + orderInfo.setPayType("UNIONPAY"); } - } - } - }else if("ALIPAY".equals(payType)){ - PublicResp publicResp= thirdPayService.apppay(url,thirdApply.getAppId(),thirdApply.getAppToken(), - reqbody,reqbody,orderInfo.getOrderAmount().multiply(new BigDecimal(100)).longValue(), - payType,ip,DateUtils.getSsdfTimes(),thirdApply.getStoreId(),backUrl,backUrl); - - if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) { - if ("000000".equals(publicResp.getCode())) { - ApppayResp scanpayResp = publicResp.getObjData(); - if ("TRADE_SUCCESS".equals(scanpayResp.getState())) { - - payment.setTradeNumber(scanpayResp.getPayOrderId()); - payment.setUpdatedAt(System.currentTimeMillis()); - tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); - - //处理支付成功的订单 - orderInfo.setStatus("closed"); - orderInfo.setPayOrderNo(scanpayResp.getPayOrderId()); - tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); - ObjectMapper mapper = new ObjectMapper(); - return Result.success(CodeEnum.SUCCESS, mapper.readTree(scanpayResp.getPayInfo())); + ObjectMapper mapper = new ObjectMapper(); - } else if ("TRADE_AWAIT".equals(scanpayResp.getState())) { - orderInfo.setStatus("paying"); - orderInfo.setPayOrderNo(payment.getTradeNumber()); - tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); + Map map=new HashMap<>(); - payment.setTradeNumber(scanpayResp.getPayOrderId()); - payment.setUpdatedAt(System.currentTimeMillis()); - tbOrderPaymentMapper.updateByPrimaryKeySelective(payment); - - - if ("WECHAT".equals(scanpayResp.getPayType())) { - orderInfo.setPayType("WECHAT"); - } else if ("ALIPAY".equals(scanpayResp.getPayType())) { - orderInfo.setPayType("ALIPAY"); - } else if ("UNIONPAY".equals(scanpayResp.getPayType())) { - orderInfo.setPayType("UNIONPAY"); - } - - - ObjectMapper mapper = new ObjectMapper(); - - Map map=new HashMap<>(); - - map.put("orderInfo",orderInfo); - map.put("payInfo",mapper.readTree(scanpayResp.getPayInfo())); - return Result.success(CodeEnum.PAYING, map); - } + map.put("orderInfo",orderInfo); + map.put("payInfo",mapper.readTree(scanpayResp.getPayInfo())); + return Result.success(CodeEnum.PAYING, map); } } } - return Result.fail(CodeEnum.FAIL); } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/thirdpay/service/ThirdPayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/thirdpay/service/ThirdPayService.java index e588ff6..adc6d43 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/thirdpay/service/ThirdPayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/thirdpay/service/ThirdPayService.java @@ -197,9 +197,13 @@ public class ThirdPayService { * @param key * @return */ - public PublicResp returnOrder(String url,String appId, String mchRefundNo, String payOrderId, String mchOrderNo, String refundReason, Long refundAmount, String notifyUrl, String extParam,String key){ - OrderRefundReq req=new OrderRefundReq(mchRefundNo, payOrderId, mchOrderNo, refundReason, refundAmount, notifyUrl, extParam); - PublicParam param=new PublicParam(appId,null,SignTypeEnum.MD5.getValue(), null,DateUtils.getSdfTimes(), "1.0", String.valueOf(System.currentTimeMillis())); + public PublicResp returnOrder(String url,String appId, String mchRefundNo, String payOrderId, + String mchOrderNo, String refundReason, Long refundAmount, + String notifyUrl, String extParam,String key){ + OrderRefundReq req=new OrderRefundReq(mchRefundNo, payOrderId, mchOrderNo, refundReason, refundAmount, + notifyUrl, extParam); + PublicParam param=new PublicParam(appId,null,SignTypeEnum.MD5.getValue(), null,DateUtils.getSdfTimes(), + "1.0", String.valueOf(System.currentTimeMillis())); try { String str = JSONUtil.toJSONString(sortFields(req)); param.setBizData(str);