| | |
| | | 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.AppVersionMapper; |
| | | import cc.mrbird.febs.video.mapper.DataDictionaryCustomMapper; |
| | | import cc.mrbird.febs.video.mapper.VideoCollectionMapper; |
| | | import cc.mrbird.febs.video.mapper.VideoMemberMapper; |
| | | 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.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 |
| | |
| | | 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; |
| | | |
| | | @Override |
| | | public FebsResponse register(RegisterDto registerDto) { |
| | |
| | | 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(); |
| | |
| | | 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); |
| | | 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); |