From a1416117c7478a66971cca278e9909811e0000d5 Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期五, 20 九月 2024 17:07:14 +0800 Subject: [PATCH] fix:商品限购 --- src/main/java/com/mzl/flower/service/flower/FlowerService.java | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/flower/FlowerService.java b/src/main/java/com/mzl/flower/service/flower/FlowerService.java index 4ad623e..9cc9169 100644 --- a/src/main/java/com/mzl/flower/service/flower/FlowerService.java +++ b/src/main/java/com/mzl/flower/service/flower/FlowerService.java @@ -139,10 +139,13 @@ } try{ + flowerMapper.updateTypeRankNull(flower.getCategory(),flower.getLevel()); + QueryWrapper<Flower> queryWrapper=new QueryWrapper<>(); queryWrapper.lambda().eq(Flower::getDeleted,false) .eq(Objects.nonNull(flower.getCategory()),Flower::getCategory,flower.getCategory()) .eq(StringUtils.isNotEmpty(flower.getLevel()),Flower::getLevel,flower.getLevel()) + .eq(Flower::getStatus,"UP") .orderByAsc(Flower::getPrice); final List<Flower> flowerList = flowerMapper.selectList(queryWrapper); @@ -212,6 +215,7 @@ } else { g.setPrice(dto.getPrice()); g.setStock(dto.getStock()); + g.setLimited(dto.getLimited()); } g.update(SecurityUtils.getUserId()); @@ -243,6 +247,17 @@ public Long editFlowerAdmin(FlowerUpdateAdminDTO dto){ Flower g = flowerMapper.selectById(dto.getId()); g.setSales(dto.getSales()); + if (!org.springframework.util.StringUtils.isEmpty(dto.getLimited())) { + if (g.getStock() == 0 || org.springframework.util.StringUtils.isEmpty(g.getStock())) { + throw new ValidationException("库存为0或者空时不能修改限购数量"); + } + if(g.getStock()<dto.getLimited()){ + throw new ValidationException("限购数量不能大于库存"); + } + g.setLimited(dto.getLimited()); + }else{ + g.setLimited(null); + } g.update(SecurityUtils.getUserId()); flowerMapper.updateById(g); @@ -453,11 +468,17 @@ //清除购物车商品 cartMapper.delete(new QueryWrapper<Cart>().eq("flower_id", id)); } + + //更新排名 + updateFlowTypeRank(null,f.getCategory(),f.getLevel()); } public void deleteFlower(Long id){ final Flower flower = flowerMapper.selectById(id); + if(flower == null){ + throw new ValidationException("商品未找到"); + } flowerMapper.deleteById(id); @@ -866,5 +887,27 @@ return flowerDeleteDO; } + public void setFlowersLimited(FlowerLimitedDTO dto) { + List<Long> ids = dto.getIds(); + if (ids == null || ids.size() == 0) { + throw new ValidationException("请选择商品"); + } + for (Long id : ids) { + Flower f = flowerMapper.selectById(id); + if (!org.springframework.util.StringUtils.isEmpty(dto.getLimited())) { + if (f.getStock() == 0 || org.springframework.util.StringUtils.isEmpty(f.getStock())) { + throw new ValidationException("商品" + f.getName() + "库存为0或者空时不能修改限购数量"); + } + if(f.getStock()<dto.getLimited()){ + throw new ValidationException("商品" + f.getName() + "限购数量不能大于库存"); + } + f.setLimited(dto.getLimited()); + }else{ + f.setLimited(null); + } + flowerMapper.updateById(f); + } + } + } -- Gitblit v1.9.3