mitao
2024-07-29 fc8b51f40e71aa09bb49f407c1e9f68ac94ceb58
ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/CouponMemberServiceImpl.java
@@ -5,12 +5,21 @@
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.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,26 +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, CouponUseEnum.UNUSED);
        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,
                CouponUseEnum.getEnumByCode(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
@@ -57,4 +78,66 @@
        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();
    }
}