|
|
@@ -75,6 +75,7 @@ public class InvoiceServiceImpl extends ServiceImpl<InvoiceMapper, Invoice> impl
|
|
|
throw new BusinessException("存在已开票或开票中的订单");
|
|
|
}
|
|
|
|
|
|
+
|
|
|
var orderDetails = orders.stream().map(item -> new InvoiceOrderDetail()
|
|
|
.setStartChargeSeq(item.getStartChargeSeq())
|
|
|
.setTotalPower(item.getTotalPower()).setTotalMoney(item.getTotalMoney())
|
|
|
@@ -82,15 +83,22 @@ public class InvoiceServiceImpl extends ServiceImpl<InvoiceMapper, Invoice> impl
|
|
|
.setServiceMoneyDiscount(item.getServiceMoneyDiscount()))
|
|
|
.toList();
|
|
|
|
|
|
+ // TODO: 2023-11-04 校验开票金额大于0
|
|
|
+ var totalMoney = orders.stream().mapToInt(ChargeOrder::getTotalMoney).sum();
|
|
|
+ var elecMoney = orders.stream().mapToInt(ChargeOrder::getElecMoney).sum();
|
|
|
+ var serviceMoney = orders.stream().mapToInt(ChargeOrder::getServiceMoney).sum();
|
|
|
+ if (!(totalMoney > 0 && elecMoney > 0 && serviceMoney > 0)) {
|
|
|
+ throw new BusinessException("订单总金额或总电费或总服务费金额异常");
|
|
|
+ }
|
|
|
// 组装invoice
|
|
|
var invoice = new Invoice()
|
|
|
.setUserId(userId)
|
|
|
.setOpenid(StpUtil.getSession().getString("openid"))
|
|
|
.setApplyId(OrderUtils.getOrderNo())
|
|
|
.setOrderDetails(orderDetails) // 订单信息
|
|
|
- .setInvoiceAmount(orders.stream().mapToInt(ChargeOrder::getTotalMoney).sum()) // 总金额
|
|
|
- .setElecMoney(orders.stream().mapToInt(ChargeOrder::getElecMoney).sum()) // 电费
|
|
|
- .setElecMoney(orders.stream().mapToInt(ChargeOrder::getServiceMoney).sum()) // 服务费
|
|
|
+ .setInvoiceAmount(totalMoney) // 总金额
|
|
|
+ .setElecMoney(elecMoney) // 电费
|
|
|
+ .setElecMoney(serviceMoney) // 服务费
|
|
|
.setTotalPower(orders.stream().mapToDouble(ChargeOrder::getTotalPower).sum()) // 总电量
|
|
|
.setServiceMoneyDiscount(orders.stream().mapToInt(ChargeOrder::getServiceMoneyDiscount).sum()); //总优惠服务费
|
|
|
baseMapper.insert(invoice);
|