管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-09-28 81e92195c3fb7f207f6b306a49b52591d24b92e3
1
已添加2个文件
已修改3个文件
242 ■■■■■ 文件已修改
src/main/java/com/lf/server/entity/all/StaticData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/sys/CommonService.java 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/sys/RedisService.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/sys/UserService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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";
}
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 ä¸»Url
     * @return æœ€ç»ˆUrl
     */
    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);
    }
}
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);
    }
}
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 {
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