diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterHandler.java b/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterHandler.java index 16181531c..7788f507a 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterHandler.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/print/PrinterHandler.java @@ -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("霸王餐支付");