puzhibing
2023-11-06 029d0af8d3e0d32dbfff8dc47fb5e997332bc01d
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/NotifyController.java
@@ -14,6 +14,8 @@
import com.google.gson.GsonBuilder;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.order.domain.dto.WechatPaymentRefundDto;
import com.ruoyi.order.domain.dto.WeixinPaymentNotifyDto;
import com.ruoyi.order.domain.pojo.account.OrderRefund;
import com.ruoyi.order.domain.vo.ProfitSharingNotifyNewResult;
import com.ruoyi.order.domain.vo.WeixinPaymentNotifyVo;
@@ -36,6 +38,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.security.GeneralSecurityException;
import java.util.Collection;
@@ -94,7 +97,7 @@
                PartnerTransactionsResult result = notifyResult.getResult();
                // 支付通知回调
                if ("SUCCESS".equals(result.getTradeState())) {
                    orderService.payBack(result);
                    orderService.payBack(result, BigDecimal.ONE);
                }
                resultMessage = GSON.toJson(notifyResult);
            } else if (WxPayNotifyEventTypeEnum.REFUND_SUCCESS.getCode().equals(eventType)
@@ -229,8 +232,8 @@
    @RequestMapping(value = "/wechatPaymentCallback", method = RequestMethod.POST)
    @ApiOperation(value = "微信支付通知(汇付天下)")
    public void wechatPaymentCallback(@RequestBody JSONObject jsonObject, HttpServletResponse response){
        R<WeixinPaymentNotifyVo> r = HuiFuTianXiaUtil.weixinPaymentNotify(jsonObject);
    public void wechatPaymentCallback(WeixinPaymentNotifyDto dto, HttpServletResponse response){
        R<WeixinPaymentNotifyVo> r = HuiFuTianXiaUtil.weixinPaymentNotify(dto);
        if(r.getCode() == 200){
            WeixinPaymentNotifyVo data = r.getData();
            String transStat = data.getTransStat();
@@ -238,7 +241,7 @@
                PartnerTransactionsResult transaction = new PartnerTransactionsResult();
                transaction.setOutTradeNo(data.getReqSeqId());
                //开始处理业务数据
                orderService.payBack(transaction);
                orderService.payBack(transaction, data.getFeeFlag() == 1 ? BigDecimal.ZERO : new BigDecimal(data.getFeeAmount()));
                response.setStatus(200);
                PrintWriter out = null;
@@ -260,8 +263,8 @@
    @RequestMapping(value = "/wechatPaymentRefundCallback", method = RequestMethod.POST)
    @ApiOperation(value = "微信支付退款通知(汇付天下)")
    public void wechatPaymentRefundCallback(@RequestBody JSONObject jsonObject, HttpServletResponse response){
        R<WeixinPaymentRefundVo> r = HuiFuTianXiaUtil.weixinPaymentRefundNotify(jsonObject);
    public void wechatPaymentRefundCallback(WechatPaymentRefundDto dto, HttpServletResponse response){
        R<WeixinPaymentRefundVo> r = HuiFuTianXiaUtil.weixinPaymentRefundNotify(dto);
        if(r.getCode() == 200){
            WeixinPaymentRefundVo data = r.getData();
            String transStat = data.getTransStat();
@@ -269,7 +272,7 @@
                //开始处理业务数据
                String reqSeqId = data.getReqSeqId();
                OrderRefund orderRefund = orderRefundService.getById(reqSeqId);
                if(null != orderRefund){
                if(null != orderRefund && orderRefund.getRefundStatus() != 2){
                    orderRefund.setWxRefundId(data.getPartyOrderId());
                    orderRefund.setBackTime(data.getTransDate() + data.getTransTime());
                    orderRefund.setRefundStatus(2);