package com.ruoyi.promotion.service.impl;
|
|
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.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;
|
|
/**
|
* <p>
|
* 优惠券领取表 服务实现类
|
* </p>
|
*
|
* @author mitao
|
* @since 2024-05-16
|
*/
|
@Service
|
public class CouponMemberServiceImpl extends ServiceImpl<CouponMemberMapper, CouponMember> implements ICouponMemberService {
|
|
@Resource
|
private CouponMapper couponMapper;
|
|
@Override
|
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();
|
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, 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();
|
}
|
}
|