余额支付

This commit is contained in:
2026-04-03 14:34:04 +08:00
parent 2026022f14
commit 546edea749

View File

@@ -677,12 +677,26 @@ public abstract class PrinterHandler {
BigDecimal originalAmount = BigDecimal.ZERO;
for (OrderDetail orderDetail : detailList) {
if (orderDetail.getIsGift() == 1) {
continue;
} else if (orderDetail.getDiscountSaleAmount().compareTo(BigDecimal.ZERO) > 0) {
originalAmount = originalAmount.add((orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum())).multiply(orderDetail.getUnitPrice()));
} else {
originalAmount = originalAmount.add((orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum())).multiply(orderDetail.getPrice()));
}
Integer isTemporary = ObjectUtil.defaultIfNull(orderDetail.getIsTemporary(), 0);
Integer isWaitCall = ObjectUtil.defaultIfNull(orderDetail.getIsWaitCall(), 0);
if (isWaitCall == 1) {
orderDetail.setProductName("【等叫】%s".formatted(orderDetail.getProductName()));
}
if (isTemporary == 1) {
orderDetail.setProductName("【临】%s".formatted(orderDetail.getProductName()));
}
orderDetail.setPackAmount(orderDetail.getPackAmount() == null ? BigDecimal.ZERO : orderDetail.getPackAmount());
boolean isGift = orderDetail.getIsGift() != null && orderDetail.getIsGift() == 1;
if (isGift) {
orderDetail.setProductName("【赠】%s".formatted(orderDetail.getProductName()));
}
}
printInfoDTO.setOriginalAmount((originalAmount.add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee()))
.setScale(2, RoundingMode.HALF_UP).toPlainString());
@@ -767,7 +781,7 @@ public abstract class PrinterHandler {
case "back_scan" -> printInfoDTO.setPayType("扫码收款");
case "wechat_mini" -> printInfoDTO.setPayType("微信小程序");
case "alipay_mini" -> printInfoDTO.setPayType("支付宝小程序");
case "vip_pay" -> printInfoDTO.setPayType("会员支付");
case "vip_pay" -> printInfoDTO.setPayType("余额支付");
case "cash_pay" -> printInfoDTO.setPayType("现金支付");
case "credit_pay" -> printInfoDTO.setPayType("挂账支付");
case "free_pay" -> printInfoDTO.setPayType("霸王餐支付");