From bf876c24f9ecfa480c3e014202a03adb250354af Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 14 Mar 2025 20:07:28 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/PayServiceImpl.java | 57 +++++++++++++++++++++++++++++++++------------------------
1 files changed, 33 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/PayServiceImpl.java b/src/main/java/com/nq/service/impl/PayServiceImpl.java
index 701758b..4e2ee11 100644
--- a/src/main/java/com/nq/service/impl/PayServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/PayServiceImpl.java
@@ -90,12 +90,12 @@
String reqUrl = "https://api.watchglbpay.com/pay/web";
-// User user = userService.getCurrentRefreshUser(request);
-// if(ObjectUtils.isNotEmpty(user)){
-// GoogleTranslateUtil googleTranslateUtil = new GoogleTranslateUtil();
-// String lang = request.getHeader("lang");
-// return ServerResponse.createByErrorMsg(new Gson().toJson(ServerResponse.createByErrorCodeMsg(401,googleTranslateUtil.translate("请登录",lang ))));
-// }
+ User user = userService.getCurrentRefreshUser(request);
+ if(ObjectUtils.isEmpty(user)){
+ GoogleTranslateUtil googleTranslateUtil = new GoogleTranslateUtil();
+ String lang = request.getHeader("lang");
+ return ServerResponse.createByErrorMsg(new Gson().toJson(ServerResponse.createByErrorCodeMsg(401,googleTranslateUtil.translate("请登录",lang ))));
+ }
Map<String, String> params = new TreeMap<String, String>();
//版本号 需同步返回JSON 必填,固定值 1.0
params.put("version", "1.0");
@@ -107,7 +107,7 @@
//商家订单号 保证每笔订单唯一
params.put("mch_order_no", generatePayOrderId());
//异步通知地址 不超过 200 字节,支付成功后发起,不能携带参数
- params.put("notify_url", "http://api.durocaspitall.com/user/rechargeCallback.do");
+ params.put("notify_url", "https://api.durocaspitall.com/user/rechargeCallback.do");
// 订单时间 时间格式yyyy-MM-dd HH:mm:ss
params.put("order_date", getOrderTime());
//支付类型 请查阅商户后台通道编码
@@ -133,9 +133,6 @@
System.out.println("result值:" + result);
- if(StringUtils.isEmpty(result)){
- return ServerResponse.createByErrorMsg("获取充值链接失败",request);
- }
// 创建 ObjectMapper 实例
ObjectMapper objectMapper = new ObjectMapper();
@@ -146,7 +143,7 @@
return ServerResponse.createByErrorMsg("获取充值链接失败",request);
}
PaymentRecharge paymentRecharge = new PaymentRecharge();
- paymentRecharge.setUserId(1);
+ paymentRecharge.setUserId(user.getId());
paymentRecharge.setOrderNo(payResponse.getOrderNo());
paymentRecharge.setMchOrderNo(payResponse.getMchOrderNo());
paymentRecharge.setAmount(new BigDecimal(payResponse.getOriAmount()));
@@ -156,7 +153,7 @@
paymentRecharge.setNotifyUrl(payResponse.getPayInfo());
paymentRecharge.setPayInfo(payResponse.toString());
paymentRechargeService.save(paymentRecharge);
- return ServerResponse.createBySuccessMsg(result);
+ return ServerResponse.createBySuccess(payResponse.getPayInfo());
}
public String generatePayOrderId() {
@@ -642,35 +639,47 @@
}
@Override
- public void rechargeCallback(HttpServletResponse response,RechargeCallbackVo rechargeCallbackVo) throws IOException {
- synchronized (rechargeCallbackVo.getOrderNo()){
+ public void rechargeCallback(PaymentResponse vo,HttpServletResponse response) throws IOException {
+ log.info("充值回调进来了:"+vo.toString());
+ synchronized (vo.getOrderNo()){
PrintWriter pw = response.getWriter();
- if(!rechargeCallbackVo.getTradeResult().equals("1")){
- log.error("充值回调失败:"+rechargeCallbackVo.toString());
- return;
- }
+
PaymentRecharge paymentRecharge = paymentRechargeService.getOne(new LambdaQueryWrapper<>(PaymentRecharge.class)
- .eq(PaymentRecharge::getOrderNo, rechargeCallbackVo.getOrderNo())
- .eq(PaymentRecharge::getMchOrderNo, rechargeCallbackVo.getMchOrderNo())
+ .eq(PaymentRecharge::getOrderNo, vo.getOrderNo())
+ .eq(PaymentRecharge::getMchOrderNo, vo.getMchOrderNo())
.eq(PaymentRecharge::getStatus,1)
.last("limit 1")
);
+
+ if(!vo.getTradeResult().equals("1")){
+ paymentRecharge.setStatus(2);
+ paymentRecharge.setAmount(new BigDecimal(vo.getOriAmount()));
+ paymentRecharge.setPayInfo(vo.toString());
+ paymentRechargeService.updateById(paymentRecharge);
+ log.error("充值回调失败:"+vo.toString());
+ return;
+ }
+
if(ObjectUtils.isEmpty(paymentRecharge)){
- pw.print("未找到充值订单");
+ log.info("未找到充值订单");
+ pw.print("error 未找到充值订单");
return;
}
UserAssets userAssets = userAssetsMapper.selectOne(new LambdaQueryWrapper<>(UserAssets.class)
.eq(UserAssets::getUserId, paymentRecharge.getUserId())
.eq(UserAssets::getAccectType, "IN")
);
- ServerResponse serverResponse = iUserAssetsServices.updateUserAssets(userAssets.getId(), rechargeCallbackVo.getAmount().toString(), "2");
+ ServerResponse serverResponse = iUserAssetsServices.updateUserAssets(userAssets.getId(), vo.getOriAmount().toString(), "2");
if(serverResponse.getStatus() == 0){
paymentRecharge.setStatus(2);
- paymentRecharge.setAmount(new BigDecimal(rechargeCallbackVo.getAmount()));
- paymentRecharge.setPayInfo(rechargeCallbackVo.toString());
+ paymentRecharge.setAmount(new BigDecimal(vo.getOriAmount()));
+ paymentRecharge.setPayInfo(vo.toString());
paymentRechargeService.updateById(paymentRecharge);
}
+ log.info("充值回调----完成");
pw.print("success");
+ pw.flush();
+ pw.close();
}
}
--
Gitblit v1.9.3