From be72ab1f2fba90f69f93b772f5026b18e8b8ea0c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 12 Aug 2022 17:19:03 +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