支持跳过支付

This commit is contained in:
2025-07-18 09:30:54 +08:00
parent 1ca7182979
commit 3aa039f0ea
2 changed files with 6 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ import lombok.Data;
@Data
public class AioDeviceCreateOrderResp {
private boolean skipPay;
private Long orderId;
private String payCode;
}

View File

@@ -52,8 +52,13 @@ public class AioDeviceServiceImpl implements AioDeviceService {
if (face == null) {
throw new BaseException("请选择人脸");
}
AioDeviceCreateOrderResp resp = new AioDeviceCreateOrderResp();
int sum = req.getItems().stream().mapToInt(AioDeviceCreateOrderReq.AioDeviceOrderItem::getCount).sum();
BigDecimal totalPrice = config.getEachPrice().multiply(new BigDecimal(sum));
if (totalPrice.compareTo(BigDecimal.ZERO) <= 0) {
resp.setSkipPay(true);
return resp;
}
OrderEntity order = new OrderEntity();
Long orderId = SnowFlakeUtil.getLongId();
order.setId(orderId);
@@ -80,7 +85,6 @@ public class AioDeviceServiceImpl implements AioDeviceService {
int addOrderItems = orderMapper.addOrderItems(orderItems);
// 支付
IPayAdapter scenicPayAdapter = scenicService.getScenicPayAdapter(aioDevice.getScenicId());
AioDeviceCreateOrderResp resp = new AioDeviceCreateOrderResp();
if (scenicPayAdapter instanceof WxMpPayAdapter adapter) {
NativePayService service = new NativePayService.Builder().config(adapter.getConfig()).build();
PrepayRequest request = new PrepayRequest();