From 392b42c4891cf2e6beda57ab32c51598f290f4b7 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 14 三月 2025 20:56:27 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java |  120 +++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 102 insertions(+), 18 deletions(-)

diff --git a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java
index f50c186..2860242 100644
--- a/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java
+++ b/ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java
@@ -4,13 +4,22 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.enums.CouponUseEnum;
+import com.ruoyi.common.core.enums.ListingStatusEnum;
+import com.ruoyi.common.core.utils.page.BeanUtils;
 import com.ruoyi.common.core.utils.page.PageDTO;
-import com.ruoyi.system.api.domain.dto.CouponMemberDTO;
-import com.ruoyi.system.api.domain.CouponMember;
+import com.ruoyi.promotion.controller.forepart.vo.CouponMemberVO;
+import com.ruoyi.promotion.domain.Coupon;
+import com.ruoyi.promotion.mapper.CouponMapper;
 import com.ruoyi.promotion.mapper.CouponMemberMapper;
 import com.ruoyi.promotion.service.ICouponMemberService;
-import java.time.LocalDateTime;
+import com.ruoyi.system.api.domain.CouponMember;
+import com.ruoyi.system.api.domain.dto.CouponMemberDTO;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+import javax.annotation.Resource;
 import org.springframework.stereotype.Service;
 
 /**
@@ -24,25 +33,38 @@
 @Service
 public class CouponMemberServiceImpl extends ServiceImpl<CouponMemberMapper, CouponMember> implements ICouponMemberService {
 
+    @Resource
+    private CouponMapper couponMapper;
 
     @Override
-    public PageDTO<CouponMember> getCouponMemberList(CouponMemberDTO couponMemberDTO) {
-        LambdaQueryWrapper<CouponMember> wrapper= Wrappers.lambdaQuery();
-        wrapper.eq(CouponMember::getCouponStatus,1);
-        wrapper.eq(CouponMember::getDelFlag,0);
-            List<CouponMember> couponMemberList=this.list(wrapper);
-        for (CouponMember couponMember:couponMemberList){
-            if(LocalDateTime.now().isAfter(couponMember.getEndDate())){
-                couponMember.setCouponStatus(0);
-                this.updateById(couponMember);
-            }
-        }
+    public PageDTO<CouponMemberVO> getCouponMemberList(CouponMemberDTO couponMemberDTO) {
+        LambdaQueryWrapper<Coupon> wrapper= Wrappers.lambdaQuery();
+        wrapper.eq(Coupon::getCouponStatus, ListingStatusEnum.ON_SHELVES);
+        wrapper.eq(Coupon::getDelFlag,0);
+        List<Coupon> couponMemberList=couponMapper.selectList(wrapper);
+        Set<Long> CouponList = null;
+        CouponList = couponMemberList.stream().map(Coupon::getId)
+                .collect(Collectors.toSet());
+
         Page<CouponMember> page = new Page<>(couponMemberDTO.getPageCurr(), couponMemberDTO.getPageSize());
         LambdaQueryWrapper<CouponMember> wrapper1= Wrappers.lambdaQuery();
-        wrapper1.eq(CouponMember::getCouponStatus,couponMemberDTO.getCouponStatus());
+        if(couponMemberDTO.getCouponStatus()!=null){
+            wrapper1.eq(CouponMember::getCouponStatus,
+                    CouponUseEnum.getEnumByCode(couponMemberDTO.getCouponStatus()));
+        }
+        if (CouponList.size()>0){
+            wrapper1.in(CouponMember::getCouponId,CouponList);
+        }
+        wrapper1.eq(CouponMember::getMemberId,couponMemberDTO.getMemberId());
         wrapper1.eq(CouponMember::getDelFlag,0);
-        Page<CouponMember> page1 = this.page(page, wrapper);
-        return PageDTO.of(page1);
+        Page<CouponMember> page1 = this.page(page, wrapper1);
+        PageDTO<CouponMemberVO> articleCommentsVOPageDTO = PageDTO.of(page1, CouponMemberVO.class);
+        List<CouponMemberVO> list2 = articleCommentsVOPageDTO.getList();
+        for (CouponMemberVO couponMember:list2){
+            Coupon coupon = couponMapper.selectById(couponMember.getCouponId());
+            couponMember.setCouponName(coupon.getCouponName());
+        }
+        return articleCommentsVOPageDTO;
     }
 
     @Override
@@ -53,7 +75,69 @@
     @Override
     public void updCouponMember(CouponMemberDTO couponMemberDTO) {
         CouponMember byId = this.getById(couponMemberDTO.getId());
-        byId.setCouponStatus(couponMemberDTO.getCouponStatus());
+        byId.setCouponStatus(CouponUseEnum.getEnumByCode(couponMemberDTO.getCouponStatus()));
         this.updateById(byId);
     }
+
+    @Override
+    public List<CouponMemberVO> getCouponMemberl(CouponMemberDTO couponMemberDTO) {
+        LambdaQueryWrapper<Coupon> wrapper= Wrappers.lambdaQuery();
+        wrapper.eq(Coupon::getCouponStatus, ListingStatusEnum.ON_SHELVES);
+        wrapper.eq(Coupon::getDelFlag,0);
+        List<Coupon> couponMemberList=couponMapper.selectList(wrapper);
+        Set<Long> CouponList = null;
+        CouponList = couponMemberList.stream().map(Coupon::getId)
+                .collect(Collectors.toSet());
+
+        LambdaQueryWrapper<CouponMember> wrapper1= Wrappers.lambdaQuery();
+        wrapper1.eq(CouponMember::getCouponStatus, 0);
+        wrapper1.eq(CouponMember::getMemberId,couponMemberDTO.getMemberId());
+        if (CouponList.size()>0){
+            wrapper1.in(CouponMember::getCouponId,CouponList);
+        }
+        wrapper1.eq(CouponMember::getDelFlag,0);
+        List<CouponMember> page1 = this.list(wrapper1);
+        List<CouponMemberVO> couponMemberVOS=new ArrayList<>();
+        for (CouponMember couponMember:page1){
+            CouponMemberVO couponMemberVO= BeanUtils.copyProperties(couponMember,CouponMemberVO.class);
+            Coupon coupon = couponMapper.selectById(couponMemberVO.getCouponId());
+            couponMemberVO.setCouponName(coupon.getCouponName());
+            couponMemberVOS.add(couponMemberVO);
+        }
+        return couponMemberVOS;
+    }
+
+    @Override
+    public List<CouponMemberVO> updCouponMember1(CouponMemberDTO couponMemberDTO) {
+
+        LambdaQueryWrapper<Coupon> wrapper= Wrappers.lambdaQuery();
+        wrapper.eq(Coupon::getCouponStatus, ListingStatusEnum.ON_SHELVES);
+        wrapper.eq(Coupon::getDelFlag,0);
+        List<Coupon> couponMemberList=couponMapper.selectList(wrapper);
+        Set<Long> CouponList = null;
+        CouponList = couponMemberList.stream().map(Coupon::getId)
+                .collect(Collectors.toSet());
+
+        LambdaQueryWrapper<CouponMember> wrapper1= Wrappers.lambdaQuery();
+        wrapper1.eq(CouponMember::getCouponStatus, 0);
+        wrapper1.eq(CouponMember::getMemberId,couponMemberDTO.getMemberId());
+        if (CouponList.size()>0){
+            wrapper1.in(CouponMember::getCouponId,CouponList);
+        }
+        wrapper1.eq(CouponMember::getDelFlag,0);
+        List<CouponMember> page1 = this.list(wrapper1);
+        List<CouponMemberVO> couponMemberVOS=new ArrayList<>();
+        for (CouponMember couponMember:page1){
+            CouponMemberVO couponMemberVO= BeanUtils.copyProperties(couponMember,CouponMemberVO.class);
+            Coupon coupon = couponMapper.selectById(couponMemberVO.getCouponId());
+            couponMemberVO.setCouponName(coupon.getCouponName());
+            couponMemberVOS.add(couponMemberVO);
+        }
+        return couponMemberVOS;
+    }
+
+    @Override
+    public void timingCheckMemberCoupon() {
+        this.baseMapper.timingCheckMemberCoupon();
+    }
 }

--
Gitblit v1.7.1