From 381afd9e82b6e8610aeb00b8d4c0ff138195bb2d Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期五, 01 十一月 2024 13:13:50 +0800 Subject: [PATCH] fix: 钱包供应商财务1 --- src/main/java/com/mzl/flower/service/payment/UserPaymentSybService.java | 40 ++++++++++++++++++++++++++++++++++------ 1 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/payment/UserPaymentSybService.java b/src/main/java/com/mzl/flower/service/payment/UserPaymentSybService.java index 01a85ae..e756717 100644 --- a/src/main/java/com/mzl/flower/service/payment/UserPaymentSybService.java +++ b/src/main/java/com/mzl/flower/service/payment/UserPaymentSybService.java @@ -343,6 +343,10 @@ SybPayService service = new SybPayService(); Map<String,String> params = service.query(orderId, up.getTransactionId()); + String retcode = params.get("retcode"); + if(!"SUCCESS".equals(retcode)){ + throw new ValidationException("查询订单交易状态失败: " + params.get("retmsg")); + } String trxstatus = params.get("trxstatus");//支付状态 if("1001".equals(trxstatus) || "3088".equals(trxstatus)){ @@ -357,10 +361,15 @@ Map<String,String> map = service.close(trxid, orderId); log.info("======关闭订单结果" + toJSONString(map)); - String retcode = map.get("retcode"); + retcode = map.get("retcode"); if(!"SUCCESS".equals(retcode)){ - throw new ValidationException("取消订单失败: " + map.get("retmsg")); + throw new ValidationException("调用通联关闭订单失败: " + map.get("retmsg")); } + trxstatus = map.get("trxstatus"); + if(!"0000".equals(trxstatus)){ + throw new ValidationException("取消订单失败: " + map.get("errmsg")); + } + } else { throw new ValidationException("订单不可取消"); } @@ -451,7 +460,14 @@ Map<String,String> map = service.cancel(trxamt, reqsn, oldtrxid, oldreqsn); String retcode = map.get("retcode"); if(!"SUCCESS".equals(retcode)){ - throw new ValidationException("订单退款失败: " + map.get("retmsg")); + throw new ValidationException("调用通联撤销接口失败: " + map.get("retmsg")); + } + + //这个不是订单状态,是通用的,如果是支付查询,代表就是订单状态,如果是退款代表的是退款状态 + String trxstatus = map.get("trxstatus"); + if(!"0000".equals(trxstatus)){ + log.error("通联撤销交易失败:" + map.get("errmsg")); + throw new ValidationException("订单退款交易失败:" + map.get("errmsg")); } updateOrderRefund(orderId, oldtrxid); @@ -478,7 +494,13 @@ Map<String,String> map = service.refund(trxamt, reqsn, oldtrxid, oldreqsn); String retcode = map.get("retcode"); if(!"SUCCESS".equals(retcode)){ - throw new ValidationException("订单退款失败: " + map.get("retmsg")); + throw new ValidationException("调用通联退款失败: " + map.get("retmsg")); + } + + //这个不是订单状态,是通用的,如果是支付查询,代表就是订单状态,如果是退款代表的是退款状态 + String trxstatus = map.get("trxstatus"); + if(!"0000".equals(trxstatus)){ + throw new ValidationException("订单退款交易失败:" + map.get("errmsg")); } updateOrderRefund(orderId, oldtrxid); @@ -546,7 +568,7 @@ new QueryWrapper<UserPayment>().eq("order_id", o.getId())); long trxamt = refund; - String reqsn = o.getId(); + String reqsn = re.getId();//退款单的id String oldtrxid = up.getTransactionId(); String oldreqsn = null; @@ -554,7 +576,13 @@ Map<String,String> map = service.refund(trxamt, reqsn, oldtrxid, oldreqsn); String retcode = map.get("retcode"); if(!"SUCCESS".equals(retcode)){ - throw new ValidationException("订单退款失败: " + map.get("retmsg")); + throw new ValidationException("调用通联退款失败: " + map.get("retmsg")); + } + + //这个不是订单状态,是通用的,如果是支付查询,代表就是订单状态,如果是退款代表的是退款状态 + String trxstatus = map.get("trxstatus"); + if(!"0000".equals(trxstatus)){ + throw new ValidationException("订单退款交易失败:" + map.get("errmsg")); } re.setRequest(toJSONString(map)); -- Gitblit v1.9.3