| | |
| | | |
| | | 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.common.utils.*; |
| | | 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.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.date.DateField; |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.io.unit.DataUnit; |
| | | 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 lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | private final VideoCollectionMapper videoCollectionMapper; |
| | | private final DataDictionaryCustomMapper dataDictionaryCustomMapper; |
| | | private final AppVersionMapper appVersionMapper; |
| | | private final VideoVipInfoMapper videoVipInfoMapper; |
| | | |
| | | @Override |
| | | public FebsResponse register(RegisterDto registerDto) { |
| | |
| | | Long id = LoginUserUtil.getLoginUser().getId(); |
| | | VideoMemberEntity videoMemberEntity = this.baseMapper.selectById(id); |
| | | ApiVideoMemberVo apiVideoMemberVo = VideoMemberConversion.INSTANCE.entityToVo(videoMemberEntity); |
| | | VideoVipInfoEntity videoVipInfoEntity = videoVipInfoMapper.selectVideoVipInfoByMemberIdAndState(id, 1); |
| | | if(videoVipInfoEntity != null){ |
| | | apiVideoMemberVo.setExpireTime(videoVipInfoEntity.getExpireTime()); |
| | | apiVideoMemberVo.setVipType(videoVipInfoEntity.getVipType()); |
| | | } |
| | | return new FebsResponse().success().data(apiVideoMemberVo); |
| | | } |
| | | |
| | |
| | | return rsa.encryptBase64(token + "_" + System.currentTimeMillis(), KeyType.PublicKey); |
| | | } |
| | | |
| | | @Override |
| | | public void extendVipTime(String type, Long memberId) { |
| | | int extendTime = 0; |
| | | switch (type) { |
| | | case "MONTH": |
| | | extendTime = 1; |
| | | break; |
| | | case "PERIOD": |
| | | extendTime = 3; |
| | | break; |
| | | case "YEAR": |
| | | extendTime = 12; |
| | | break; |
| | | } |
| | | |
| | | VideoVipInfoEntity vipInfo = videoVipInfoMapper.selectByMemberId(memberId); |
| | | if (vipInfo == null) { |
| | | vipInfo = new VideoVipInfoEntity(); |
| | | vipInfo.setBuyTime(new Date()); |
| | | vipInfo.setState(1); |
| | | vipInfo.setMemberId(memberId); |
| | | videoVipInfoMapper.insert(vipInfo); |
| | | } |
| | | |
| | | DateTime offset = DateUtil.offset(vipInfo.getBuyTime(), DateField.MONTH, extendTime); |
| | | vipInfo.setExpireTime(offset); |
| | | videoVipInfoMapper.updateById(vipInfo); |
| | | } |
| | | } |