From 865721523230a003a5aeccaf8eab031a65601932 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 20 Dec 2021 11:40:38 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/video/service/impl/ApiVideoMemberServiceImpl.java |   38 ++++++++++++++++++++++++++++++++++----
 1 files changed, 34 insertions(+), 4 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 27420d7..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,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);
+    }
 }

--
Gitblit v1.9.1