mitao
2025-03-14 392b42c4891cf2e6beda57ab32c51598f290f4b7
ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java
@@ -2,17 +2,25 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.promotion.controller.dto.CouponMemberDTO;
import com.ruoyi.promotion.domain.pojo.CouponMember;
import com.ruoyi.promotion.domain.pojo.PromotionBanner;
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.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 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>
@@ -26,22 +34,110 @@
public class CouponMemberServiceImpl extends ServiceImpl<CouponMemberMapper, CouponMember> implements ICouponMemberService {
    @Resource
    private ICouponMemberService iCouponMemberService;
    private CouponMapper couponMapper;
    @Override
    public List<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);
        return iCouponMemberService.list(wrapper1);
        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();
    }
}