cloudroam
2024-09-20 a1416117c7478a66971cca278e9909811e0000d5
fix:商品限购
已修改3个文件
33 ■■■■■ 文件已修改
src/main/java/com/mzl/flower/dto/request/flower/FlowerQueryDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/flower/FlowerService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/flower/FlowerMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}
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);
        }
    }
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=")">