| | |
| | | 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<VideoMemberEntity> getVideoMembers(VideoMemberEntity videoMember, QueryRequest request) { |
| | | return null; |
| | | 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; |
| | | } |
| | | |
| | | |
| | | } |