From 8ac93bd9b45e3d25783798e1fe8cfc26bedd57d2 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 05 十二月 2020 17:17:48 +0800
Subject: [PATCH] 完善天天抽奖

---
 service-daylucky/src/main/java/com/ks/daylucky/util/UserInfoUtil.java |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/service-daylucky/src/main/java/com/ks/daylucky/util/UserInfoUtil.java b/service-daylucky/src/main/java/com/ks/daylucky/util/UserInfoUtil.java
index 087c70f..e3c666f 100644
--- a/service-daylucky/src/main/java/com/ks/daylucky/util/UserInfoUtil.java
+++ b/service-daylucky/src/main/java/com/ks/daylucky/util/UserInfoUtil.java
@@ -1,9 +1,18 @@
 package com.ks.daylucky.util;
 
 import com.ks.daylucky.pojo.DO.UserInfo;
+import com.ks.daylucky.pojo.DTO.TokenDTO;
+import com.ks.daylucky.pojo.DTO.TokenParseResultDTO;
+import com.ks.lucky.pojo.DO.BaseUser;
 import org.yeshi.utils.StringUtil;
+import org.yeshi.utils.encrypt.AESUtil;
+
+import java.util.List;
 
 public class UserInfoUtil {
+
+    private final static String TOKEN_KEY = "@2020_Ks@8#8";
+
 
     /**
      * 鑾峰彇鐢ㄦ埛鍞竴鏍囪瘑
@@ -20,4 +29,40 @@
         return null;
     }
 
+    public static TokenDTO getToken(Long uid) {
+        //鐢ㄦ埛ID#鍒版湡鏃堕棿鎴�
+        //鏈夋晥鏈熶负12灏忔椂
+        long expireTime = System.currentTimeMillis() + 1000 * 60 * 60L * 12;
+        String tokenSource = String.format("%s#%s", uid + "", expireTime);
+        return new TokenDTO(AESUtil.encrypt(tokenSource, TOKEN_KEY), expireTime);
+    }
+
+    /**
+     * 鑾峰彇token鐨勭姸鎬�
+     *
+     * @param token
+     * @return
+     */
+    public static TokenParseResultDTO parseToken(String token) {
+        String result = AESUtil.decrypt(token, TOKEN_KEY);
+        if (StringUtil.isNullOrEmpty(result)) {
+            return new TokenParseResultDTO(TokenParseResultDTO.TOKEN_STATE_ERROR, null);
+        }
+        long time = Long.parseLong(result.split("#")[1]);
+        long uid = Long.parseLong(result.split("#")[0]);
+
+        if (time < System.currentTimeMillis()) {
+            return new TokenParseResultDTO(TokenParseResultDTO.TOKEN_STATE_OUT_DATE, null);
+        }
+
+        return new TokenParseResultDTO(TokenParseResultDTO.TOKEN_STATE_VALID, uid);
+    }
+
+    public static BaseUser[] getBaseUserList(List<? extends BaseUser> list) {
+        BaseUser[] users = new BaseUser[list.size()];
+        list.toArray(users);
+        return users;
+    }
+
+
 }

--
Gitblit v1.8.0