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