From fc8b51f40e71aa09bb49f407c1e9f68ac94ceb58 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 29 七月 2024 18:51:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java |  139 ++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 115 insertions(+), 24 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 a0ef57a..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
@@ -3,19 +3,24 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.promotion.controller.dto.CouponMemberDTO;
-import com.ruoyi.promotion.domain.pojo.CouponMember;
-import com.ruoyi.promotion.domain.pojo.PromotionBanner;
+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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.system.api.domain.MemberAddress;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-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;
 
 /**
  * <p>
@@ -29,24 +34,110 @@
 public class CouponMemberServiceImpl extends ServiceImpl<CouponMemberMapper, CouponMember> implements ICouponMemberService {
 
     @Resource
-    private ICouponMemberService iCouponMemberService;
+    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=iCouponMemberService.list(wrapper);
-        for (CouponMember couponMember:couponMemberList){
-            if(LocalDateTime.now().isAfter(couponMember.getEndDate())){
-                couponMember.setCouponStatus(0);
-                iCouponMemberService.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 = iCouponMemberService.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
+    public CouponMember getCouponMember(CouponMemberDTO couponMemberDTO) {
+        return this.getById(couponMemberDTO.getId());
+    }
+
+    @Override
+    public void updCouponMember(CouponMemberDTO couponMemberDTO) {
+        CouponMember byId = this.getById(couponMemberDTO.getId());
+        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