From 8c6f0393f6f12928e3f549517e2b63c1e6798df1 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 16 Dec 2021 17:35:23 +0800
Subject: [PATCH] 20211216
---
src/main/java/cc/mrbird/febs/video/service/impl/AdminVideoMemberServiceImpl.java | 65 +++++++++++++++++++++++++++++++-
1 files changed, 63 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..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
@@ -3,22 +3,28 @@
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.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
@@ -36,6 +42,7 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public FebsResponse resetPwd(Long id) {
VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id);
if (videoMemberEntity == null) {
@@ -49,6 +56,7 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public FebsResponse closeAccount(Long id) {
VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id);
if(ObjectUtil.isEmpty(videoMemberEntity)) {
@@ -60,6 +68,7 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public FebsResponse openAccount(Long id) {
VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id);
if(ObjectUtil.isEmpty(videoMemberEntity)) {
@@ -74,9 +83,61 @@
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();
+ }
+
}
--
Gitblit v1.9.1