From bdf9983a1e03986e5304d1b87f1c6f80a5d908ed Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 17 Dec 2021 11:46:18 +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 | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 106 insertions(+), 2 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 0e03c5a..5a58e1e 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 @@ -3,22 +3,30 @@ 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.AppVersion; 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.AppVersionMapper; 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.kotlin.KtQueryWrapper; 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 @@ -27,6 +35,7 @@ public class AdminVideoMemberServiceImpl extends ServiceImpl<VideoMemberMapper, VideoMemberEntity> implements IAdminVideoMemberService { private final VideoVipInfoMapper videoVipInfoMapper; + private final AppVersionMapper appVersionMapper; @Override public IPage<VideoMemberEntity> getVideoMembers(VideoMemberEntity videoMember, QueryRequest request) { @@ -36,6 +45,7 @@ } @Override + @Transactional(rollbackFor = Exception.class) public FebsResponse resetPwd(Long id) { VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id); if (videoMemberEntity == null) { @@ -49,6 +59,7 @@ } @Override + @Transactional(rollbackFor = Exception.class) public FebsResponse closeAccount(Long id) { VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id); if(ObjectUtil.isEmpty(videoMemberEntity)) { @@ -60,6 +71,7 @@ } @Override + @Transactional(rollbackFor = Exception.class) public FebsResponse openAccount(Long id) { VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id); if(ObjectUtil.isEmpty(videoMemberEntity)) { @@ -74,9 +86,101 @@ public AdminVideoMemberVo getAdminVideoMemberVoById(long id) { VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id); AdminVideoMemberVo adminVideoMemberVo = new AdminVideoMemberVo(); - adminVideoMemberVo.setMemberId(videoMemberEntity.getId()); + 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(); + } + + @Override + public IPage<AppVersion> getAppVersionList(AppVersion appVersion, QueryRequest request) { + Page<AppVersion> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<AppVersion> appVersions = this.baseMapper.getAppVersionListInPage(page, appVersion); + return appVersions; + } + + @Override + public FebsResponse delCategary(Long id) { + AppVersion appVersion = appVersionMapper.selectById(id); + if(ObjectUtil.isEmpty(appVersion)){ + return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); + } + appVersionMapper.deleteById(id); + return new FebsResponse().success(); + } + + @Override + public FebsResponse addAppVersion(AppVersion appVersion) { + appVersion.setCreatetime(new Date()); + appVersionMapper.insert(appVersion); + return new FebsResponse().success(); + } + + @Override + public FebsResponse updateAppVersion(AppVersion appVersion) { + AppVersion appVersionBefore = appVersionMapper.selectById(appVersion.getId()); + if(ObjectUtil.isEmpty(appVersionBefore)){ + return new FebsResponse().fail().message("系统繁忙,请刷新页面重试"); + } + appVersion.setCreatetime(new Date()); + appVersionMapper.updateById(appVersion); + return new FebsResponse().success(); + } + + @Override + public AppVersion getAppVersionInfoById(long id) { + return appVersionMapper.selectById(id); + } + } -- Gitblit v1.9.1