From 2ffe681346aea0ed43e80bd88c5443333292b8e3 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 12 九月 2024 18:19:53 +0800
Subject: [PATCH] fix:会员降价逻辑

---
 src/main/java/com/mzl/flower/schedule/ScheduleService.java               |   12 +++++++++++-
 src/main/java/com/mzl/flower/mapper/member/MemberGrowthRecordMapper.java |    4 ++++
 src/main/java/com/mzl/flower/constant/Constants.java                     |    7 +++++--
 3 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/mzl/flower/constant/Constants.java b/src/main/java/com/mzl/flower/constant/Constants.java
index bdfa1af..91e75bf 100644
--- a/src/main/java/com/mzl/flower/constant/Constants.java
+++ b/src/main/java/com/mzl/flower/constant/Constants.java
@@ -556,8 +556,11 @@
         }
     }
     public enum after_sale_type {
-        barters("换货"),
-        returns("退货"),
+        quality("1.质量问题"),
+        stockout("2.缺货问题"),
+        broken("3.断头问题"),
+        category("4.品类不符"),
+        grade("5.等级不符"),
         ;
 
         after_sale_type(String desc) {
diff --git a/src/main/java/com/mzl/flower/mapper/member/MemberGrowthRecordMapper.java b/src/main/java/com/mzl/flower/mapper/member/MemberGrowthRecordMapper.java
index 2d04c6d..d09649d 100644
--- a/src/main/java/com/mzl/flower/mapper/member/MemberGrowthRecordMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/member/MemberGrowthRecordMapper.java
@@ -11,6 +11,7 @@
 import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
+import java.time.LocalDate;
 import java.util.List;
 
 
@@ -32,4 +33,7 @@
 
     List<UserGrowthRecordVO> queryUserPage(@Param("dto") UserMemberRecordQueryDTO dto, Page page);
 
+    @Select("SELECT * from t_member_growth_record WHERE user_id  = #{userId} and deleted = '0' and record_date = #{localDate} and type= 'reduce' and source = 'downgrading'")
+    List<MemberGrowthRecordVO> selectDowngradingByUserId(@Param("userId") String userId, LocalDate localDate);
+
 }
diff --git a/src/main/java/com/mzl/flower/schedule/ScheduleService.java b/src/main/java/com/mzl/flower/schedule/ScheduleService.java
index 22c6210..6130515 100644
--- a/src/main/java/com/mzl/flower/schedule/ScheduleService.java
+++ b/src/main/java/com/mzl/flower/schedule/ScheduleService.java
@@ -2,11 +2,13 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.mzl.flower.constant.Constants;
+import com.mzl.flower.dto.response.member.MemberGrowthRecordVO;
 import com.mzl.flower.entity.flower.FlowerCategory;
 import com.mzl.flower.entity.partner.Partner;
 import com.mzl.flower.entity.payment.Order;
 import com.mzl.flower.entity.payment.Transfer;
 import com.mzl.flower.mapper.flower.FlowerCategoryMapper;
+import com.mzl.flower.mapper.member.MemberGrowthRecordMapper;
 import com.mzl.flower.mapper.partner.PartnerMapper;
 import com.mzl.flower.mapper.payment.OrderMapper;
 import com.mzl.flower.service.coupon.CouponRecordService;
@@ -65,6 +67,9 @@
 
     @Autowired
     private CouponRecordService couponRecordService;
+
+    @Autowired
+    private MemberGrowthRecordMapper memberGrowthRecordMapper;
 
     @Scheduled(cron = "1 0/30 * * * ?")
     public void calculateAvePrice() {
@@ -204,7 +209,12 @@
         if(!CollectionUtils.isEmpty(orderList)){
             orderList.forEach(o->{
                 try {
-                    growthValueDealService.deductionGrowthValue(o);
+                    LocalDateTime now = LocalDateTime.now();
+                    LocalDate nowDate = now.toLocalDate();
+                    List<MemberGrowthRecordVO> memberGrowthRecordVOS = memberGrowthRecordMapper.selectDowngradingByUserId(o.getCreateBy(), nowDate);
+                    if (CollectionUtils.isEmpty(memberGrowthRecordVOS)) {
+                        growthValueDealService.deductionGrowthValue(o);
+                    }
                 } catch (Exception e) {
                     // 记录错误信息,例如将错误信息写入日志
                     log.info("处理订单 " + o.getId() + " 时出错: " + e.getMessage());

--
Gitblit v1.9.3