fix
Helius
2021-12-20 865721523230a003a5aeccaf8eab031a65601932
src/main/java/cc/mrbird/febs/video/service/impl/ApiVideoMemberServiceImpl.java
@@ -2,10 +2,7 @@
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;
@@ -18,6 +15,10 @@
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;
@@ -33,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;
@@ -205,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);
    }
}