From aa411422f009e2d99ecd6c2bf6aaa75eb1416d2e Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期三, 11 九月 2024 17:56:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2' into master-v2
---
src/main/resources/mapper/customer/FollowMapper.xml | 7 +++++++
src/main/java/com/mzl/flower/mapper/customer/FollowMapper.java | 2 ++
src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java | 22 +++++++++++-----------
src/main/java/com/mzl/flower/service/customer/FollowService.java | 10 ++++++++--
src/main/java/com/mzl/flower/web/customer/FollowController.java | 12 +++++++-----
src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java | 2 +-
6 files changed, 36 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/mzl/flower/mapper/customer/FollowMapper.java b/src/main/java/com/mzl/flower/mapper/customer/FollowMapper.java
index a2d832d..13874dc 100644
--- a/src/main/java/com/mzl/flower/mapper/customer/FollowMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/customer/FollowMapper.java
@@ -12,4 +12,6 @@
@Repository
public interface FollowMapper extends BaseMapper<Follow> {
List<FollowDTO> myFollow(Page page, @Param("userId") String userId);
+
+ Integer getStatisFansCount(@Param("supplierId") Long supplierId);
}
diff --git a/src/main/java/com/mzl/flower/service/customer/FollowService.java b/src/main/java/com/mzl/flower/service/customer/FollowService.java
index dc097c0..fb185a6 100644
--- a/src/main/java/com/mzl/flower/service/customer/FollowService.java
+++ b/src/main/java/com/mzl/flower/service/customer/FollowService.java
@@ -2,13 +2,11 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.mzl.flower.config.exception.ValidationException;
import com.mzl.flower.config.security.SecurityUtils;
import com.mzl.flower.dto.request.customer.CreateFollowDTO;
import com.mzl.flower.dto.response.customer.FollowDTO;
import com.mzl.flower.entity.customer.Follow;
import com.mzl.flower.mapper.customer.FollowMapper;
-import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -65,4 +63,12 @@
.eq(Follow::getSupplierId, supplierId));
return count;
}
+
+
+ public Integer getStatisFansCount(Long supplierId) {
+
+ Integer count = followMapper.getStatisFansCount(supplierId);
+
+ return count;
+ }
}
diff --git a/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java
index a55612d..3a788f3 100644
--- a/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/impl/coupon/CouponRecordServiceImpl.java
@@ -168,7 +168,7 @@
// 领取后有段时间 领取后有效时间
// 根据发放后有效期来设置时间
if (couponTemplateDO.getUsageTimeNum() == null || couponTemplateDO.getUsageTimeNum() <= 0) {
- throw new IllegalArgumentException("使用时间数量必须为正整数");
+ throw new ValidationException("使用时间数量必须为正整数");
}
LocalDateTime currentTime = LocalDateTime.now();
couponRecordDO.setEffectiveStart(currentTime);
@@ -437,50 +437,50 @@
public boolean useCoupon(String couponId, String orderId, BigDecimal orderMount) {
// 优惠券为空
if(StringUtils.isBlank(couponId)){
- throw new IllegalArgumentException("无效的优惠券");
+ throw new ValidationException("无效的优惠券");
}
if(StringUtils.isBlank(orderId)){
- throw new IllegalArgumentException("订单id不能为空");
+ throw new ValidationException("订单id不能为空");
}
if(orderMount.compareTo(BigDecimal.ZERO)<=0){
- throw new IllegalArgumentException("订单金额不能小于0");
+ throw new ValidationException("订单金额不能小于0");
}
// 验证优惠券存在且有效
final CouponRecordDO couponRecordDO = baseMapper.selectById(couponId);
if(null==couponRecordDO || StringUtils.isNotBlank(couponRecordDO.getOrderId()) ){
- throw new IllegalArgumentException("无效的优惠券");
+ throw new ValidationException("无效的优惠券");
}
if(couponRecordDO.getStatus().equals(CouponUsedStatusEnum.USED.getType())){
- throw new IllegalArgumentException("优惠券已经被使用");
+ throw new ValidationException("优惠券已经被使用");
}
if(couponRecordDO.getStatus().equals(CouponUsedStatusEnum.EXPIRED.getType()) || LocalDateTime.now().isAfter(couponRecordDO.getEffectiveEnd())){
- throw new IllegalArgumentException("优惠券已过期");
+ throw new ValidationException("优惠券已过期");
}
// 根据类型判断是无门槛还是满减,如果是无门槛
if(couponRecordDO.getCouponDiscountType().equals(CouponTypeEnum.ZERO.getType())){
// 无门槛,查看金额是否大于满减值
if(orderMount.compareTo(couponRecordDO.getCouponDiscountValue())<0){
- throw new IllegalArgumentException(String.format("订单金额(%s)小于无门槛的金额(%s)", orderMount, couponRecordDO.getCouponDiscountValue()));
+ throw new ValidationException(String.format("订单金额(%s)小于无门槛的金额(%s)", orderMount, couponRecordDO.getCouponDiscountValue()));
}
}
if(couponRecordDO.getCouponDiscountType().equals(CouponTypeEnum.DISCOUNT.getType())){
//满减,查看金额是否满足最小订单额
if(orderMount.compareTo(couponRecordDO.getMinOrderAmount())<0){
- throw new IllegalArgumentException(String.format("订单金额(%s)小于最低折扣订单金额(%s)", orderMount, couponRecordDO.getMinOrderAmount()));
+ throw new ValidationException(String.format("订单金额(%s)小于最低折扣订单金额(%s)", orderMount, couponRecordDO.getMinOrderAmount()));
}
if(orderMount.compareTo(couponRecordDO.getCouponDiscountValue())<0){
- throw new IllegalArgumentException(String.format("订单金额(%s)小于折扣的金额(%s)", orderMount, couponRecordDO.getCouponDiscountValue()));
+ throw new ValidationException(String.format("订单金额(%s)小于折扣的金额(%s)", orderMount, couponRecordDO.getCouponDiscountValue()));
}
}
// 查看当前的优惠券是否是当前人员的
if(!SecurityUtils.getUserId().equals(couponRecordDO.getUserId())){
- throw new IllegalArgumentException("优惠券不属于当前人员");
+ throw new ValidationException("优惠券不属于当前人员");
}
// 优惠券使用操作
diff --git a/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java b/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java
index f5d61b6..4c11832 100644
--- a/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java
+++ b/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java
@@ -241,7 +241,7 @@
// 根据发放后有效期来设置时间
if (couponTemplateDO.getUsageTimeNum() == null || couponTemplateDO.getUsageTimeNum() <= 0) {
- throw new IllegalArgumentException("使用时间数量必须为正整数");
+ throw new ValidationException("使用时间数量必须为正整数");
}
LocalDateTime currentTime = LocalDateTime.now();
couponTemplateDO.setUsageStartDate(currentTime);
diff --git a/src/main/java/com/mzl/flower/web/customer/FollowController.java b/src/main/java/com/mzl/flower/web/customer/FollowController.java
index d318bb8..a4039ae 100644
--- a/src/main/java/com/mzl/flower/web/customer/FollowController.java
+++ b/src/main/java/com/mzl/flower/web/customer/FollowController.java
@@ -5,12 +5,8 @@
import com.mzl.flower.base.R;
import com.mzl.flower.base.ReturnDataDTO;
import com.mzl.flower.config.security.SecurityUtils;
-import com.mzl.flower.dto.request.customer.CreateAddressDTO;
import com.mzl.flower.dto.request.customer.CreateFollowDTO;
-import com.mzl.flower.dto.request.customer.UpdateAddressDTO;
import com.mzl.flower.dto.response.customer.FollowDTO;
-import com.mzl.flower.dto.response.supplier.SupplierDTO;
-import com.mzl.flower.entity.customer.Address;
import com.mzl.flower.service.customer.FollowService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -20,7 +16,6 @@
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
-import java.util.List;
@RestController
@RequestMapping("/api/follow")
@@ -56,4 +51,11 @@
public ResponseEntity<ReturnDataDTO<Page<FollowDTO>>> myFollow(Page page) {
return returnData(R.SUCCESS.getCode(),followService.myFollow(page,SecurityUtils.getUserId()));
}
+
+ @GetMapping("/fans/statis/{supplierId}")
+ @ApiOperation(value = "我的关注列表", notes = "我的关注列表")
+ public ResponseEntity<ReturnDataDTO<Integer>> myFansStatis(@NotNull(message = "supplierId不能为空") @PathVariable("supplierId") Long supplierId) {
+ return returnData(R.SUCCESS.getCode(),followService.getStatisFansCount(supplierId));
+ }
+
}
diff --git a/src/main/resources/mapper/customer/FollowMapper.xml b/src/main/resources/mapper/customer/FollowMapper.xml
index d0dad11..89f028d 100644
--- a/src/main/resources/mapper/customer/FollowMapper.xml
+++ b/src/main/resources/mapper/customer/FollowMapper.xml
@@ -21,4 +21,11 @@
</if>
ORDER BY f.create_time DESC
</select>
+
+ <select id="getStatisFansCount" resultType="java.lang.Integer">
+ SELECT IFNULL(COUNT(DISTINCT f.user_id), 0)
+ FROM t_follow_supplier f
+ WHERE f.deleted = 0
+ AND f.supplier_id = #{supplierId};
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3