From cbbc18e79cb498901290451ecf5b9fdbd2a212aa Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期二, 24 九月 2024 18:43:47 +0800 Subject: [PATCH] 1.合伙人-手机号修改 --- src/main/java/com/mzl/flower/service/payment/OrderService.java | 79 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 75 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/payment/OrderService.java b/src/main/java/com/mzl/flower/service/payment/OrderService.java index 34d6b5b..3b76438 100644 --- a/src/main/java/com/mzl/flower/service/payment/OrderService.java +++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java @@ -68,10 +68,8 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; @Service @Transactional @@ -1614,4 +1612,77 @@ } + + @Transactional + public String copyOrder(String id) { + List<OrderItem> ls = orderItemMapper.selectList( + new QueryWrapper<OrderItem>().eq("order_id", id)); + StringBuilder sb=new StringBuilder(); + ls.stream().forEach(orderItem -> { + Cart cart = null; + final Long flowerId = orderItem.getFlowerId(); + final Integer num = orderItem.getNum(); + final String userId=orderItem.getCreateBy(); + // 查看当前的花是否已经下架 + Flower flower = flowerMapper.selectById(flowerId); + // 查看当前的花的限购 + final Integer limited = flower.getLimited(); + + // 查看当前购物车里面是否已经存在当前花 + cart = cartMapper.selectOne(new QueryWrapper<Cart>() + .eq("create_by", orderItem.getCreateBy()).eq("flower_id",flowerId)); + + if(null==cart){ + cart = new Cart(); + cart.setFlowerId(flowerId); + cart.setNum(0); + cart.create(orderItem.getCreateBy()); + } + + if (!flower.getStatus().equals(Constants.FLOWER_STATUS.UP.name())) { + sb.append(flower.getName() + "已下架"); + }else if(flower.getStatus().equals(Constants.FLOWER_STATUS.UP.name())){ + // 未下架库存逻辑控制 + Integer tmpNum=cart.getNum()+num; + //查看当前的库存 + if (null!=flower.getStock() && flower.getStock() > 0 && flower.getStock().compareTo(tmpNum) >= 0) { + // 库存充足 + cart.setNum(tmpNum); + } else if (null!=flower.getStock() && flower.getStock() > 0 && flower.getStock().compareTo(tmpNum) < 0) { + // 库存不足,剩多少给多少 + cart.setNum(flower.getStock()); + sb.append(flower.getName() + "购物车的总数超过库存,已调整成库存数!"); + }else { + sb.append(flower.getName() + "已无库存"); + } + + // 限购控制,如果当前的购物车的数量大于限购的话,则需要控制 + if(null!=limited && limited>0){ + Integer buyedNum= getFlowerCompleteNumToday(userId,flowerId); + Integer todayNum=cart.getNum()+buyedNum; + // + if(todayNum>limited){ + cart.setNum(limited-buyedNum<=0?0:limited-buyedNum); + sb.append(flower.getName() + "购物车的总数超过限购,已调整成未限购数!"); + } + } + + } + + if(null!=cart){ + // 插入购物车 + if(null!=cart.getId()){ + // 新增 + cartMapper.updateById(cart); + }else{ + // 更新 + cartMapper.insert(cart); + } + } + + }); + + return sb.toString(); + + } } -- Gitblit v1.9.3