From c2555d890f0882e8785ee3b03985853ffcb1124f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=9B=E5=8F=89=E9=97=AA=E9=97=AA?= <18322780655@163.com> Date: Fri, 6 Sep 2024 10:23:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/TbOrderDetailMapper.java | 2 +- .../rabbit/PrintMechineConsumer.java | 2 +- .../cashierservice/service/OrderService.java | 5 +- .../cashierservice/service/PayService.java | 70 ++++++++++++------- .../resources/mapper/TbOrderDetailMapper.xml | 8 ++- 5 files changed, 57 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbOrderDetailMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbOrderDetailMapper.java index b6d8232..d7fb1cd 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbOrderDetailMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbOrderDetailMapper.java @@ -25,7 +25,7 @@ public interface TbOrderDetailMapper { int updateByPrimaryKey(TbOrderDetail record); - void updateStatusByOrderId(@Param("orderId") int orderId,@Param("status") String status); + void updateStatusByOrderId(@Param("orderId") int orderId,@Param("status") String status,@Param("radio") BigDecimal radio); void updateStatusByOrderIdAndStatus(@Param("orderId") int orderId,@Param("status") String status); void deleteByOUrderId(@Param("orderId") int orderId); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/PrintMechineConsumer.java b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/PrintMechineConsumer.java index 22de17a..a60b8a0 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/PrintMechineConsumer.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/PrintMechineConsumer.java @@ -186,7 +186,7 @@ public class PrintMechineConsumer { if (ObjectUtil.isNotEmpty(detailList) && detailList.size() > 0) { - OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", ObjectUtil.isEmpty(orderInfo.getMasterId()) || ObjectUtil.isNull(orderInfo.getMasterId()) ? orderInfo.getTableName() : orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList, orderInfo.getRemark(), null, null); + OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", ObjectUtil.isEmpty(orderInfo.getMasterId()) || ObjectUtil.isNull(orderInfo.getMasterId()) ? orderInfo.getTableName() : orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getPayAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList, orderInfo.getRemark(), null, null); String printType = "退款单"; diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index 8f4a570..130143a 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -509,8 +509,7 @@ public class OrderService { .set(TbCashierCart::getStatus, "create") .in(TbCashierCart::getId, ids)); if (orderId > 0) { - tbOrderInfoMapper.updateStatusById(orderId, "cancelled"); - orderDetailMapper.updateStatusByOrderId(orderId, "cancelled"); + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",null); } } } @@ -1171,7 +1170,7 @@ public class OrderService { // cashierCartMapper.updateStatusByMaster(shopId, masterId, "create", day, uuid); if (orderId > 0) { tbOrderInfoMapper.updateStatusById(orderId, "cancelled"); - orderDetailMapper.updateStatusByOrderId(orderId, "cancelled"); + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",null); } } return Result.success(CodeEnum.SUCCESS); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index 78fce42..f4bc8a3 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -284,7 +284,7 @@ public class PayService { log.info("更新购物车:{}", cartCount); //更新子单状态 - tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed"); + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",orderInfo.getDiscountRatio()); JSONObject jsonObject = new JSONObject(); jsonObject.put("token", token); @@ -363,8 +363,11 @@ public class PayService { int cartCount = tbCashierCartMapper.updateByOrderId(orderId, "final"); log.info("更新购物车:{}", cartCount); - //更新子单状态 - tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed"); + if(ObjectUtil.isNotNull(orderInfo.getDiscountRatio())&&ObjectUtil.isNotEmpty(orderInfo.getDiscountRatio())){ + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",orderInfo.getDiscountRatio()); + }else { + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",null); + } JSONObject jsonObject = new JSONObject(); jsonObject.put("token", token); @@ -479,8 +482,11 @@ public class PayService { int cartCount = tbCashierCartMapper.updateByOrderId(orderId, "final"); log.info("更新购物车:{}", cartCount); - tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed"); - + if(ObjectUtil.isNotNull(orderInfo.getDiscountRatio())&&ObjectUtil.isNotEmpty(orderInfo.getDiscountRatio())){ + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",orderInfo.getDiscountRatio()); + }else { + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",null); + } JSONObject jsonObject = new JSONObject(); jsonObject.put("token", token); jsonObject.put("type", "create"); @@ -614,10 +620,11 @@ public class PayService { //更新购物车状态 int cartCount = tbCashierCartMapper.updateByOrderId(orderId, "final"); - - tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed"); - - tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed"); + if(ObjectUtil.isNotNull(orderInfo.getDiscountRatio())&&ObjectUtil.isNotEmpty(orderInfo.getDiscountRatio())){ + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",orderInfo.getDiscountRatio()); + }else { + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",null); + } log.info("更新购物车:{}", cartCount); @@ -743,9 +750,13 @@ public class PayService { int cartCount = tbCashierCartMapper.updateByOrderId(orderId, "final"); - tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed"); - tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed"); + if(ObjectUtil.isNotNull(orderInfo.getDiscountRatio())&&ObjectUtil.isNotEmpty(orderInfo.getDiscountRatio())){ + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",orderInfo.getDiscountRatio()); + }else { + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",null); + } + log.info("更新购物车:{}", cartCount); @@ -849,7 +860,13 @@ public class PayService { //更新购物车状态 int cartCount = tbCashierCartMapper.updateByOrderId(String.valueOf(orderId), "final"); - tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed"); + + if(ObjectUtil.isNotNull(orderInfo.getDiscountRatio())&&ObjectUtil.isNotEmpty(orderInfo.getDiscountRatio())){ + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",orderInfo.getDiscountRatio()); + }else { + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",null); + } + log.info("更新购物车:{}", cartCount); JSONObject jsonObject = new JSONObject(); @@ -926,11 +943,17 @@ public class PayService { orderInfo.setPayType("cash"); orderInfo.setStatus("closed"); orderInfo.setPayOrderNo("cash".concat(SnowFlakeUtil.generateOrderNo())); + tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); //更新购物车状态 int cartCount = tbCashierCartMapper.updateByOrderId(orderId, "final"); - tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed"); + + if(ObjectUtil.isNotNull(orderInfo.getDiscountRatio())&&ObjectUtil.isNotEmpty(orderInfo.getDiscountRatio())){ + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",orderInfo.getDiscountRatio()); + }else { + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",null); + } log.info("更新购物车:{}", cartCount); JSONObject jsonObject = new JSONObject(); @@ -1017,10 +1040,14 @@ public class PayService { tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo); //更新购物车状态 int cartCount = tbCashierCartMapper.updateByOrderId(orderId, "final"); - - tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed"); log.info("更新购物车:{}", cartCount); + if(ObjectUtil.isNotNull(orderInfo.getDiscountRatio())&&ObjectUtil.isNotEmpty(orderInfo.getDiscountRatio())){ + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",orderInfo.getDiscountRatio()); + }else { + tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed",null); + } + JSONObject jsonObject = new JSONObject(); jsonObject.put("token", token); jsonObject.put("type", "create"); @@ -1065,7 +1092,7 @@ public class PayService { TbShopInfo shopInfo = tbShopInfoMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getShopId())); - if ("1".equals(shopInfo.getIsReturn())) { + if ("0".equals(shopInfo.getIsReturn())) { if (ObjectUtil.isEmpty(pwd)) { return Result.fail(CodeEnum.PARAM); } @@ -1141,11 +1168,10 @@ public class PayService { // totalAmount = totalAmount.add(it.getPriceAmount()); totalAmount = totalAmount.add(it.getPriceAmount().divide(new BigDecimal(it.getNum()), 2, RoundingMode.DOWN).multiply(new BigDecimal(map1.get(it.getId())))); saleAmount = saleAmount.add(it.getPrice()); + payAmount = payAmount.add(it.getPriceAmount().divide(new BigDecimal(it.getNum()), 2, RoundingMode.DOWN) .multiply(new BigDecimal(map1.get(it.getId())))); - if (ObjectUtil.isNotEmpty(orderInfo.getDiscountRatio()) && ObjectUtil.isNotNull(orderInfo.getDiscountRatio())) { - payAmount = payAmount.multiply(orderInfo.getDiscountRatio()).setScale(2, BigDecimal.ROUND_DOWN); - } +// // payAmount=payAmount.add(it.getPriceAmount()); packAMount = packAMount.add(it.getPackAmount().divide(new BigDecimal(it.getNum()), 2, RoundingMode.DOWN).multiply(new BigDecimal(map1.get(it.getId())))); @@ -1158,10 +1184,6 @@ public class PayService { } BigDecimal returnAmount = it.getPriceAmount().divide(new BigDecimal(it.getNum()), 2, RoundingMode.DOWN).multiply(new BigDecimal(map1.get(it.getId())));; - if (ObjectUtil.isNotEmpty(orderInfo.getDiscountRatio()) && ObjectUtil.isNotNull(orderInfo.getDiscountRatio())) { - returnAmount = returnAmount.multiply(orderInfo.getDiscountRatio()).setScale(2, BigDecimal.ROUND_DOWN); - } - detailPo.setReturnNum(map1.get(it.getId())); detailPos.add(detailPo); it.setNum(map1.get(it.getId())); @@ -1255,7 +1277,7 @@ public class PayService { flow.setBizCode("accountReturnPay"); flow.setBizName("会员储值卡退款"); flow.setType("+"); - flow.setAmount(newOrderInfo.getOrderAmount()); + flow.setAmount(newOrderInfo.getPayAmount()); flow.setBalance(user.getAmount()); flow.setCreateTime(new Date()); flow.setIsReturn("0"); diff --git a/src/main/resources/mapper/TbOrderDetailMapper.xml b/src/main/resources/mapper/TbOrderDetailMapper.xml index f58d3ce..ba0243e 100644 --- a/src/main/resources/mapper/TbOrderDetailMapper.xml +++ b/src/main/resources/mapper/TbOrderDetailMapper.xml @@ -205,7 +205,13 @@ where id = #{id,jdbcType=INTEGER} - update tb_order_detail set status = #{status} where order_id = #{orderId} + update tb_order_detail set status = #{status} + + + ,price_amount=price_amount*#{radio} + + + where order_id = #{orderId}