| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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) |
| | |
| | | |
| | | @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(); |
| | |
| | | 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; |
| | |
| | | |
| | | @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(); |
| | |
| | | //开始处理业务数据 |
| | | 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); |