From e4174b41fc93add7f5de5013664b80fecf5d85fe Mon Sep 17 00:00:00 2001 From: gong <1157756119@qq.com> Date: Sat, 28 Mar 2026 15:21:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/mapper/OrderDetailMapper.java | 8 ++++++++ .../czg/service/order/print/FeiPrinter.java | 18 ++++++++++++++---- .../czg/service/order/print/YxyPrinter.java | 7 ++++++- .../service/impl/OrderDetailServiceImpl.java | 9 +-------- 4 files changed, 29 insertions(+), 13 deletions(-) diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/mapper/OrderDetailMapper.java b/cash-service/order-service/src/main/java/com/czg/service/order/mapper/OrderDetailMapper.java index e69ae133c..d1d71a69e 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/mapper/OrderDetailMapper.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/mapper/OrderDetailMapper.java @@ -4,7 +4,9 @@ import com.czg.order.vo.OrderDetailPrintVo; import com.mybatisflex.core.BaseMapper; import com.czg.order.entity.OrderDetail; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; +import java.time.LocalDateTime; import java.util.List; /** @@ -18,4 +20,10 @@ public interface OrderDetailMapper extends BaseMapper { List getOrderDetailPrint(Long orderId); + + @Update("UPDATE tb_order_detail SET status = #{status}, order_time = #{orderTime} " + + "WHERE order_id = #{orderId} AND status = 'wait-pay'") + int updateStatusByOrderId(@Param("orderId") Long orderId, + @Param("status") String status, + @Param("orderTime") LocalDateTime orderTime); } diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/print/FeiPrinter.java b/cash-service/order-service/src/main/java/com/czg/service/order/print/FeiPrinter.java index 2de9bddb1..6337365e6 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/print/FeiPrinter.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/print/FeiPrinter.java @@ -92,13 +92,23 @@ public class FeiPrinter extends PrinterHandler implements PrinterImpl { if (StrUtil.isNotBlank(machine.getPrintQty())) { printerNum = machine.getPrintQty().split("\\^")[1]; } + BigDecimal refundAmount = BigDecimal.ZERO; + for (OrderDetail orderDetail : detailList) { + refundAmount = refundAmount.add(orderDetail.getReturnAmount()); + } PrintInfoDTO printInfoDTO = new PrintInfoDTO().setShopName(shopInfo.getShopName()) .setPrintType("普通打印").setPickupNum(getPickupNum(orderInfo)) - .setOrderNo(orderInfo.getOrderNo()).setTradeDate(DateUtil.format(orderInfo.getCreateTime(), "yyyy-MM-dd HH:mm:ss")).setOperator("【POS-1】001").setPayAmount(orderInfo.getPayAmount().toPlainString()) - .setOriginalAmount((orderInfo.getOriginAmount().add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee())).toPlainString()).setReturn(isReturn(orderInfo)) - .setBalance(balance).setPayType((ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType())).setIntegral("0") - .setOutNumber(orderInfo.getTakeCode()).setPrintTitle("结算单") + .setOrderNo(orderInfo.getOrderNo()) + .setTradeDate(DateUtil.format(orderInfo.getCreateTime(), "yyyy-MM-dd HH:mm:ss")) + .setOperator("【POS-1】001").setPayAmount(orderInfo.getPayAmount().toPlainString()) + .setOriginalAmount((orderInfo.getOriginAmount().add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee()).subtract(refundAmount)).toPlainString()) + .setReturn(isReturn(orderInfo)) + .setBalance(balance) + .setPayType((ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType())) + .setIntegral("0") + .setOutNumber(orderInfo.getTakeCode()) + .setPrintTitle("结算单") .setRemark(orderInfo.getRemark()) // 使用累计的总优惠金额,如果为 null 则用原价减去实付计算 .setDiscountAmount(calculateDiscountAmount(orderInfo)); diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/print/YxyPrinter.java b/cash-service/order-service/src/main/java/com/czg/service/order/print/YxyPrinter.java index d36c8a268..95584d69c 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/print/YxyPrinter.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/print/YxyPrinter.java @@ -156,11 +156,16 @@ public class YxyPrinter extends PrinterHandler implements PrinterImpl { .eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode()) .eq(OrderInfo::getShopId, orderInfo.getShopId()) .le(OrderInfo::getCreateTime, orderInfo.getCreateTime())); + BigDecimal refundAmount = BigDecimal.ZERO; + for (OrderDetail orderDetail : detailList) { + refundAmount = refundAmount.add(orderDetail.getReturnAmount()); + } PrintInfoDTO printInfoDTO = new PrintInfoDTO().setShopName(shopInfo.getShopName()) .setPrintType("普通打印").setPickupNum(getPickupNum(orderInfo)) .setOrderNo(orderInfo.getOrderNo()).setTradeDate(DateUtil.format(orderInfo.getCreateTime(), "yyyy-MM-dd HH:mm:ss")) .setOperator("【POS-1】001").setPayAmount(orderInfo.getPayAmount().toPlainString()) - .setOriginalAmount((orderInfo.getOriginAmount().add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee())).toPlainString()).setReturn(isReturn(orderInfo)) + .setOriginalAmount((orderInfo.getOriginAmount().add(orderInfo.getSeatAmount()).add(orderInfo.getPackFee()).subtract(refundAmount)).toPlainString()) + .setReturn(isReturn(orderInfo)) .setBalance(balance).setPayType((ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType())).setIntegral("0") .setOutNumber(orderInfo.getTakeCode()) .setPrintTitle(isPre ? "预结算单" : "结算单") diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderDetailServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderDetailServiceImpl.java index af03413b9..5c17362dc 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderDetailServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderDetailServiceImpl.java @@ -35,13 +35,6 @@ public class OrderDetailServiceImpl extends ServiceImpl