JAVA全系列 教程
3762个小节阅读:7088k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
在支付服务模块编写支付接口实现类
xxxxxxxxxx
@DubboService
public class ZfbPayServiceImpl implements ZfbPayService {
@DubboReference
private OrdersService ordersService;
@Autowired
private ZfbPayConfig zfbPayConfig;
@Autowired
private AlipayClient alipayClient;
@Autowired
private PaymentMapper paymentMapper;
@Override
public String pcPay(String orderId) {
// 1. 根据订单编号查询订单信息
Orders orders = ordersService.findById(orderId);
// 2. 创建请求对象
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
// 3. 设置请求内容
request.setNotifyUrl(zfbPayConfig.getNotifyUrl() + zfbPayConfig.getPcNotify());
JSONObject bizContent = new JSONObject();
bizContent.put("out_trade_no", orders.getId()); // 订单编号
bizContent.put("total_amount", orders.getPayment());// 订单金额
bizContent.put("subject", orders.getCartGoods().get(0).getGoodsName()); // 订单标题
request.setBizContent(bizContent.toString());
try {
// 4. 发送请求
AlipayTradePrecreateResponse response = alipayClient.execute(request);
// 5. 返回二维码
return response.getQrCode();
} catch (AlipayApiException e) {
throw new BusException(CodeEnum.QR_CODE_ERROR);
}
}
}
在订单Api模块编写支付控制器
xxxxxxxxxx
/**
* 支付
*/
@RestController
@RequestMapping("/user/payment")
public class PaymentController {
@DubboReference
private ZfbPayService zfbPayService;
/**
* 生成二维码
*
* @param orderId 订单号
* @return 二维码url
*/
@PostMapping("/pcPay")
public BaseResult<String> pcPay(String orderId) {
Orders orders = ordersService.findById(orderId);
String codeUrl = zfbPayService.pcPay(orders);
return BaseResult.ok(codeUrl);
}
}