se-common/pom.xml
@@ -57,6 +57,18 @@ <artifactId>lombok</artifactId> </dependency> <!--redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!--SpringBootçé¨ç½²--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> </dependencies> </project> se-common/src/main/java/com/terra/common/aspect/LogAspect.java
@@ -2,9 +2,9 @@ import com.terra.common.annotation.SysLog; import com.terra.common.entity.lf.OperatePo; import com.terra.common.helper.TokenHelper; import com.terra.common.service.TokenHelper; import com.terra.common.helper.WebHelper; import com.terra.common.mapper.CommonMapper; import com.terra.common.mapper.OperatePoMapper; import io.swagger.v3.oas.annotations.tags.Tag; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -27,7 +27,7 @@ @Component public class LogAspect { @Resource CommonMapper commonMapper; OperatePoMapper operatePoMapper; private final static String SELECT = "select"; @@ -85,7 +85,7 @@ po.setUrl(req.getServletPath()); po.setIp(WebHelper.getIpAddress(req)); po.setExec(time); po.setUserid(TokenHelper.getCurrentUserId()); po.setUserid(TokenHelper.getCurrentUserId(req)); // 设置模å Tag tag = clazz.getAnnotation(Tag.class); @@ -105,7 +105,7 @@ po.setBak(sysLog.value()); } commonMapper.insert(po); operatePoMapper.insert(po); } catch (Exception ex) { log.error(ex.getMessage(), ex); } se-common/src/main/java/com/terra/common/config/RedisConfig.java
ÎļþÃû´Ó se-system/src/main/java/com/terra/system/config/RedisConfig.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.terra.system.config; package com.terra.common.config; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; se-common/src/main/java/com/terra/common/entity/all/RedisCacheKey.java
ÎļþÃû´Ó se-system/src/main/java/com/terra/system/entity/all/RedisCacheKey.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.terra.system.entity.all; package com.terra.common.entity.all; /** * Redisç¼åé® se-common/src/main/java/com/terra/common/entity/lf/TokenPo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,48 @@ package com.terra.common.entity.lf; import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import java.sql.Timestamp; /** * 令ç * @author WWW */ @Data @NoArgsConstructor @AllArgsConstructor @TableName("lf.sys_token") @EqualsAndHashCode(callSuper = false) public class TokenPo { private Integer id; private String uname; private String token; private Integer duration; private Timestamp expire; private Integer type; private String ip; private Integer createUser; private Timestamp createTime; private Integer updateUser; private Timestamp updateTime; private String createName; private String updateName; private Integer autoLogOut; } se-common/src/main/java/com/terra/common/entity/lf/UserPo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,62 @@ package com.terra.common.entity.lf; import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import java.sql.Timestamp; /** * ç¨æ· * @author WWW */ @Data @NoArgsConstructor @AllArgsConstructor @TableName("lf.sys_user") @EqualsAndHashCode(callSuper = false) public class UserPo { private Integer id; private Integer depid; private String uid; private String uname; private String pwd; private String salt; private Integer sex; private String natives; private String contact; private String job; private String email; private String addr; private String edu; private String idcard; private Integer status; private Integer createUser; private Timestamp createTime; private Integer updateUser; private Timestamp updateTime; private String bak; private String depcode; } se-common/src/main/java/com/terra/common/helper/TokenHelper.java
ÎļþÒÑɾ³ý se-common/src/main/java/com/terra/common/interceptor/AuthInterceptor.java
ÎļþÃû´Ó se-system/src/main/java/com/terra/system/interceptor/AuthInterceptor.java ÐÞ¸Ä @@ -1,14 +1,12 @@ package com.terra.system.interceptor; package com.terra.common.interceptor; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson2.JSON; import com.terra.common.entity.all.HttpStatus; import com.terra.common.entity.all.ResponseMsg; import com.terra.common.entity.all.StaticData; import com.terra.system.entity.sys.TokenEntity; import com.terra.system.entity.sys.UserEntity; import com.terra.common.entity.lf.UserPo; import com.terra.common.helper.StringHelper; import com.terra.common.helper.WebHelper; import com.terra.system.service.all.SysService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.context.annotation.Configuration; @@ -25,8 +23,6 @@ */ @Configuration public class AuthInterceptor implements HandlerInterceptor { private final SysService sysService; private static final Log log = LogFactory.getLog(AuthInterceptor.class); private static final String NO_TOKEN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.TOKEN_ERROR, "æ¾ä¸å°ä»¤ç")); @@ -43,9 +39,9 @@ private static final String ILLEGAL_TOKEN = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.UNAUTHORIZED, "ä»¤çæ¥æºéæ³")); public AuthInterceptor(SysService sysService) { this.sysService = sysService; } //public AuthInterceptor(SysService sysService) { // this.sysService = sysService; //} /** * Controlleræ§è¡ä¹åæ§è¡ï¼å¦æè¿å弿¯trueå代表æ¾è¡ï¼è¿åfalseåæ¦æª @@ -66,7 +62,7 @@ } // 3.è·åç¨æ·ä»¤ç UserEntity ue = sysService.tokenService.getUserByToken(token); UserPo ue = new UserPo(); //sysService.tokenService.getUserByToken(token); if (ue == null) { return WebHelper.writeStr2Page(response, NO_LOGIN); } @@ -95,9 +91,9 @@ } // 8.æ£æ¥ç¨æ·IDæ¯å¦ç¦ç¨ if (sysService.tokenService.isUidDisable(ue)) { return WebHelper.writeStr2Page(response, USER_LOCK); } //if (sysService.tokenService.isUidDisable(ue)) { // return WebHelper.writeStr2Page(response, USER_LOCK); //} // 9.æéæ ¡éª if (!checkPerms(ue, request)) { @@ -129,8 +125,8 @@ /** * æ£æ¥æé */ private boolean checkPerms(UserEntity ue, HttpServletRequest request) { List<String> list = sysService.permsService.selectPerms(ue.getUid()); private boolean checkPerms(UserPo ue, HttpServletRequest request) { List<String> list = null; //sysService.permsService.selectPerms(ue.getUid()); if (list == null || list.size() == 0) { return false; } @@ -149,7 +145,7 @@ * æ£æ¥é»åå */ private boolean checkBlackList(String ip, HttpServletRequest request) { List<String> blackList = sysService.blacklistService.selectIpList(1); List<String> blackList = null; // sysService.blacklistService.selectIpList(1); if (blackList == null || blackList.isEmpty()) { return true; } @@ -164,7 +160,7 @@ * æ£æ¥ç½åå */ private boolean checkWhiteList(String ip, HttpServletRequest request) { List<String> whiteList = sysService.blacklistService.selectIpList(2); List<String> whiteList = null; // sysService.blacklistService.selectIpList(2); if (whiteList == null || whiteList.isEmpty()) { return false; } @@ -176,8 +172,10 @@ * æ£æ¥IPä¸è´æ§ï¼åºå®ä»¤ç䏿£æ¥ */ private boolean checkIpSource(String ip, String token) { TokenEntity te = sysService.tokenService.getEntityByToken(token); //TokenEntity te = sysService.tokenService.getEntityByToken(token); return StaticData.I1 == te.getType() || te.getIp().equals(ip); //return StaticData.I1 == te.getType() || te.getIp().equals(ip); return true; } } se-common/src/main/java/com/terra/common/interceptor/CrosFilter.java
ÎļþÃû´Ó se-system/src/main/java/com/terra/system/interceptor/CrosFilter.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.terra.system.interceptor; package com.terra.common.interceptor; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; se-common/src/main/java/com/terra/common/mapper/CommonMapper.java
ÎļþÒÑɾ³ý se-common/src/main/java/com/terra/common/mapper/OperatePoMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.terra.common.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.terra.common.entity.lf.OperatePo; import com.terra.common.entity.lf.TokenPo; import com.terra.common.entity.lf.UserPo; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; import java.util.Map; @Mapper @Repository public interface OperatePoMapper extends BaseMapper<OperatePo> { @Insert("INSERT INTO lf.sys_operate(url, ip, exec, clazz, type, userid, bak, modular1, modular2) VALUES (#{url}, #{ip}, #{exec}, #{clazz}, #{type}, #{userid}, #{bak}, #{modular1}, #{modular2})") int insertOperate(Map<String, Object> map); @Select("select * from lf.sys_user where id = (select create_user from lf.sys_token where token=#{token} and expire > now() limit 1)") public UserPo selectByToken(String token); @Select("select a.* from lf.sys_token a where token = #{token} and expire > now() limit 1") public TokenPo selectOneByToken(String token); } se-common/src/main/java/com/terra/common/service/RedisService.java
ÎļþÃû´Ó se-system/src/main/java/com/terra/system/service/all/RedisService.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.terra.system.service.all; package com.terra.common.service; import com.terra.common.entity.all.SettingData; import org.springframework.data.redis.core.RedisTemplate; @@ -13,15 +13,13 @@ * Redisæå¡ç±» * @author WWW */ @Service("redisService") @Service public class RedisService { @Resource private RedisTemplate<String, Object> redisTemplate; /** * è·åRedisæ¨¡æ¿ * * @return */ public RedisTemplate<String, Object> getRedisTemplate() { return redisTemplate; @@ -53,7 +51,6 @@ * æ ¹æ®keyè·åvalue * * @param key é® * @return */ public Object get(String key) { return redisTemplate.opsForValue().get(key); @@ -63,7 +60,6 @@ * æ¯å¦åå¨key * * @param key é® * @return */ public boolean hasKey(String key) { return redisTemplate.hasKey(key); @@ -87,7 +83,7 @@ */ public void clearKeys(String subKeyString) { Set<String> keys = redisTemplate.keys(subKeyString + "*"); if (null != keys && keys.size() > 0) { if (!keys.isEmpty()) { redisTemplate.delete(keys); } } @@ -97,7 +93,7 @@ */ public void clearAll() { Set<String> keys = redisTemplate.keys("*"); if (null != keys && keys.size() > 0) { if (!keys.isEmpty()) { redisTemplate.delete(keys); } } @@ -118,7 +114,7 @@ * æ ¹æ®Keyä¿åæ°æ® */ public <T> void saveListByKey(String key, List<T> list) { if (null != list && list.size() > 0) { if (null != list && !list.isEmpty()) { put(key, list, SettingData.CACHE_EXPIRE, TimeUnit.MINUTES); } } @@ -127,7 +123,7 @@ * æ ¹æ®Keyä¿åæ°æ® */ public <T> void saveListByKey(String key, List<T> list, Integer minutes) { if (null != list && list.size() > 0) { if (null != list && !list.isEmpty()) { put(key, list, minutes, TimeUnit.MINUTES); } } se-common/src/main/java/com/terra/common/service/TokenHelper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,78 @@ package com.terra.common.service; import com.terra.common.entity.all.RedisCacheKey; import com.terra.common.entity.lf.TokenPo; import com.terra.common.entity.lf.UserPo; import com.terra.common.helper.StringHelper; import com.terra.common.helper.WebHelper; import com.terra.common.mapper.OperatePoMapper; import org.springframework.stereotype.Component; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.concurrent.TimeUnit; /** * 令ç帮å©ç±» * @author WWW */ @Component public class TokenHelper { @Resource RedisService redisService; @Resource OperatePoMapper mapper; public static Integer getCurrentUserId(HttpServletRequest req) { String token = WebHelper.getToken(req); return null; } public UserPo getUserByToken(String token) { if (StringHelper.isNull(token)) { return null; } // redis String userKey = RedisCacheKey.signUserKey(token); Object obj = redisService.get(userKey); if (obj instanceof UserPo) { return (UserPo) obj; } // db UserPo po = mapper.selectByToken(token); if (null != po) { getEntityByToken(token); } return po; } public TokenPo getEntityByToken(String token) { String tokenKey = RedisCacheKey.signTokenKey(token); // redis Object obj = redisService.get(tokenKey); if (obj instanceof TokenPo) { return (TokenPo) obj; } // db TokenPo te = mapper.selectOneByToken(token); if (null != te) { long min = StringHelper.getMinuteDifference(te.getExpire()); if (min > 0) { redisService.put(tokenKey, te, min, TimeUnit.MINUTES); } } return te; } public static String getCurrentUserName() { return null; } } se-system/pom.xml
@@ -50,12 +50,6 @@ <!--<version>2.2.2.RELEASE</version>--> </dependency> <!--redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!--postgresql--> <dependency> <groupId>org.postgresql</groupId> se-system/src/main/java/com/terra/system/service/all/BaseQueryService.java
@@ -2,8 +2,9 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.terra.system.entity.all.RedisCacheKey; import com.terra.common.entity.all.RedisCacheKey; import com.terra.common.entity.all.StaticData; import com.terra.common.service.RedisService; import com.terra.system.entity.ctrl.IdNameEntity; import com.terra.system.entity.ctrl.KeyValueEntity; import com.terra.system.entity.ctrl.TabEntity; se-system/src/main/java/com/terra/system/service/all/PermsService.java
@@ -1,7 +1,9 @@ package com.terra.system.service.all; import com.terra.common.entity.all.RedisCacheKey; import com.terra.common.entity.all.SettingData; import com.terra.common.entity.all.StaticData; import com.terra.common.service.RedisService; import com.terra.system.entity.all.*; import com.terra.system.entity.sys.MenuEntity; import com.terra.system.entity.sys.ResEntity; se-system/src/main/java/com/terra/system/service/all/ScheduleService.java
@@ -1,7 +1,7 @@ package com.terra.system.service.all; import com.alibaba.fastjson.JSONObject; import com.terra.system.entity.all.RedisCacheKey; import com.terra.common.entity.all.RedisCacheKey; import com.terra.system.entity.sys.LoginEntity; import com.terra.system.entity.sys.OperateEntity; import com.terra.system.entity.sys.ResEntity; se-system/src/main/java/com/terra/system/service/all/SysService.java
@@ -1,5 +1,6 @@ package com.terra.system.service.all; import com.terra.common.service.RedisService; import com.terra.system.service.sys.BlacklistService; import com.terra.system.service.sys.TokenService; import javax.annotation.Resource; se-system/src/main/java/com/terra/system/service/data/DirService.java
@@ -1,12 +1,12 @@ package com.terra.system.service.data; import com.terra.system.entity.all.RedisCacheKey; import com.terra.common.entity.all.RedisCacheKey; import com.terra.system.entity.data.DirEntity; import com.terra.system.helper.PathHelper; import com.terra.common.helper.StringHelper; import com.terra.system.helper.Zip4jHelper; import com.terra.system.mapper.data.DirMapper; import com.terra.system.service.all.RedisService; import com.terra.common.service.RedisService; import net.lingala.zip4j.ZipFile; import net.lingala.zip4j.model.ZipParameters; import org.springframework.stereotype.Service; se-system/src/main/java/com/terra/system/service/sys/BlacklistService.java
@@ -1,11 +1,11 @@ package com.terra.system.service.sys; import com.terra.system.entity.all.RedisCacheKey; import com.terra.common.entity.all.RedisCacheKey; import com.terra.common.entity.all.SettingData; import com.terra.system.entity.sys.BlacklistEntity; import com.terra.common.helper.StringHelper; import com.terra.system.mapper.sys.BlacklistMapper; import com.terra.system.service.all.RedisService; import com.terra.common.service.RedisService; import javax.annotation.Resource; import org.springframework.stereotype.Service; se-system/src/main/java/com/terra/system/service/sys/DepService.java
@@ -1,10 +1,10 @@ package com.terra.system.service.sys; import com.terra.system.entity.all.RedisCacheKey; import com.terra.common.entity.all.RedisCacheKey; import com.terra.system.entity.ctrl.IdNameEntity; import com.terra.system.entity.sys.DepEntity; import com.terra.system.mapper.sys.DepMapper; import com.terra.system.service.all.RedisService; import com.terra.common.service.RedisService; import org.springframework.stereotype.Service; import javax.annotation.Resource; se-system/src/main/java/com/terra/system/service/sys/LayerService.java
@@ -1,11 +1,11 @@ package com.terra.system.service.sys; import com.terra.system.entity.all.RedisCacheKey; import com.terra.common.entity.all.RedisCacheKey; import com.terra.common.entity.all.SettingData; import com.terra.system.entity.sys.LayerEntity; import com.terra.common.helper.StringHelper; import com.terra.system.mapper.sys.LayerMapper; import com.terra.system.service.all.RedisService; import com.terra.common.service.RedisService; import org.springframework.stereotype.Service; import javax.annotation.Resource; se-system/src/main/java/com/terra/system/service/sys/ReportService.java
@@ -3,7 +3,7 @@ import com.terra.common.helper.FileHelper; import com.terra.common.helper.StringHelper; import com.terra.common.helper.WebHelper; import com.terra.system.entity.all.RedisCacheKey; import com.terra.common.entity.all.RedisCacheKey; import com.terra.common.entity.all.StaticData; import com.terra.system.entity.ctrl.CoordinateEntity; import com.terra.system.entity.ctrl.CountEntity; @@ -13,7 +13,7 @@ import com.terra.system.entity.sys.UserEntity; import com.terra.system.helper.*; import com.terra.system.mapper.sys.ReportMapper; import com.terra.system.service.all.RedisService; import com.terra.common.service.RedisService; import com.terra.system.service.data.DirService; import com.terra.system.service.data.DownloadService; import org.apache.commons.logging.Log; se-system/src/main/java/com/terra/system/service/sys/TokenService.java
@@ -1,6 +1,6 @@ package com.terra.system.service.sys; import com.terra.system.entity.all.RedisCacheKey; import com.terra.common.entity.all.RedisCacheKey; import com.terra.common.entity.all.SettingData; import com.terra.system.entity.sys.LoginEntity; import com.terra.system.entity.sys.TokenEntity; @@ -9,7 +9,7 @@ import com.terra.common.helper.WebHelper; import com.terra.system.mapper.sys.TokenMapper; import com.terra.system.mapper.sys.UserMapper; import com.terra.system.service.all.RedisService; import com.terra.common.service.RedisService; import org.springframework.stereotype.Service; import javax.annotation.Resource; se-system/src/main/java/com/terra/system/service/sys/UserService.java
@@ -6,7 +6,6 @@ import com.terra.system.helper.RsaHelper; import com.terra.common.helper.StringHelper; import com.terra.system.mapper.sys.UserMapper; import com.terra.system.service.all.RedisService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import javax.annotation.Resource;