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/ApiVideoMemberServiceImpl.java | 106 +++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 91 insertions(+), 15 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/video/service/impl/ApiVideoMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/video/service/impl/ApiVideoMemberServiceImpl.java index e22c559..27420d7 100644 --- a/src/main/java/cc/mrbird/febs/video/service/impl/ApiVideoMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/video/service/impl/ApiVideoMemberServiceImpl.java @@ -3,27 +3,38 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.AppContants; +import cc.mrbird.febs.common.utils.LoginUserUtil; import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.common.utils.ShareCodeUtil; -import cc.mrbird.febs.video.dto.LoginDto; -import cc.mrbird.febs.video.dto.RegisterDto; +import cc.mrbird.febs.video.conversion.VideoMemberConversion; +import cc.mrbird.febs.video.dto.*; +import cc.mrbird.febs.video.entity.AppVersion; +import cc.mrbird.febs.video.entity.DataDictionaryCustom; import cc.mrbird.febs.video.entity.VideoMemberEntity; -import cc.mrbird.febs.video.mapper.VideoMemberMapper; +import cc.mrbird.febs.video.entity.VideoVipInfoEntity; +import cc.mrbird.febs.video.mapper.*; import cc.mrbird.febs.video.service.IApiVideoMemberService; +import cc.mrbird.febs.video.vo.ApiMyVideoCollectionVo; +import cc.mrbird.febs.video.vo.ApiMyVideoHistoryVo; +import cc.mrbird.febs.video.vo.ApiVideoMemberVo; +import cc.mrbird.febs.video.vo.ApiVipCostVo; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.asymmetric.KeyType; import cn.hutool.crypto.asymmetric.RSA; import com.alibaba.fastjson.JSONObject; +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 java.math.BigDecimal; import java.util.HashMap; +import java.util.List; import java.util.Map; @Slf4j @@ -32,6 +43,10 @@ public class ApiVideoMemberServiceImpl extends ServiceImpl<VideoMemberMapper, VideoMemberEntity> implements IApiVideoMemberService { private final RedisUtils redisUtils; + private final VideoCollectionMapper videoCollectionMapper; + private final DataDictionaryCustomMapper dataDictionaryCustomMapper; + private final AppVersionMapper appVersionMapper; + private final VideoVipInfoMapper videoVipInfoMapper; @Override public FebsResponse register(RegisterDto registerDto) { @@ -39,28 +54,24 @@ if (videoMember != null) { throw new FebsException("该账号已被占用"); } - videoMember = new VideoMemberEntity(); - videoMember.setPassword(SecureUtil.md5(registerDto.getPassword())); - - // 判断账号类型 - if (AppContants.ACCOUNT_TYPE_MOBILE.equals(registerDto.getType())) { - videoMember.setPhone(registerDto.getAccount()); - } else { - videoMember.setEmail(registerDto.getAccount()); + if(StrUtil.isNotEmpty(registerDto.getInviteId())){ + VideoMemberEntity videoMemberEntity = this.baseMapper.selectInfoByInviteId(registerDto.getInviteId()); + if (ObjectUtil.isEmpty(videoMemberEntity)) { + throw new FebsException("邀请码不存在"); + } + videoMember.setRefererId(registerDto.getInviteId()); } - + videoMember.setPassword(SecureUtil.md5(registerDto.getPassword())); videoMember.setAccount(registerDto.getAccount()); videoMember.setName(registerDto.getAccount()); videoMember.setAccountStatus(VideoMemberEntity.ACCOUNT_STATUS_ENABLE); videoMember.setAccountType(VideoMemberEntity.ACCOUNT_TYPE_NORMAL); videoMember.setIsVip(VideoMemberEntity.ISVIP_STATUS_NO); - this.baseMapper.insert(videoMember); String inviteId = ShareCodeUtil.toSerialCode(videoMember.getId()); videoMember.setInviteId(inviteId); - //推荐人和推荐人链 boolean flag = false; String parentId = videoMember.getRefererId(); @@ -123,6 +134,71 @@ return new FebsResponse().success().data(authInfo); } + @Override + public FebsResponse logout() { + Long id = LoginUserUtil.getLoginUser().getId(); + redisUtils.del(AppContants.APP_LOGIN_PREFIX + id); + return new FebsResponse().success().message("退出登录"); + } + + @Override + public FebsResponse findMemberInfo() { + Long id = LoginUserUtil.getLoginUser().getId(); + VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id); + ApiVideoMemberVo apiVideoMemberVo = VideoMemberConversion.INSTANCE.entityToVo(videoMemberEntity); + List<VideoVipInfoEntity> videoVipInfoEntities = videoVipInfoMapper.selectVideoVipInfoByMemberIdAndState(id, 1); + if(CollUtil.isNotEmpty(videoVipInfoEntities)){ + VideoVipInfoEntity videoVipInfoEntity = videoVipInfoEntities.get(0); + apiVideoMemberVo.setExpireTime(videoVipInfoEntity.getExpireTime()); + apiVideoMemberVo.setVipType(videoVipInfoEntity.getVipType()); + } + return new FebsResponse().success().data(apiVideoMemberVo); + } + + @Override + public FebsResponse myCollection(ApiMyVideoCollectionDto apiMyVideoCollectionDto) { + IPage<ApiMyVideoCollectionVo> page = new Page<>(apiMyVideoCollectionDto.getPageNum(), apiMyVideoCollectionDto.getPageSize()); + Long id = LoginUserUtil.getLoginUser().getId(); + apiMyVideoCollectionDto.setMemberId(id); + IPage<ApiMyVideoCollectionVo> pages = videoCollectionMapper.selectApiVideoCollectionInPage(page, apiMyVideoCollectionDto); + return new FebsResponse().success().data(pages); + } + + @Override + public FebsResponse myHistory(ApiMyVideoHistoryDto apiMyVideoHistoryDto) { + IPage<ApiMyVideoHistoryVo> page = new Page<>(apiMyVideoHistoryDto.getPageNum(), apiMyVideoHistoryDto.getPageSize()); + Long id = LoginUserUtil.getLoginUser().getId(); + apiMyVideoHistoryDto.setMemberId(id); + IPage<ApiMyVideoHistoryVo> pages = videoCollectionMapper.selectApiMyVideoHistoryInPage(page, apiMyVideoHistoryDto); + return new FebsResponse().success().data(pages); + } + + @Override + public FebsResponse vipCostInfo() { + List<ApiVipCostVo> dataDictionaryCustoms = dataDictionaryCustomMapper.selectApiVipCostByType("VIP_COST"); + return new FebsResponse().success().data(dataDictionaryCustoms); + } + + @Override + public List<AppVersion> findAppVersion() { + return appVersionMapper.selectList(null); + } + + @Override + public FebsResponse updateName(ApiUpdateNameDto apiUpdateNameDto) { + Long id = LoginUserUtil.getLoginUser().getId(); + VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id); + if(StrUtil.isNotEmpty(apiUpdateNameDto.getName())){ + videoMemberEntity.setName(apiUpdateNameDto.getName()); + } + + if(StrUtil.isNotEmpty(apiUpdateNameDto.getAvatar())){ + videoMemberEntity.setAvatar(apiUpdateNameDto.getAvatar()); + } + this.baseMapper.updateById(videoMemberEntity); + return new FebsResponse().success().message("成功"); + } + public String generateAsaToken(String token) { RSA rsa = new RSA(null, AppContants.PUBLIC_KEY); -- Gitblit v1.9.1