From 89ff1d1668c471c293dedd312a4eb98a6ebfd06d Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 18 Aug 2022 16:51:47 +0800
Subject: [PATCH] 20220810
---
src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java | 32 ++++++++++++++++++++++++++++++--
1 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java b/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java
index 4175218..3a74c5e 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java
@@ -1,20 +1,34 @@
package cc.mrbird.febs.pay.controller;
import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.enumerates.OrderDeliveryStateEnum;
import cc.mrbird.febs.common.enumerates.OrderStatusEnum;
+import cc.mrbird.febs.common.properties.XcxProperties;
+import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.common.utils.SpringContextHolder;
import cc.mrbird.febs.mall.entity.MallOrderInfo;
import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
import cc.mrbird.febs.pay.model.NotifyData;
+import cc.mrbird.febs.pay.model.OrderStateDto;
+import cc.mrbird.febs.pay.model.OrderStateMsgVo;
+import cc.mrbird.febs.pay.model.WxTemplateData;
+import cc.mrbird.febs.pay.service.IPayService;
+import cc.mrbird.febs.pay.service.IXcxPayService;
import cc.mrbird.febs.pay.util.PayThreadPool;
import cc.mrbird.febs.pay.util.Signature;
import cc.mrbird.febs.pay.util.Util;
import cc.mrbird.febs.pay.util.WechatConfigure;
+import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.client.RestTemplate;
+import org.thymeleaf.engine.TemplateData;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
@@ -22,6 +36,9 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
@Slf4j
@RestController
@@ -30,6 +47,13 @@
@Autowired
MallOrderInfoMapper mallOrderInfoMapper;
+ @Autowired
+ RedisUtils redisUtils;
+
+ @Autowired
+ private IXcxPayService iXcxPayService;
+
+ private final XcxProperties xcxProperties = SpringContextHolder.getBean(XcxProperties.class);
/**
* 微信支付回调接口
*/
@@ -59,7 +83,6 @@
BeanUtils.copyProperties(bb,data);
log.info("----return_code = {}", data.getReturn_code());
-
// 返回状态码 SUCCESS/FAIL
if (WechatConfigure.CODE_SUCCESS.equals(data.getReturn_code())) {
@@ -68,7 +91,8 @@
MallOrderInfo order = mallOrderInfoMapper.selectById(Long.valueOf(orderId));
// 校验签名
- String paySecret = WechatConfigure.WECHARPAY_SECRET;
+// String paySecret = WechatConfigure.WECHARPAY_SECRET;
+ String paySecret = xcxProperties.getWecharpaySecret();
if (Signature.checkIsSignValidFromResponseString(notityXml.toString(),paySecret)) {
// 校验业务结果
if (WechatConfigure.CODE_SUCCESS.equals(data.getResult_code())) {
@@ -88,6 +112,9 @@
if (order != null && OrderStatusEnum.WAIT_PAY.getValue() == order.getStatus()) {
log.debug("检查支付金额payMoney={},order.getPayMoney()={}", payMoney, order.getAmount());
order.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
+ order.setPayResult("1");
+ order.setPayTime(new Date());
+ order.setDeliveryState(OrderDeliveryStateEnum.DELIVERY_WAIT.getValue());
mallOrderInfoMapper.updateById(order);
threadResult.success().message("支付成功");
} else {
@@ -128,4 +155,5 @@
out.flush();
out.close();
}
+
}
--
Gitblit v1.9.1