From d48b46152f08410fcb4940a29067d82435b8cbe9 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 20 Dec 2021 16:26:10 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/video/service/impl/ApiVideoMemberServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 44 insertions(+), 8 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 06e8684..0568d27 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 @@ -2,27 +2,27 @@ 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; @@ -34,6 +34,7 @@ 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; @@ -47,6 +48,7 @@ private final VideoCollectionMapper videoCollectionMapper; private final DataDictionaryCustomMapper dataDictionaryCustomMapper; private final AppVersionMapper appVersionMapper; + private final VideoVipInfoMapper videoVipInfoMapper; @Override public FebsResponse register(RegisterDto registerDto) { @@ -146,6 +148,12 @@ 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); } @@ -199,4 +207,32 @@ 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); + } } -- Gitblit v1.9.1