From a1416117c7478a66971cca278e9909811e0000d5 Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期五, 20 九月 2024 17:07:14 +0800 Subject: [PATCH] fix:商品限购 --- src/main/resources/mapper/flower/FlowerMapper.xml | 6 ++++++ src/main/java/com/mzl/flower/dto/request/flower/FlowerQueryDTO.java | 3 +++ src/main/java/com/mzl/flower/service/flower/FlowerService.java | 24 ++++++++++++++++++++++-- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/mzl/flower/dto/request/flower/FlowerQueryDTO.java b/src/main/java/com/mzl/flower/dto/request/flower/FlowerQueryDTO.java index 6fb8dd4..3e78500 100644 --- a/src/main/java/com/mzl/flower/dto/request/flower/FlowerQueryDTO.java +++ b/src/main/java/com/mzl/flower/dto/request/flower/FlowerQueryDTO.java @@ -36,4 +36,7 @@ @ApiModelProperty(hidden = true) private List<String> statusList; + + @ApiModelProperty(value = "是否限购") + private Boolean isLimited; } 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 3a25854..9cc9169 100644 --- a/src/main/java/com/mzl/flower/service/flower/FlowerService.java +++ b/src/main/java/com/mzl/flower/service/flower/FlowerService.java @@ -247,7 +247,17 @@ public Long editFlowerAdmin(FlowerUpdateAdminDTO dto){ Flower g = flowerMapper.selectById(dto.getId()); g.setSales(dto.getSales()); - g.setLimited(dto.getLimited()); + 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); @@ -884,7 +894,17 @@ } for (Long id : ids) { Flower f = flowerMapper.selectById(id); - f.setLimited(dto.getLimited()); + 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); } } diff --git a/src/main/resources/mapper/flower/FlowerMapper.xml b/src/main/resources/mapper/flower/FlowerMapper.xml index 308869c..1da83a9 100644 --- a/src/main/resources/mapper/flower/FlowerMapper.xml +++ b/src/main/resources/mapper/flower/FlowerMapper.xml @@ -45,6 +45,12 @@ <if test="condition.recommend != null and !condition.recommend"> AND (f.recommend = 0 or f.recommend is null) </if> + <if test="condition.isLimited != null and condition.isLimited"> + AND f.limited > 0 + </if> + <if test="condition.isLimited != null and !condition.isLimited"> + AND (f.limited = 0 or f.limited is null) + </if> <if test="condition.statusList != null and condition.statusList.size > 0"> and f.status in <foreach collection="condition.statusList" item="item" open="(" separator="," close=")"> -- Gitblit v1.9.3