From 81e92195c3fb7f207f6b306a49b52591d24b92e3 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 28 九月 2022 15:31:21 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/sys/UserService.java   |    4 
 src/main/java/com/lf/server/service/sys/CommonService.java |  137 +++++++++++++++++++++++++++
 src/main/java/com/lf/server/service/sys/RedisService.java  |   96 +++++++++++++++++++
 src/main/java/com/lf/server/entity/all/StaticData.java     |    2 
 src/main/resources/application.yml                         |    3 
 5 files changed, 239 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/lf/server/entity/all/StaticData.java b/src/main/java/com/lf/server/entity/all/StaticData.java
index 452915a..883b3d7 100644
--- a/src/main/java/com/lf/server/entity/all/StaticData.java
+++ b/src/main/java/com/lf/server/entity/all/StaticData.java
@@ -33,5 +33,5 @@
     /**
      * 缂撳瓨鍓嶇紑
      */
-    public final static String CACHE_PREFIX = "SGProxy";
+    public final static String CACHE_PREFIX = "LF";
 }
diff --git a/src/main/java/com/lf/server/service/sys/CommonService.java b/src/main/java/com/lf/server/service/sys/CommonService.java
new file mode 100644
index 0000000..2190f38
--- /dev/null
+++ b/src/main/java/com/lf/server/service/sys/CommonService.java
@@ -0,0 +1,137 @@
+package com.lf.server.service.sys;
+
+import com.alibaba.fastjson.JSONObject;
+import com.lf.server.entity.all.StaticData;
+import com.lf.server.helper.RestHelper;
+import com.lf.server.helper.SpringContextHelper;
+import com.lf.server.helper.StringHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * 閫氱敤鏈嶅姟绫�
+ * @author WWW
+ */
+@Service("commonService")
+public class CommonService {
+    @Autowired
+    private RedisService redisService;
+
+    /**
+     * 鑾峰彇璇锋眰
+     *
+     * @return HttpServletRequest
+     */
+    public HttpServletRequest getRequest() {
+        return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+    }
+
+    /**
+     * 鑾峰彇鍝嶅簲
+     *
+     * @return HttpServletResponse
+     */
+    public HttpServletResponse getResponse() {
+        return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
+    }
+
+    /**
+     * 鑾峰彇璇锋眰Uri
+     *
+     * @return Uri
+     */
+    public String getRequestUri() {
+        return this.getRequest().getRequestURI();
+    }
+
+    /**
+     * 鑾峰彇鏈�缁堢殑URL
+     *
+     * @param mainUrl 涓籙rl
+     * @return 鏈�缁圲rl
+     */
+    public String getLastUrl(String mainUrl) {
+        String queryString = this.getRequest().getQueryString();
+        if (StringHelper.isNull(queryString)) {
+            return mainUrl;
+        }
+
+        return String.format("%s?%s", mainUrl, queryString);
+    }
+
+    /**
+     * 鏄�/鍚︿负寮�鍙戠幆澧�
+     *
+     * @return 鏄�/鍚�
+     */
+    public boolean isDevProfile() {
+        String profile = SpringContextHelper.getActiveProfile();
+
+        return "dev".equals(profile);
+    }
+
+    /**
+     * 妫�鏌ヤ护鐗�
+     *
+     * @param token 浠ょ墝
+     * @return 鏄�/鍚︽湁鏁�
+     * @throws IOException
+     */
+    public boolean checkToken(String token) throws IOException {
+        // http://a4.petrochina/sysservice/token/check?token=1d016abc-cf17-4801-9b5b-b43304e5bfe1
+        String url = "http://a4.petrochina/sysservice/" + "token/check?token=" + token;
+
+        String json = isDevProfile() ? RestHelper.get(url) : RestHelper.getForRest(url);
+        if (StringHelper.isEmpty(json)) {
+            return false;
+        }
+
+        JSONObject jo = JSONObject.parseObject(json);
+        Object code = jo.get("code");
+
+        return null != code && "200".equals(code.toString());
+    }
+
+    /**
+     * 璁剧疆缂撳瓨
+     *
+     * @param db      鏁版嵁搴�
+     * @param tag     鏍囪瘑
+     * @param obj     瀵硅薄
+     * @param timeout 缂撳瓨鍒嗛挓鏁�
+     */
+    private void setCache(String db, String tag, Object obj, int timeout) {
+        String key = StaticData.CACHE_PREFIX + ":" + db + ":" + tag;
+        redisService.put(key, obj, timeout, TimeUnit.MINUTES);
+    }
+
+    /**
+     * 鑾峰彇缂撳瓨
+     *
+     * @param db  鏁版嵁搴�
+     * @param tag 鏍囪瘑
+     * @return 瀵硅薄
+     */
+    private Object getCache(String db, String tag) {
+        String key = StaticData.CACHE_PREFIX + ":" + db + ":" + tag;
+        if (redisService.hasKey(key)) {
+            return redisService.get(key);
+        }
+
+        return null;
+    }
+
+    /**
+     * 娓呯┖缂撳瓨
+     */
+    public void clearCache() {
+        redisService.clearKeys(StaticData.CACHE_PREFIX);
+    }
+}
diff --git a/src/main/java/com/lf/server/service/sys/RedisService.java b/src/main/java/com/lf/server/service/sys/RedisService.java
new file mode 100644
index 0000000..e8afc7d
--- /dev/null
+++ b/src/main/java/com/lf/server/service/sys/RedisService.java
@@ -0,0 +1,96 @@
+package com.lf.server.service.sys;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Redis鏈嶅姟绫�
+ * @author WWW
+ */
+@Service("redisService")
+public class RedisService {
+    @Autowired
+    private RedisTemplate<String, Object> redisTemplate;
+
+    /**
+     * 鑾峰彇Redis妯℃澘
+     *
+     * @return
+     */
+    public RedisTemplate<String, Object> getRedisTemplate() {
+        return redisTemplate;
+    }
+
+    /**
+     * 璁剧疆鍊煎埌redis涓�
+     *
+     * @param key   閿�
+     * @param value 鍊�
+     */
+    public void put(String key, Object value) {
+        redisTemplate.opsForValue().set(key, value);
+    }
+
+    /**
+     * 璁剧疆鍊煎埌redis涓�,骞惰缃繃鏈熸椂闂�
+     *
+     * @param key     閿�
+     * @param value   鍊�
+     * @param timeout 鏃堕棿
+     * @param unit    鍗曚綅
+     */
+    public void put(String key, Object value, long timeout, TimeUnit unit) {
+        redisTemplate.opsForValue().set(key, value, timeout, unit);
+    }
+
+    /**
+     * 鏍规嵁key鑾峰彇value
+     *
+     * @param key 閿�
+     * @return
+     */
+    public Object get(String key) {
+        return redisTemplate.opsForValue().get(key);
+    }
+
+    /**
+     * 鏄惁瀛樺湪key
+     *
+     * @param key 閿�
+     * @return
+     */
+    public boolean hasKey(String key) {
+        return redisTemplate.hasKey(key);
+    }
+
+    /**
+     * 绉婚櫎key
+     *
+     * @param key 閿�
+     */
+    public void delete(String key) {
+        redisTemplate.delete(key);
+    }
+
+    /**
+     * 娓呯┖鎸囧畾閿墠缂�
+     *
+     * @param subKeyString 閿墠缂�
+     */
+    public void clearKeys(String subKeyString) {
+        Set<String> keys = redisTemplate.keys(subKeyString + "*");
+        redisTemplate.delete(keys);
+    }
+
+    /**
+     * 娓呯┖鎵�鏈�
+     */
+    public void clearAll() {
+        Set<String> keys = redisTemplate.keys("*");
+        redisTemplate.delete(keys);
+    }
+}
diff --git a/src/main/java/com/lf/server/service/sys/UserService.java b/src/main/java/com/lf/server/service/sys/UserService.java
index 9d3a767..b88d6bc 100644
--- a/src/main/java/com/lf/server/service/sys/UserService.java
+++ b/src/main/java/com/lf/server/service/sys/UserService.java
@@ -11,8 +11,8 @@
 import java.util.UUID;
 
 /**
- * UserService
- * @author
+ * User鏈嶅姟绫�
+ * @author WWW
  */
 @Service
 public class UserService implements UserMapper {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 06fe812..70a161e 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,6 +1,7 @@
 server:
   tomcat:
     uri-encoding: UTF-8
+    max-connections: 1000
   port: 12316
   #servlet:
   #  context-path: /land
@@ -8,6 +9,8 @@
     name: land
 
 spring:
+  session:
+    timeout: PT20M # 20鍒嗛挓
   datasource:
     username : postgres
     password: postgres

--
Gitblit v1.9.3