From 38d8abee8db1034b4cc3fae8613e8328653a1080 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期三, 18 九月 2024 16:07:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'remote-v2/master-v2' into master-v2

---
 src/main/java/com/mzl/flower/web/login/PartnerLoginController.java             |    7 +++
 src/main/java/com/mzl/flower/web/flower/FlowerController.java                  |    7 +++
 src/main/java/com/mzl/flower/dto/request/flower/FlowerLimitedDTO.java          |   15 +++++++
 src/main/java/com/mzl/flower/web/login/CustomerLoginController.java            |    7 +++
 src/main/java/com/mzl/flower/dto/response/flower/FlowerDTO.java                |    3 +
 src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java |   22 +++++++++++
 src/main/java/com/mzl/flower/service/flower/FlowerService.java                 |   13 ++++++
 src/main/java/com/mzl/flower/dto/request/flower/FlowerCreateDTO.java           |    3 +
 src/main/java/com/mzl/flower/dto/request/flower/FlowerUpdateAdminDTO.java      |    3 +
 src/main/java/com/mzl/flower/entity/flower/Flower.java                         |    3 +
 src/main/java/com/mzl/flower/web/login/SupplierLoginController.java            |    7 +++
 src/main/java/com/mzl/flower/dto/response/flower/FlowerListDTO.java            |    6 +-
 12 files changed, 93 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/mzl/flower/dto/request/flower/FlowerCreateDTO.java b/src/main/java/com/mzl/flower/dto/request/flower/FlowerCreateDTO.java
index 3dbeac4..fe3fa8d 100644
--- a/src/main/java/com/mzl/flower/dto/request/flower/FlowerCreateDTO.java
+++ b/src/main/java/com/mzl/flower/dto/request/flower/FlowerCreateDTO.java
@@ -43,4 +43,7 @@
 
     @ApiModelProperty(value = "描述")
     private String description;
+
+    @ApiModelProperty(value = "限购数量")
+    private Integer limited;
 }
diff --git a/src/main/java/com/mzl/flower/dto/request/flower/FlowerLimitedDTO.java b/src/main/java/com/mzl/flower/dto/request/flower/FlowerLimitedDTO.java
new file mode 100644
index 0000000..001f526
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/flower/FlowerLimitedDTO.java
@@ -0,0 +1,15 @@
+package com.mzl.flower.dto.request.flower;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class FlowerLimitedDTO {
+    @ApiModelProperty(value = "ids")
+    private List<Long> ids;
+
+    @ApiModelProperty(value = "限购数量")
+    private Integer limited;
+}
diff --git a/src/main/java/com/mzl/flower/dto/request/flower/FlowerUpdateAdminDTO.java b/src/main/java/com/mzl/flower/dto/request/flower/FlowerUpdateAdminDTO.java
index 3dd4911..882fd35 100644
--- a/src/main/java/com/mzl/flower/dto/request/flower/FlowerUpdateAdminDTO.java
+++ b/src/main/java/com/mzl/flower/dto/request/flower/FlowerUpdateAdminDTO.java
@@ -13,6 +13,9 @@
     @ApiModelProperty(value = "销量")
     private Integer sales;
 
+    @ApiModelProperty(value = "限购数量")
+    private Integer limited;
+
     @ApiModelProperty(value = "商品参数")
     private List<ParamDTO> params;
 }
diff --git a/src/main/java/com/mzl/flower/dto/response/flower/FlowerDTO.java b/src/main/java/com/mzl/flower/dto/response/flower/FlowerDTO.java
index e77ceda..694fb0c 100644
--- a/src/main/java/com/mzl/flower/dto/response/flower/FlowerDTO.java
+++ b/src/main/java/com/mzl/flower/dto/response/flower/FlowerDTO.java
@@ -40,4 +40,7 @@
     private String zoneName;
 
     private Boolean shown;//是否显示
+
+    @ApiModelProperty("限购数量")
+    private Integer limited;//限购
 }
diff --git a/src/main/java/com/mzl/flower/dto/response/flower/FlowerListDTO.java b/src/main/java/com/mzl/flower/dto/response/flower/FlowerListDTO.java
index 748250e..1610688 100644
--- a/src/main/java/com/mzl/flower/dto/response/flower/FlowerListDTO.java
+++ b/src/main/java/com/mzl/flower/dto/response/flower/FlowerListDTO.java
@@ -1,13 +1,10 @@
 package com.mzl.flower.dto.response.flower;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
-import com.mzl.flower.base.AbstractTransDTO;
-import com.mzl.flower.base.annotation.DictTrans;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 @Data
@@ -52,4 +49,7 @@
     private Boolean shown;//是否显示
 
     private Integer zoneRank;//专区排序
+
+    @ApiModelProperty("限购数量")
+    private Integer limited;//限购
 }
diff --git a/src/main/java/com/mzl/flower/entity/flower/Flower.java b/src/main/java/com/mzl/flower/entity/flower/Flower.java
index 2728d88..82593d3 100644
--- a/src/main/java/com/mzl/flower/entity/flower/Flower.java
+++ b/src/main/java/com/mzl/flower/entity/flower/Flower.java
@@ -78,4 +78,7 @@
     @TableField("type_rank")
     private Integer typeRank;//同类排序
 
+    @TableField("limited")
+    private Integer limited;//限购数量
+
 }
\ No newline at end of file
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 1679d36..d89cd66 100644
--- a/src/main/java/com/mzl/flower/service/flower/FlowerService.java
+++ b/src/main/java/com/mzl/flower/service/flower/FlowerService.java
@@ -246,6 +246,7 @@
     public Long editFlowerAdmin(FlowerUpdateAdminDTO dto){
         Flower g = flowerMapper.selectById(dto.getId());
         g.setSales(dto.getSales());
+        g.setLimited(dto.getLimited());
         g.update(SecurityUtils.getUserId());
         flowerMapper.updateById(g);
 
@@ -875,5 +876,17 @@
         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);
+            f.setLimited(dto.getLimited());
+            flowerMapper.updateById(f);
+        }
+    }
+
 
 }
diff --git a/src/main/java/com/mzl/flower/web/flower/FlowerController.java b/src/main/java/com/mzl/flower/web/flower/FlowerController.java
index f34c6ac..e23a700 100644
--- a/src/main/java/com/mzl/flower/web/flower/FlowerController.java
+++ b/src/main/java/com/mzl/flower/web/flower/FlowerController.java
@@ -166,4 +166,11 @@
         flowerService.setFlowerShown(id, false);
         return returnData(R.SUCCESS.getCode(), null);
     }
+
+    @PostMapping("/list/limiteds")
+    @ApiOperation(value = "批量设置标签")
+    public ResponseEntity<ReturnDataDTO> setFlowersLimited(@RequestBody FlowerLimitedDTO dto) {
+        flowerService.setFlowersLimited(dto);
+        return returnData(R.SUCCESS.getCode(), null);
+    }
 }
diff --git a/src/main/java/com/mzl/flower/web/login/CustomerLoginController.java b/src/main/java/com/mzl/flower/web/login/CustomerLoginController.java
index 475685a..a249fe9 100644
--- a/src/main/java/com/mzl/flower/web/login/CustomerLoginController.java
+++ b/src/main/java/com/mzl/flower/web/login/CustomerLoginController.java
@@ -185,6 +185,13 @@
         if(user == null){
             throw new ValidationException("用户不存在");
         }
+        CustomerDTO currentCustomer = customerMapper.getCurrentCustomer(user.getId());
+        if (ObjectUtils.isEmpty(currentCustomer)) {
+            throw new ValidationException("用户不存在");
+        }
+        if (currentCustomer.getIsEnabled() == false) {
+            throw new ValidationException("用户已禁用,请联系管理员");
+        }
         String tokenCache = stringCacheClient.get(TOKEN_KEY + SEPARATOR + user.getId());
         if (StringUtils.isNotBlank(tokenCache))  {
             //强制删除token,下线
diff --git a/src/main/java/com/mzl/flower/web/login/PartnerLoginController.java b/src/main/java/com/mzl/flower/web/login/PartnerLoginController.java
index 10b0790..332f052 100644
--- a/src/main/java/com/mzl/flower/web/login/PartnerLoginController.java
+++ b/src/main/java/com/mzl/flower/web/login/PartnerLoginController.java
@@ -136,6 +136,13 @@
         if(user == null){
             throw new ValidationException("用户不存在");
         }
+        PartnerDTO partnerDTO = partnerMapper.getCurrentPartner(user.getId());
+        if (ObjectUtils.isEmpty(partnerDTO)) {
+            throw new ValidationException("用户不存在");
+        }
+        if (partnerDTO.getIsEnabled() == false) {
+            throw new ValidationException("用户已禁用,请联系管理员");
+        }
         String tokenCache = stringCacheClient.get(TOKEN_KEY + SEPARATOR + user.getId());
         if (StringUtils.isNotBlank(tokenCache))  {
             //强制删除token,下线
diff --git a/src/main/java/com/mzl/flower/web/login/SupplierLoginController.java b/src/main/java/com/mzl/flower/web/login/SupplierLoginController.java
index 0fd20e3..78f19de 100644
--- a/src/main/java/com/mzl/flower/web/login/SupplierLoginController.java
+++ b/src/main/java/com/mzl/flower/web/login/SupplierLoginController.java
@@ -137,6 +137,13 @@
         if(user == null){
             throw new ValidationException("用户不存在");
         }
+        SupplierDTO supplierDTO = supplierMapper.getCurrentSupplier(user.getId());
+        if (ObjectUtils.isEmpty(supplierDTO)) {
+            throw new ValidationException("用户不存在");
+        }
+        if (supplierDTO.getIsEnabled() == false) {
+            throw new ValidationException("用户已禁用,请联系管理员");
+        }
         String tokenCache = stringCacheClient.get(TOKEN_KEY + SEPARATOR + user.getId());
         if (StringUtils.isNotBlank(tokenCache))  {
             //强制删除token,下线
diff --git a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java
index 09721fe..7905c5f 100644
--- a/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java
+++ b/src/main/java/com/mzl/flower/web/v2/coupon/CouponTemplateActivyController.java
@@ -24,6 +24,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 
 
 /**
@@ -133,6 +134,27 @@
             throw new ValidationException("优惠券不存在");
         }
 
+        // 判断当前时间是否在优惠券的领取时间范围内
+        LocalDateTime now = LocalDateTime.now();
+//        if (couponTemplateDO.getGetStartDate() != null && couponTemplateDO.getGetEndDate() != null) {
+//            if (now.isBefore(couponTemplateDO.getGetStartDate()) || now.isAfter(couponTemplateDO.getGetEndDate())) {
+//                throw new ValidationException("当前时间不在优惠券领取时间范围内,不能发布优惠券。");
+//            }
+//        } else {
+//            throw new ValidationException("优惠券的领取时间未设置。");
+//        }
+
+        // 检查结束时间是否存在
+        if (couponTemplateDO.getGetEndDate() != null) {
+            // 如果当前时间小于结束时间,允许发布
+            if (now.isAfter(couponTemplateDO.getGetEndDate())) {
+                throw new ValidationException("当前时间已超过优惠券领取结束时间,不能发布优惠券。");
+            }
+        } else {
+            throw new ValidationException("优惠券的领取结束时间未设置。");
+        }
+
+
         couponTemplateService.activeCouponTemplate(id);
 
         return returnData(R.SUCCESS.getCode(), null);

--
Gitblit v1.9.3