| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | @Slf4j |
| | | @RestController |
| | |
| | | |
| | | @Autowired |
| | | MallOrderInfoMapper mallOrderInfoMapper; |
| | | @Autowired |
| | | RedisUtils redisUtils; |
| | | |
| | | private final XcxProperties xcxProperties = SpringContextHolder.getBean(XcxProperties.class); |
| | | /** |
| | | * 微信支付回调接口 |
| | | */ |
| | |
| | | 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())) { |
| | |
| | | out.flush(); |
| | | out.close(); |
| | | } |
| | | |
| | | } |