From baedf85e77b46776d6a3656277143814843a2725 Mon Sep 17 00:00:00 2001 From: 19991905653 Date: Wed, 3 Apr 2024 15:39:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=85=A8=E9=80=89=E6=89=93?= =?UTF-8?q?=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/TbCashierCartMapper.java | 1 + .../entity/po/OrderDetailPo.java | 1 + .../cashierservice/service/DutyService.java | 3 +++ .../cashierservice/service/OrderService.java | 15 ++++++++++- .../cashierservice/service/PayService.java | 25 +++++++++++++------ .../resources/mapper/TbCashierCartMapper.xml | 5 ++-- 6 files changed, 39 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbCashierCartMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbCashierCartMapper.java index 6abbb89..acd74f0 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbCashierCartMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbCashierCartMapper.java @@ -48,6 +48,7 @@ public interface TbCashierCartMapper { int updateByOrderId(@Param("orderId") String orderId,@Param("status") String status); QueryCartPo selectProductNumByMarketId(@Param("day") String day, @Param("shopId") String shopId, @Param("masterId") String masterId); + List selectAllByMarketId(@Param("day") String day, @Param("shopId") String shopId, @Param("masterId") String masterId); void updateIsGift(@Param("maskerId")String maskerId,@Param("status")String status,@Param("shopId") Integer shopId,@Param("day") String day); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/po/OrderDetailPo.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/po/OrderDetailPo.java index 140a211..552ccfd 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/po/OrderDetailPo.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/po/OrderDetailPo.java @@ -12,5 +12,6 @@ public class OrderDetailPo { private String productName; private String status; private Integer productNum; + private Integer returnNum; private BigDecimal orderAmount; } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/DutyService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/DutyService.java index 68800ee..b9ddc4c 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/DutyService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/DutyService.java @@ -42,6 +42,8 @@ public class DutyService { private ShopUserDutyPayMapper shopUserDutyPayMapper; @Autowired private TbProductSkuMapper productSkuMapper; + @Autowired + private CloudPrinterService cloudPrinterService; @Transactional(rollbackFor = Exception.class) public void exect(String message) { try { @@ -265,6 +267,7 @@ public class DutyService { JSONObject tokenJson = TokenUtil.parseParamFromToken(tbToken.getToken()); Integer shopId = tokenJson.getInteger("shopId"); Integer staffId = tokenJson.getInteger("staffId"); + cloudPrinterService.handoverprintData(token,day,""); shopUserDutyMapper.updateStatusByTokenId(day,shopId,staffId); } } 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 47fd16e..2b1bae7 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -573,7 +573,20 @@ public class OrderService { if (StringUtils.isEmpty(cartVo.getStatus())) { cartVo.setStatus("false"); } - cashierCartMapper.updateIsGift(cartVo.getMasterId(), cartVo.getStatus(), Integer.valueOf(cartVo.getShopId()), day); + List list = cashierCartMapper.selectAllByMarketId(day,cartVo.getShopId(),cartVo.getMasterId()); + for (TbCashierCart cashierCart:list){ + TbProductWithBLOBs product = tbProductMapper.selectByPrimaryKey(Integer.valueOf(cashierCart.getProductId())); + if ("true".equals(cartVo.getStatus())){ + cashierCart.setTotalAmount(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(product.getPackFee()))); + cashierCart.setPackFee(new BigDecimal(cashierCart.getTotalNumber()).multiply(product.getPackFee())); + }else { + cashierCart.setTotalAmount(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice())); + cashierCart.setPackFee(BigDecimal.ZERO); + } + cashierCart.setIsPack(cartVo.getStatus()); + cashierCartMapper.updateByPrimaryKeySelective(cashierCart); + } +// cashierCartMapper.updateIsGift(cartVo.getMasterId(), cartVo.getStatus(), Integer.valueOf(cartVo.getShopId()), day); 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 2b6a522..89e42bb 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -501,7 +501,7 @@ public class PayService { BigDecimal totalAmount=BigDecimal.ZERO; - BigDecimal packAMount=orderInfo.getPackFee(); + BigDecimal packAMount=BigDecimal.ZERO; BigDecimal saleAmount=BigDecimal.ZERO; BigDecimal feeAmount=BigDecimal.ZERO; BigDecimal payAmount=BigDecimal.ZERO; @@ -519,9 +519,13 @@ public class PayService { // List details=new ArrayList<>(); - Map map1 = new HashMap<>(); + Map map1 = new HashMap<>(); for (TbOrderDetail orderDetail:list){ - map1.put(orderDetail.getId(),orderDetail); + if (Objects.isNull(orderDetail.getNum())){ + map1.put(orderDetail.getId(),0); + }else { + map1.put(orderDetail.getId(),orderDetail.getNum()); + } } for (TbOrderDetail it : orderDetails) { it=tbOrderDetailMapper.selectByPrimaryKey(it.getId()); @@ -529,25 +533,30 @@ public class PayService { if (it.getStatus().equals("refund")) { continue; } - if (map1.get(it.getId()).getNum() > it.getNum()-it.getReturnNum()){ + if (map1.get(it.getId()) > it.getNum()-it.getReturnNum()){ throw new MsgException("可退数量:"+ (it.getNum()-it.getReturnNum())); } + if (map1.get(it.getId()) == 0){ + map1.put(it.getId(),it.getNum()); + } OrderDetailPo detailPo = new OrderDetailPo(); // totalAmount = totalAmount.add(it.getPriceAmount()); - totalAmount = totalAmount.add(it.getPriceAmount().divide(new BigDecimal(it.getNum()),2,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId()).getNum()))); + totalAmount = totalAmount.add(it.getPriceAmount().divide(new BigDecimal(it.getNum()),2,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId())))); saleAmount = saleAmount.add(it.getPrice()); - payAmount=payAmount.add(it.getPriceAmount().divide(new BigDecimal(it.getNum()),2,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId()).getNum()))); + payAmount=payAmount.add(it.getPriceAmount().divide(new BigDecimal(it.getNum()),2,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId())))); // payAmount=payAmount.add(it.getPriceAmount()); + packAMount = packAMount.add(it.getPackAmount().divide(new BigDecimal(it.getNum()),2,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId())))); detailPo.setId(it.getId()); - if (map1.get(it.getId()).getNum()+it.getReturnNum() >= it.getNum()){ + if (map1.get(it.getId())+it.getReturnNum() >= it.getNum()){ detailPo.setStatus("refund"); }else { detailPo.setStatus("closed"); } + detailPo.setReturnNum(map1.get(it.getId())); detailPos.add(detailPo); - it.setNum(map1.get(it.getId()).getNum()); + it.setNum(map1.get(it.getId())); it.setReturnNum(0); it.setStatus("closed"); it.setCreateTime(new Date()); diff --git a/src/main/resources/mapper/TbCashierCartMapper.xml b/src/main/resources/mapper/TbCashierCartMapper.xml index d31fbaa..022713c 100644 --- a/src/main/resources/mapper/TbCashierCartMapper.xml +++ b/src/main/resources/mapper/TbCashierCartMapper.xml @@ -381,8 +381,9 @@ - - + \ No newline at end of file