eureka/pom.xml
@@ -9,8 +9,8 @@ <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.sinata</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <artifactId>eureka</artifactId> <version>1.0.0</version> <name>eureka</name> <description>Eureka project for Spring Boot</description> eureka/src/main/resources/application.yml
@@ -13,7 +13,7 @@ eureka: instance: hostname: 127.0.0.1 #注册中心地址 hostname: 192.168.110.106 #注册中心地址 client: service-url: #客户端调用地址 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ user/guns-admin/pom.xml
@@ -61,6 +61,10 @@ <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> @@ -110,11 +114,6 @@ <artifactId>ehcache</artifactId> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> user/guns-admin/src/main/java/com/supersavedriving/user/config/RedisConfig.java
File was deleted user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/AppUserServiceImpl.java
@@ -143,8 +143,8 @@ if (passwordTrueFlag) { String token = JwtTokenUtil.generateToken(phone); String key = token; if(token.length() > 16){ key = token.substring(token.length() - 16); if(token.length() > 32){ key = token.substring(token.length() - 32); } redisUtil.setStrValue(key, appUser.getId().toString(), 94608000); redisUtil.setStrValue("USER_" + appUser.getPhone(), key, 94608000); @@ -517,16 +517,38 @@ ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = servletRequestAttributes.getRequest(); String requestHeader = request.getHeader(JwtConstants.AUTH_HEADER); String custom = request.getHeader("custom-header"); if (ToolUtil.isNotEmpty(requestHeader) && requestHeader.startsWith("Bearer ")) { requestHeader = requestHeader.substring(requestHeader.indexOf(" ") + 1); String key = null; int length = requestHeader.length(); if(length > 16){ key = requestHeader.substring(length - 16); if(length > 32){ key = requestHeader.substring(length - 32); }else{ key = requestHeader; } String value = redisUtil.getValue(key); //从打车系统直接带过来的token if(ToolUtil.isNotEmpty(custom) && "1".equals(custom)){ AppUser appUser = this.selectOne(new EntityWrapper<AppUser>().eq("taxiUserId", value)); if(null != appUser){ value = appUser.getId().toString(); }else{ String userPhone = AppUserUtil.getUserPhone(Integer.valueOf(value)); //创建新的用户 appUser = new AppUser(); appUser.setNickname("亲爱的用户"); appUser.setAvatar("https://csxdj.obs.cn-south-1.myhuaweicloud.com:443/9af2cadb5d0d42d5b9da37f0c6789a66.png"); appUser.setPhone(userPhone); appUser.setAccountBalance(0D); appUser.setStatus(1); appUser.setCreateTime(new Date()); appUser.setIsException(1); appUser.setTaxiUserId(Integer.valueOf(value)); this.insert(appUser); } } return null != value ? Integer.valueOf(value) : null; }else{ return null; user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/util/AppUserUtil.java
@@ -13,7 +13,7 @@ @Slf4j public class AppUserUtil { private static String url = "http://127.0.0.1:8080/user-server"; private static String url = "http://221.182.45.100:5000/user-server"; /** @@ -72,4 +72,22 @@ } return execute.body(); } /** * 通过 * @param id * @return * @throws Exception */ public static String getUserPhone(Integer id) throws Exception{ HttpRequest post = HttpUtil.createGet(url + "/base/user/getUserPhone/" + id); HttpResponse execute = post.execute(); if(200 != execute.getStatus()){ log.error("打车系统-查询用户失败:{}", execute.body()); return null; } return execute.body(); } } user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/util/RedisUtil.java
@@ -2,14 +2,17 @@ import com.supersavedriving.user.core.util.ToolUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.Pipeline; import javax.annotation.Resource; import java.io.IOException; import java.util.*; import java.util.concurrent.TimeUnit; /** @@ -18,10 +21,9 @@ @Component public class RedisUtil { @Autowired private JedisPool jedisPool; @Resource private RedisTemplate<String, Object> redisTemplate; private Timer timer; /** @@ -30,11 +32,7 @@ * @param value */ public void setStrValue(String key, String value){ if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(value)){ Jedis resource = jedisPool.getResource(); String set = resource.set(key, value); closeJedis(resource); } redisTemplate.opsForValue().set(key, value); } @@ -45,11 +43,7 @@ * @param time 秒 */ public void setStrValue(String key, String value, int time){ if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(value)){ Jedis resource = jedisPool.getResource(); String setex = resource.setex(key, time, value); closeJedis(resource); } redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS); } @@ -59,47 +53,9 @@ * @return */ public String getValue(String key){ if(ToolUtil.isNotEmpty(key)){ Jedis resource = jedisPool.getResource(); String data = resource.get(key); closeJedis(resource); return data; } return null; return (String) redisTemplate.opsForValue().get(key); } /** * 批量获取 * @param kes * @return */ public List<Object> getValues(List<String> kes){ if(null != kes){ Jedis resource = jedisPool.getResource(); Pipeline pipelined = resource.pipelined(); for(String key : kes){ pipelined.get(key); } List<Object> list = pipelined.syncAndReturnAll(); closeJedis(resource); pipelined.clear(); try { pipelined.close(); } catch (IOException e) { e.printStackTrace(); } List<Object> data = new ArrayList<>(); for(Object o : list){ if(null != o){ data.add(o); } } return data; } return null; } /** @@ -107,42 +63,10 @@ * @param key */ public void remove(String key){ if(ToolUtil.isNotEmpty(key)){ Jedis resource = jedisPool.getResource(); Long del = resource.del(key); closeJedis(resource); } redisTemplate.delete(key); } /** * 向集合key添加数据 * @param key * @param members */ public void addSetValue(String key, String...members){ if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(members)){ Jedis resource = jedisPool.getResource(); Long sadd = resource.sadd(key, members); resource.close(); } } /** * 返回Set集合数据 * @param key * @return */ public Set<String> getSetAllValue(String key){ Set<String> smembers = new HashSet<>(); if(ToolUtil.isNotEmpty(key)){ Jedis resource = jedisPool.getResource(); smembers = resource.smembers(key); resource.close(); } return smembers; } /** @@ -151,23 +75,9 @@ * @param members */ public void delSetValue(String key, String...members){ if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(members)){ Jedis resource = jedisPool.getResource(); Long sadd = resource.srem(key, members); resource.close(); } redisTemplate.opsForSet().remove(key, members); } /** * 删除资源 * @param jedis */ public void closeJedis(Jedis jedis){ if(null != jedis){ jedis.close(); } } /** @@ -178,27 +88,8 @@ * @return */ public boolean lock(String key, String value, int time){ if(!StringUtils.isEmpty(key)){ key += "_lock"; Jedis resource = jedisPool.getResource(); String set = resource.set(key, value, "nx", "ex", time); if("OK".equals(set)){ String finalKey = key; timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { System.err.println("定时任务启动"); Jedis resource = jedisPool.getResource(); resource.setex(finalKey, time, value); resource.close(); } }, 1000, 500); } resource.close(); return "OK".equals(set) ? true : false; } return false; key += "_lock"; return redisTemplate.opsForValue().setIfAbsent(key, value); } /** @@ -251,15 +142,7 @@ * @return */ public boolean unlock(String key){ if(!StringUtils.isEmpty(key)){ key += "_lock"; Jedis resource = jedisPool.getResource(); timer.cancel();//取消定时任务 Long del = resource.del(key); resource.close(); return del != 0 ? true : false; } return false; return redisTemplate.delete(key); } /** user/guns-admin/src/main/resources/application.yml
@@ -28,6 +28,10 @@ multipart: max-request-size: 100MB max-file-size: 100MB redis: host: 192.168.110.80 port: 6379 password: 123456 mybatis-plus: typeAliasesPackage: com.supersavedriving.user.modular @@ -44,7 +48,7 @@ eureka: client: service-url: #注册中心地址 defaultZone: http://sinata:sinata@127.0.0.1:8000/eureka #启用身份验证的方式连接 defaultZone: http://sinata:sinata@192.168.110.106:8000/eureka #启用身份验证的方式连接 register-with-eureka: true #在注册中心进行注册 fetch-registry: true #从Eureka中获取注册信息。 @@ -53,29 +57,12 @@ spring: datasource: url: jdbc:mysql://121.31.232.206:3306/ok_driving?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai url: jdbc:mysql://192.168.110.80:3306/qyt_driving?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai username: root password: Xiwang2024! password: 123456 db-name: guns #用来搜集数据库的所有表 filters: wall,mergeStat # datasource: # url: jdbc:mysql://192.168.110.64:3306/ok_driving?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai # username: root # password: root # db-name: guns #用来搜集数据库的所有表 # filters: wall,mergeStat #多数据源情况的配置 guns: muti-datasource: open: false url: jdbc:mysql://127.0.0.1:3306/guns_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai username: root password: root dataSourceNames: - dataSourceGuns - dataSourceBiz user/guns-admin/src/main/resources/redis.properties
File was deleted zuul/pom.xml
@@ -30,6 +30,11 @@ <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!--引入swagger--> <dependency> @@ -37,25 +42,6 @@ <artifactId>swagger-spring-boot-starter</artifactId> <version>1.7.0.RELEASE</version> </dependency> <!-- jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!-- netty --> <dependency> zuul/src/main/java/com/sinata/zuul/config/RedisConfig.java
File was deleted zuul/src/main/java/com/sinata/zuul/controller/RedisController.java
File was deleted zuul/src/main/java/com/sinata/zuul/util/RedisUtil.java
@@ -1,14 +1,10 @@ package com.sinata.zuul.util; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.Pipeline; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import java.util.concurrent.TimeUnit; /** @@ -17,8 +13,8 @@ @Component public class RedisUtil { @Autowired private JedisPool jedisPool; @Resource private RedisTemplate<String, Object> redisTemplate; /** @@ -27,11 +23,7 @@ * @param value */ public void setStrValue(String key, String value){ if(StringUtil.isNotEmpty(key)){ Jedis resource = jedisPool.getResource(); String set = resource.set(key, value); closeJedis(resource); } redisTemplate.opsForValue().set(key, value); } @@ -42,11 +34,7 @@ * @param time 秒 */ public void setStrValue(String key, String value, int time){ if(StringUtil.isNotEmpty(key)){ Jedis resource = jedisPool.getResource(); String setex = resource.setex(key, time, value); closeJedis(resource); } redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS); } @@ -56,47 +44,11 @@ * @return */ public String getValue(String key){ if(StringUtil.isNotEmpty(key)){ Jedis resource = jedisPool.getResource(); String data = resource.get(key); closeJedis(resource); return data; } return null; return (String) redisTemplate.opsForValue().get(key); } /** * 批量获取 * @param kes * @return */ public List<Object> getValues(List<String> kes){ if(null != kes){ Jedis resource = jedisPool.getResource(); Pipeline pipelined = resource.pipelined(); for(String key : kes){ pipelined.get(key); } List<Object> list = pipelined.syncAndReturnAll(); closeJedis(resource); pipelined.clear(); try { pipelined.close(); } catch (IOException e) { e.printStackTrace(); } List<Object> data = new ArrayList<>(); for(Object o : list){ if(null != o){ data.add(o); } } return data; } return null; } /** @@ -104,21 +56,8 @@ * @param key */ public void remove(String key){ if(StringUtil.isNotEmpty(key)){ Jedis resource = jedisPool.getResource(); Long del = resource.del(key); closeJedis(resource); } redisTemplate.delete(key); } /** * 删除资源 * @param jedis */ public void closeJedis(Jedis jedis){ if(null != jedis){ jedis.close(); } } } zuul/src/main/java/com/sinata/zuul/util/applets/WebSocketHandler.java
@@ -23,7 +23,7 @@ //用于websocket握手的处理类 private WebSocketServerHandshaker handshaker; private static final String WEB_SOCKET_URL = "wss://localhost:9090/websocket"; private static final String WEB_SOCKET_URL = "ws://localhost:7878/websocket"; zuul/src/main/resources/application.yml
@@ -8,6 +8,10 @@ multipart: max-request-size: 500MB max-file-size: 500MB redis: host: 192.168.110.80 port: 6379 password: 123456 eureka: client: zuul/src/main/resources/redis.properties
File was deleted