pull/16/head
perry 2023-05-24 19:06:11 +08:00
parent 5af1206445
commit 8aa259531a
1 changed files with 15 additions and 11 deletions

View File

@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.shop.controller.admin.notify;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.json.JSONUtil;
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
import cn.iocoder.yudao.module.shop.dal.dataobject.recharge.RechargeOrderDO;
import cn.iocoder.yudao.module.shop.dal.mysql.recharge.RechargeOrderMapper;
import cn.iocoder.yudao.module.shop.service.order.StoreOrderService;
@ -115,6 +116,7 @@ public class WxPayNotifyController {
* @return:
*/
@PostMapping("/refund_notify")
@TenantIgnore
public String wxPayRefundNotify(@RequestBody String jsonData, HttpServletRequest request, HttpServletResponse response) throws Exception {
// 支付结果通用通知文档: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7
// 支付成功结果通知
@ -134,18 +136,20 @@ public class WxPayNotifyController {
BigDecimal payerTotal = NumberUtil.div(result.getAmount().getPayerTotal() + "", "100", 2);
// 处理相关逻辑
RechargeOrderDO orderDO = rechargeOrderMapper.selectOne(Wrappers.<RechargeOrderDO>lambdaQuery().eq(RechargeOrderDO::getOrderId, result.getOutTradeNo()));
if (payerTotal.compareTo(orderDO.getPayPrice()) != 0) {
log.error("支付金额不匹配,订单实际支付金额:{},微信入参验证金额:{}", orderDO.getPayPrice(), payerTotal);
return "failure";
if(orderDO!=null){
if (payerTotal.compareTo(orderDO.getPayPrice()) != 0) {
log.error("支付金额不匹配,订单实际支付金额:{},微信入参验证金额:{}", orderDO.getPayPrice(), payerTotal);
return "failure";
}
orderDO.setRefundStatus(2);
orderDO.setPaid(2);
rechargeOrderMapper.updateById(orderDO);
//删除提报记录
phoneRecordService.deletePhoneGear(orderDO.getOrderId());
// 修改订单状态
// 写入
response.setStatus(HttpServletResponse.SC_OK);
}
orderDO.setRefundStatus(2);
orderDO.setPaid(2);
rechargeOrderMapper.updateById(orderDO);
//删除提报记录
phoneRecordService.deletePhoneGear(orderDO.getOrderId());
// 修改订单状态
// 写入
response.setStatus(HttpServletResponse.SC_OK);
return "success";
}
} catch (Exception e) {