JAVA全系列 教程
3762个小节阅读:7091k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
/**
* 修改订单状态
* @param request
* @throws GeneralSecurityException
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void updateOrderStatus(HttpServletRequest request) throws GeneralSecurityException {
// TODO 验签成功后
//按照支付结果异步通知中的描述,对支付结果中的业务内容进行1\2\3\4二次校验,校验成功后在response中返回success,校验失败返回failure
// 1 支付状态
String status = request.getParameter("trade_status");
if(status.equals("TRADE_SUCCESS")){//交易成功
// 2. 获取订单状态
String orderNo =request.getParameter("out_trade_no");
// 3. 支付宝交易号
String paySn = request.getParameter("trade_no");
// 4. 支付金额
String totalAmount = request.getParameter("total_amount");
// 5. 修改订单状态
iOrderInfoService.updateOrderStatus(orderNo, OrderStatus.SUCCESS);
// 6.添加交易记录
PaymentInfo paymentInfo = new PaymentInfo();
paymentInfo.setOrderNo(orderNo);
paymentInfo.setTransactionId(paySn);
// 微信 支付宝
paymentInfo.setPaymentType(PayType.ALIPAY.getType());
// 支付金额
paymentInfo.setTradeState(status);
paymentInfo.setPayerTotal(new Double(Double.parseDouble(totalAmount)).intValue());
paymentInfo.setCreateTime(LocalDateTime.now());
iPaymentInfoService.save(paymentInfo);
}
}