Selaa lähdekoodia

所以类添加查询接口

523096025 4 vuotta sitten
vanhempi
commit
fb959d4b1c

+ 5 - 1
huimv-smart-apiservice/pom.xml

@@ -33,7 +33,11 @@
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-openfeign</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+            <version>1.13</version>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>

+ 42 - 9
huimv-smart-apiservice/src/main/java/com/huimv/apiservice/controller/TokenController.java

@@ -2,10 +2,16 @@ package com.huimv.apiservice.controller;
 
 import cn.hutool.json.JSONObject;
 import com.huimv.common.utils.TokenUtil;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+import org.apache.commons.codec.binary.Hex;
 
+import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
 import java.util.Map;
 
 /**
@@ -18,21 +24,48 @@ import java.util.Map;
 @RestController
 public class TokenController {
 
+    @Value("${renyang.client}")
+    private String clientId;
+
     @RequestMapping("/getToken")
-    public JSONObject login(String  userName){
+    public JSONObject getToken(@RequestParam("userId") String userId,
+                               @RequestParam("random") String random,
+                               @RequestParam("timestamp") String timestamp,
+                               @RequestParam("sign") String sign) throws NoSuchAlgorithmException {
 
         JSONObject result = new JSONObject();
-        String token = TokenUtil.sign(userName);
+
+        if (!clientId.equals(userId)) {
+            result.put("state", 201);
+            result.put("msg", "用户信息错误");
+            return result;
+        }
+
+
+        MessageDigest md = MessageDigest.getInstance("MD5");
+        String data = random + ";" + timestamp;
+        String oneSign = Hex.encodeHexString(md.digest(data.getBytes(StandardCharsets.UTF_8)));
+        oneSign = oneSign + "HuiMv";
+        String twoSign = Hex.encodeHexString(md.digest(oneSign.getBytes(StandardCharsets.UTF_8)));
+        System.out.println(twoSign);
+
+
+        if (!sign.equals(twoSign)) {
+            result.put("state", 201);
+            result.put("msg", "加密方式错误");
+            return result;
+        }
+
+        String token = TokenUtil.sign(userId);
         System.out.println(token);
-        result.put("state",200);
-        result.put("token",token);
+        result.put("state", 200);
+        result.put("token", token);
 
-        return  result;
+        return result;
     }
-    @RequestMapping("/findAll")
-    public String findAll(@RequestBody Map<String,Object> map){
-        System.out.println(map);
-       return "尹浩";
 
+    @RequestMapping("/verify")
+    public boolean getToken(String verify) {
+        return TokenUtil.verify(verify);
     }
 }

+ 4 - 4
huimv-smart-apiservice/src/main/resources/application-dev.yml

@@ -1,5 +1,5 @@
 server:
-  port: 9000
+  port: 9001
   tomcat:
     uri-encoding: UTF-8
 #    min-spare-threads: 30
@@ -24,7 +24,7 @@ spring:
     type: com.alibaba.druid.pool.DruidDataSource
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
-      url: jdbc:mysql://localhost:3306/huimv_smart_mgt?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
+      url: jdbc:mysql://192.168.1.54:3306/huimv_smart_mgt?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
       username: root
       password: root
       initial-size: 10
@@ -67,9 +67,9 @@ spring:
   redis:
 #    open: false  # 是否开启redis缓存  true开启   false关闭
     database: 0
-    host: localhost
+    host: 122.112.224.199
     port: 6379
-    password:    # 密码(默认为空)
+    password: hm123456   # 密码(默认为空)
     timeout: 6000ms  # 连接超时时长(毫秒)
     jedis:
       pool:

+ 13 - 16
huimv-smart-gateway/src/main/java/com/huimv/gateway/filter/TokenSignFilter.java

@@ -1,12 +1,15 @@
 package com.huimv.gateway.filter;
 
 
+import com.huimv.common.exception.RRException;
 import com.huimv.common.utils.TokenUtil;
 import com.huimv.gateway.utils.JwtUtils;
 import io.jsonwebtoken.Claims;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
+import org.reactivestreams.Publisher;
+import org.reactivestreams.Subscriber;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cloud.gateway.filter.GatewayFilterChain;
 import org.springframework.cloud.gateway.filter.GlobalFilter;
@@ -45,36 +48,30 @@ public class TokenSignFilter implements GlobalFilter, Ordered {
 
 
         ServerHttpRequest request = exchange.getRequest();
-        ServerHttpResponse response = exchange.getResponse();
+        ServerHttpResponse response =  exchange.getResponse();
 
 
-        if (request.getURI().getPath().contains("/getToken") ||request.getURI().getPath().contains("/management") ) {
+
+        if (request.getURI().getPath().contains("/getToken") ||request.getURI().getPath().contains("/api")) {
             return chain.filter(exchange);
         }
 
 
-        Map<String,String> requestBody = exchange.getAttribute("cachedRequestBodyObject");
-        String token = requestBody.get("token");
-        if (!TokenUtil.verify(token)){
+//        Map<String,String> requestBody = exchange.getAttribute("cachedRequestBodyObject");
+        String token = request.getQueryParams().getFirst("token");
+        if (token == null){
             response.setStatusCode(HttpStatus.UNAUTHORIZED);
             return response.setComplete();
+//            throw new RRException("身份信息有误",HttpStatus.UNAUTHORIZED.value());
         }
-
-        String random = requestBody.get("random");
-        String timestamp = requestBody.get("timestamp");
-        String sign = requestBody.get("sign");
-
-        MessageDigest md = MessageDigest.getInstance("MD5");
-        String data = random +";" +timestamp;
-        String oneSign = Hex.encodeHexString(md.digest(data.getBytes(StandardCharsets.UTF_8)));
-        oneSign =oneSign +"HuiMv";
-        String twoSign = Hex.encodeHexString(md.digest(oneSign.getBytes(StandardCharsets.UTF_8)));
-        if (!sign.equals(twoSign)){
+        if (!TokenUtil.verify(token)){
             response.setStatusCode(HttpStatus.UNAUTHORIZED);
             return response.setComplete();
+//            throw new RRException("身份信息有误",HttpStatus.UNAUTHORIZED.value());
         }
 
 
+
         //登录接口不参与过滤
 //        if (request.getURI().getPath().contains("/login")) {
 //            return chain.filter(exchange);

+ 8 - 6
huimv-smart-gateway/src/main/resources/application.yml

@@ -24,19 +24,21 @@ spring:
             - Path=/api/management/**
           filters:
             - RewritePath=/api/management/(?<segment>/?.*), /management/$\{segment}
-        # renren-fast后台管理系统的路由(低优先级的放在下面)
+
         - id: admin_route
+        # renren-fast后台管理系统的路由(低优先级的放在下面)
           uri: http://127.0.0.1:9500
           predicates:
             - Path=/api/**
           filters:
             - RewritePath=/api/(?<segment>/?.*), /renren-fast/$\{segment}
-        - id: environment_route
-          uri: http://127.0.0.1:9000
+
+        - id: apiservice_route
+          uri: http://127.0.0.1:9001
           predicates:
-            - Path=/token/**
-          filters:
-            - StripPrefix=1
+            - Path=/**
+#          filters:
+#            - RewritePath=/api/apiservice/(?<segment>/?.*), /management/$\{segment}
 #      discovery:
 #        locator:
 #          enabled: true                 # 设置为true 请求路径前可以添加微服务名称  http://localhost:88/gateway-provider/goods/findOne/2 -> http://localhost:88/goods/findOne/2

+ 46 - 46
huimv-smart-management/src/main/java/com/huimv/management/config/RedisConfigure.java

@@ -1,46 +1,46 @@
-//package com.huimv.management.config;
-//
-//import com.fasterxml.jackson.annotation.JsonAutoDetect;
-//import com.fasterxml.jackson.annotation.PropertyAccessor;
-//import com.fasterxml.jackson.databind.ObjectMapper;
-//import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.context.annotation.Configuration;
-//import org.springframework.data.redis.connection.RedisConnectionFactory;
-//import org.springframework.data.redis.core.RedisOperations;
-//import org.springframework.data.redis.core.RedisTemplate;
-//import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
-//import org.springframework.data.redis.serializer.StringRedisSerializer;
-//
-///**
-// * @author yinhao
-// */
-//@Configuration
-//public class RedisConfigure {
-//
-//    @Bean
-//    @ConditionalOnClass(RedisOperations.class)
-//    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
-//        RedisTemplate<String, Object> template = new RedisTemplate<>();
-//        template.setConnectionFactory(factory);
-//
-//        Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
-//        ObjectMapper mapper = new ObjectMapper();
-//        mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
-//        mapper.activateDefaultTyping(mapper.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.NON_FINAL);
-//        jackson2JsonRedisSerializer.setObjectMapper(mapper);
-//
-//        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
-//        // key采用 String的序列化方式
-//        template.setKeySerializer(stringRedisSerializer);
-//        // hash的 key也采用 String的序列化方式
-//        template.setHashKeySerializer(stringRedisSerializer);
-//        // value序列化方式采用 jackson
-//        template.setValueSerializer(jackson2JsonRedisSerializer);
-//        // hash的 value序列化方式采用 jackson
-//        template.setHashValueSerializer(jackson2JsonRedisSerializer);
-//        template.afterPropertiesSet();
-//
-//        return template;
-//    }
-//}
+package com.huimv.management.config;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisOperations;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+/**
+ * @author yinhao
+ */
+@Configuration
+public class RedisConfigure {
+
+    @Bean
+    @ConditionalOnClass(RedisOperations.class)
+    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
+        RedisTemplate<String, Object> template = new RedisTemplate<>();
+        template.setConnectionFactory(factory);
+
+        Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
+        mapper.activateDefaultTyping(mapper.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.NON_FINAL);
+        jackson2JsonRedisSerializer.setObjectMapper(mapper);
+
+        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
+        // key采用 String的序列化方式
+        template.setKeySerializer(stringRedisSerializer);
+        // hash的 key也采用 String的序列化方式
+        template.setHashKeySerializer(stringRedisSerializer);
+        // value序列化方式采用 jackson
+        template.setValueSerializer(jackson2JsonRedisSerializer);
+        // hash的 value序列化方式采用 jackson
+        template.setHashValueSerializer(jackson2JsonRedisSerializer);
+        template.afterPropertiesSet();
+
+        return template;
+    }
+}

+ 1 - 1
huimv-smart-management/src/main/java/com/huimv/management/controller/PigstyController.java

@@ -64,7 +64,7 @@ public class PigstyController {
         return R.ok();
     }
 
-    /**
+    /**j
      * 修改
      */
     @RequestMapping("/update")

+ 1 - 1
huimv-smart-management/src/main/resources/application-dev.yml

@@ -25,7 +25,7 @@ spring:
     type: com.alibaba.druid.pool.DruidDataSource
     druid:
       driver-class-name: com.mysql.cj.jdbc.Driver
-      url: jdbc:mysql://localhost:3306/huimv_smart_mgt?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
+      url: jdbc:mysql://192.168.1.54:3306/huimv_smart_mgt?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
       username: root
       password: root
       # 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时

+ 1 - 1
renren-fast/src/main/resources/application-dev.yml

@@ -3,7 +3,7 @@ spring:
         type: com.alibaba.druid.pool.DruidDataSource
         druid:
             driver-class-name: com.mysql.cj.jdbc.Driver
-            url: jdbc:mysql://localhost:3306/huimv_smart_admin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
+            url: jdbc:mysql://192.168.1.54:3306/huimv_smart_admin?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
             username: root
             password: root
             initial-size: 10

+ 1 - 1
renren-fast/src/main/resources/application-prod.yml

@@ -3,7 +3,7 @@ spring:
         type: com.alibaba.druid.pool.DruidDataSource
         druid:
             driver-class-name: com.mysql.cj.jdbc.Driver
-            url: jdbc:mysql://localhost:3306/renren_fast?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
+            url: jdbc:mysql://192.168.1.54:3306/renren_fast?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
             username: renren
             password: 123456
             initial-size: 10

+ 1 - 1
renren-fast/src/main/resources/application-test.yml

@@ -3,7 +3,7 @@ spring:
         type: com.alibaba.druid.pool.DruidDataSource
         druid:
             driver-class-name: com.mysql.cj.jdbc.Driver
-            url: jdbc:mysql://localhost:3306/renren_fast?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
+            url: jdbc:mysql://192.168.1.54:3306/renren_fast?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
             username: renren
             password: 123456
             initial-size: 10