xiaoyong931011
2022-08-10 36e556587fc44cd9f613b10873d15a5f9cdf2fc6
src/main/java/cc/mrbird/febs/pay/controller/XcxPayController.java
@@ -3,9 +3,15 @@
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.util.PayThreadPool;
import cc.mrbird.febs.pay.util.Signature;
import cc.mrbird.febs.pay.util.Util;
@@ -13,9 +19,12 @@
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.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;
@@ -24,6 +33,8 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Slf4j
@RestController
@@ -32,6 +43,10 @@
    @Autowired
    MallOrderInfoMapper mallOrderInfoMapper;
    @Autowired
    RedisUtils redisUtils;
    private final XcxProperties xcxProperties = SpringContextHolder.getBean(XcxProperties.class);
    /**
     * 微信支付回调接口
     */
@@ -70,7 +85,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())) {
@@ -133,4 +149,5 @@
        out.flush();
        out.close();
    }
}