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