From 5d9add8982a94cabc61c4acfb7573e8ca6f2e39d Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 17 Dec 2021 10:16:54 +0800 Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-video --- src/main/java/cc/mrbird/febs/video/service/impl/AdminVideoMemberServiceImpl.java | 124 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 1 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/video/service/impl/AdminVideoMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/video/service/impl/AdminVideoMemberServiceImpl.java index 837f833..4a9770e 100644 --- a/src/main/java/cc/mrbird/febs/video/service/impl/AdminVideoMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/video/service/impl/AdminVideoMemberServiceImpl.java @@ -1,21 +1,143 @@ package cc.mrbird.febs.video.service.impl; +import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; +import cc.mrbird.febs.common.exception.FebsException; +import cc.mrbird.febs.video.dto.AdminSetVipDto; import cc.mrbird.febs.video.entity.VideoMemberEntity; +import cc.mrbird.febs.video.entity.VideoVipInfoEntity; +import cc.mrbird.febs.video.enumeration.VipTypeEnum; import cc.mrbird.febs.video.mapper.VideoMemberMapper; +import cc.mrbird.febs.video.mapper.VideoVipInfoMapper; import cc.mrbird.febs.video.service.IAdminVideoMemberService; +import cc.mrbird.febs.video.vo.AdminVideoMemberVo; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; @Slf4j @Service @RequiredArgsConstructor public class AdminVideoMemberServiceImpl extends ServiceImpl<VideoMemberMapper, VideoMemberEntity> implements IAdminVideoMemberService { + + private final VideoVipInfoMapper videoVipInfoMapper; + @Override public IPage<VideoMemberEntity> getVideoMembers(VideoMemberEntity videoMember, QueryRequest request) { - return null; + Page<VideoMemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<VideoMemberEntity> videoMembers = this.baseMapper.selectVideoMemberListInPage(page, videoMember); + return videoMembers; } + + @Override + @Transactional(rollbackFor = Exception.class) + public FebsResponse resetPwd(Long id) { + VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id); + if (videoMemberEntity == null) { + throw new FebsException("用户不存在"); + } + + String pwd = SecureUtil.md5("a123456"); + videoMemberEntity.setPassword(pwd); + this.baseMapper.updateById(videoMemberEntity); + return new FebsResponse().success().message("重置成功"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public FebsResponse closeAccount(Long id) { + VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id); + if(ObjectUtil.isEmpty(videoMemberEntity)) { + return new FebsResponse().fail().message("用户不存在"); + } + videoMemberEntity.setAccountStatus(VideoMemberEntity.ACCOUNT_STATUS_DISABLED); + this.baseMapper.updateById(videoMemberEntity); + return new FebsResponse().success(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public FebsResponse openAccount(Long id) { + VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id); + if(ObjectUtil.isEmpty(videoMemberEntity)) { + return new FebsResponse().fail().message("用户不存在"); + } + videoMemberEntity.setAccountStatus(VideoMemberEntity.ACCOUNT_STATUS_ENABLE); + this.baseMapper.updateById(videoMemberEntity); + return new FebsResponse().success(); + } + + @Override + public AdminVideoMemberVo getAdminVideoMemberVoById(long id) { + VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id); + AdminVideoMemberVo adminVideoMemberVo = new AdminVideoMemberVo(); + adminVideoMemberVo.setId(videoMemberEntity.getId()); + return adminVideoMemberVo; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public FebsResponse setVip(AdminSetVipDto adminSetVipDto) { + VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(adminSetVipDto.getId()); + videoMemberEntity.setIsVip(VideoMemberEntity.ISVIP_STATUS_YES); + this.baseMapper.updateById(videoMemberEntity); + + List<VideoVipInfoEntity> videoVipInfoEntities = videoVipInfoMapper.selectVideoVipInfoByMemberIdAndState(adminSetVipDto.getId(),1); + if(CollUtil.isNotEmpty(videoVipInfoEntities)){ + return new FebsResponse().fail().message("用户的会员还未失效"); + } + + VideoVipInfoEntity videoVipInfoEntity = new VideoVipInfoEntity(); + videoVipInfoEntity.setMemberId(adminSetVipDto.getId()); + videoVipInfoEntity.setVipType(adminSetVipDto.getVipType()); + videoVipInfoEntity.setBuyTime(new Date()); + videoVipInfoEntity.setState(1); + if(VipTypeEnum.MONTH.name().equals(adminSetVipDto.getVipType())){ + videoVipInfoEntity.setExpireTime(DateUtil.offset(new Date(), DateField.MONTH,1)); + } + if(VipTypeEnum.PERIOD.name().equals(adminSetVipDto.getVipType())){ + videoVipInfoEntity.setExpireTime(DateUtil.offset(new Date(), DateField.MONTH,3)); + } + if(VipTypeEnum.YEAR.name().equals(adminSetVipDto.getVipType())){ + videoVipInfoEntity.setExpireTime(DateUtil.offset(new Date(), DateField.MONTH,12)); + } + videoVipInfoMapper.insert(videoVipInfoEntity); + return new FebsResponse().success(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public FebsResponse cancelVip(Long id) { + VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id); + if(ObjectUtil.isEmpty(videoMemberEntity)) { + return new FebsResponse().fail().message("用户不存在"); + } + if(VideoMemberEntity.ISVIP_STATUS_NO.equals(videoMemberEntity.getIsVip())){ + return new FebsResponse().fail().message("当前用户还不是会员,无法取消"); + } + videoMemberEntity.setIsVip(VideoMemberEntity.ISVIP_STATUS_NO); + this.baseMapper.updateById(videoMemberEntity); + List<VideoVipInfoEntity> videoVipInfoEntities = videoVipInfoMapper.selectVideoVipInfoByMemberIdAndState(videoMemberEntity.getId(),1); + if(CollUtil.isNotEmpty(videoVipInfoEntities)){ + for(VideoVipInfoEntity videoVipInfoEntity : videoVipInfoEntities){ + videoVipInfoEntity.setState(2); + videoVipInfoMapper.updateById(videoVipInfoEntity); + } + } + return new FebsResponse().success(); + } + + } -- Gitblit v1.9.1