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.AppVersion;
|
import cc.mrbird.febs.video.entity.VideoMemberEntity;
|
import cc.mrbird.febs.video.entity.VideoVipInfoEntity;
|
import cc.mrbird.febs.video.entity.VideoVipOrderInfoEntity;
|
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.service.IApiVideoMemberService;
|
import cc.mrbird.febs.video.vo.AdminVideoMemberEntityVo;
|
import cc.mrbird.febs.video.vo.AdminVideoMemberVo;
|
import cc.mrbird.febs.video.vo.AdminVideoVipOrderInfoVo;
|
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 javax.annotation.Resource;
|
import java.util.Date;
|
import java.util.List;
|
|
@Slf4j
|
@Service
|
@RequiredArgsConstructor
|
public class AdminVideoMemberServiceImpl extends ServiceImpl<VideoMemberMapper, VideoMemberEntity> implements IAdminVideoMemberService {
|
|
private final VideoVipInfoMapper videoVipInfoMapper;
|
private final AppVersionMapper appVersionMapper;
|
private final IApiVideoMemberService apiVideoMemberService;
|
|
@Override
|
public IPage<AdminVideoMemberEntityVo> getVideoMembers(VideoMemberEntity videoMember, QueryRequest request) {
|
Page<VideoMemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
|
IPage<AdminVideoMemberEntityVo> 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("重置成功,重置后的密码为:a123456");
|
}
|
|
@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);
|
|
VideoVipInfoEntity videoVipInfoEntities = videoVipInfoMapper.selectVideoVipInfoByMemberIdAndState(adminSetVipDto.getId(),1);
|
if(ObjectUtil.isNotEmpty(videoVipInfoEntities)){
|
return new FebsResponse().fail().message("用户的会员还未失效");
|
}
|
|
apiVideoMemberService.extendVipTime(adminSetVipDto.getVipType(), videoMemberEntity.getId());
|
|
// 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);
|
VideoVipInfoEntity videoVipInfoEntities = videoVipInfoMapper.selectVideoVipInfoByMemberIdAndState(videoMemberEntity.getId(),1);
|
if(ObjectUtil.isNotEmpty(videoVipInfoEntities)){
|
videoVipInfoMapper.deleteById(videoVipInfoEntities.getId());
|
}
|
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);
|
}
|
|
@Override
|
public IPage<AdminVideoVipOrderInfoVo> getOrders(VideoVipOrderInfoEntity videoVipOrderInfoEntity, QueryRequest request) {
|
Page<VideoMemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
|
IPage<AdminVideoVipOrderInfoVo> adminVideoVipOrderInfoVos = this.baseMapper.selectAdminVideoVipOrderInfoVoInPage(page, videoVipOrderInfoEntity);
|
return adminVideoVipOrderInfoVos;
|
}
|
|
|
}
|