无忧回调修改

This commit is contained in:
GYJ
2024-12-04 18:08:15 +08:00
parent e8a2e9bee1
commit 32a8eb78d6
5 changed files with 38 additions and 28 deletions

View File

@@ -69,13 +69,14 @@ public class WuyouController {
payDetails.setMoney(order.getPayMoney().doubleValue());
payDetails.setType(1);
payDetails.setClassify(9);
payDetails.setTradeNo(AliPayOrderUtil.createOrderId());
payDetailsDao.insert(payDetails);
} else {
payDetails.setOrderId(AliPayOrderUtil.createOrderId());
payDetails.setTradeNo(AliPayOrderUtil.createOrderId());
payDetailsDao.updateById(payDetails);
}
BaseResp baseResp = WuyouPay.payOrder(order.getOrdersNo(), order.getPayMoney().toString(), request.getHeader("User-Agent"));
BaseResp baseResp = WuyouPay.payOrder(order.getTradeNo(), order.getPayMoney().toString(), request.getHeader("User-Agent"));
if (baseResp.getCode() != 200) {
return Result.error(baseResp.getMsg());
}
@@ -84,12 +85,12 @@ public class WuyouController {
}
@PostMapping("/extractNotify")
public String extractNotify(HttpServletRequest request, @RequestBody NotifyDto notifyDto) {
public String extractNotify(HttpServletRequest request, NotifyDto notifyDto) {
log.info("无忧支付提现回调, {}", notifyDto);
Map<String, Object> params = new HashMap<>();
params.put("callbacks", notifyDto.getCallbacks());
params.put("total", notifyDto.getTotal());
params.put("out_trade_no", notifyDto.getOutTradeNo());
params.put("out_trade_no", notifyDto.getOut_trade_no());
params.put("status", notifyDto.getStatus());
params.put("msg", notifyDto.getMsg());
@@ -103,13 +104,13 @@ public class WuyouController {
}
@PostMapping("/notify")
public String notify(HttpServletRequest request, @RequestBody NotifyDto notifyDto) {
public String notify(HttpServletRequest request, NotifyDto notifyDto) {
log.info("无忧支付回调, {}", notifyDto);
Map<String, Object> params = new HashMap<>();
params.put("callbacks", notifyDto.getCallbacks());
params.put("total", notifyDto.getTotal());
params.put("out_trade_no", notifyDto.getOutTradeNo());
params.put("pay_time", notifyDto.getPayTime());
params.put("out_trade_no", notifyDto.getOut_trade_no());
params.put("pay_time", notifyDto.getPay_time());
String sign = Encrypt.getParamsSign(params);
if (!sign.equals(notifyDto.getSign())) {
@@ -119,7 +120,13 @@ public class WuyouController {
log.info("无忧支付回调成功, 参数: {}", JSONObject.toJSONString(notifyDto));
Orders order = ordersService.selectOrderByTradeNo(notifyDto.getOutTradeNo());
PayDetails payDetails = payDetailsDao.selectByTradeNo(notifyDto.getOut_trade_no());
if (payDetails.getState() != 0) {
log.info("订单表信息丢失!");
}
// {"callbacks":"CODE_SUCCESS","out_trade_no":"1000001931380634","pay_time":"1733306566","sign":"7B2C5B55AA09CE07DAE1CC847F51C0BC","total":0.01}
Orders order = ordersService.selectOrderByTradeNo(payDetails.getOrderId());
if (order == null) {
log.error("无忧支付回调订单不存在, 参数: {}", JSONObject.toJSONString(notifyDto));
return "订单不存在";
@@ -130,14 +137,8 @@ public class WuyouController {
return "订单已支付";
}
PayDetails payDetails = payDetailsDao.selectByOrderId(notifyDto.getOutTradeNo());
if (payDetails.getState() != 0) {
log.info("订单表信息丢失!");
}
String format = sdf.format(new Date());
payDetailsDao.updateState(payDetails.getId(), 1, format, notifyDto.getOutTradeNo());
payDetailsDao.updateState(payDetails.getId(), 1, format, notifyDto.getOut_trade_no());
order.setPayWay(9);
order.setStatus(1);

View File

@@ -22,6 +22,8 @@ public interface PayDetailsDao extends BaseMapper<PayDetails> {
PayDetails selectByOrderId(@Param("orderId") String orderId);
PayDetails selectByTradeNo(@Param("tradeNo") String tradeNo);
int updateState(@Param("id") Long id, @Param("state") Integer state, @Param("time") String time, @Param("tradeNo") String tradeNo);
IPage<Map<String, Object>> selectPayDetails(@Param("page") Page<Map<String, Object>> page, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("userId") Long userId, @Param("state") Integer state, @Param("userName") String userName, String orderId);

View File

@@ -12,11 +12,9 @@ public class NotifyDto {
private String callbacks;
private Double total;
@JSONField(name = "out_trade_no")
private String outTradeNo;
private String out_trade_no;
@JSONField(name = "pay_time")
private String payTime;
private String pay_time;
private String msg;