Commit b971c4366b403aa4e3a970f6f7d60ec5b0c177ef

Authored by 陶汉栋
1 parent 1a68a9be
Exists in master

smartcampussearcg增加获取教师和学生个人信息的接口

Showing 28 changed files with 887 additions and 110 deletions   Show diff stats
cloud/RibbonConsume/src/main/resources/bootstrap.yml
@@ -12,8 +12,9 @@ spring: @@ -12,8 +12,9 @@ spring:
12 eureka: 12 eureka:
13 client: 13 client:
14 serviceUrl: 14 serviceUrl:
  15 + defaultZone: http://
15 # defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ 16 # defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
16 - defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/ 17 +# defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/
17 #http://134.224.249.33:1111/eureka/ 正式库 18 #http://134.224.249.33:1111/eureka/ 正式库
18 #http://134.224.249.33:1111/eureka/ 测试库 19 #http://134.224.249.33:1111/eureka/ 测试库
19 #http://127.0.0.1:8761/eureka,http://127.0.0.1:8762/eureka 20 #http://127.0.0.1:8761/eureka,http://127.0.0.1:8762/eureka
cloud/dahua/pom.xml
@@ -118,11 +118,11 @@ @@ -118,11 +118,11 @@
118 <artifactId>mybatis-spring-boot-starter</artifactId> 118 <artifactId>mybatis-spring-boot-starter</artifactId>
119 <version>2.0.1</version> 119 <version>2.0.1</version>
120 </dependency> 120 </dependency>
121 - <dependency>  
122 - <groupId>com.sincere</groupId>  
123 - <artifactId>common</artifactId>  
124 - <version>1.0.0</version>  
125 - </dependency> 121 +<!-- <dependency>-->
  122 +<!-- <groupId>com.sincere</groupId>-->
  123 +<!-- <artifactId>common</artifactId>-->
  124 +<!-- <version>1.0.0</version>-->
  125 +<!-- </dependency>-->
126 126
127 <!--<dependency>--> 127 <!--<dependency>-->
128 <!--<groupId>com.drewnoakes</groupId>--> 128 <!--<groupId>com.drewnoakes</groupId>-->
cloud/dahua/src/main/java/com/example/dahua/control/FileControl.java
@@ -83,6 +83,14 @@ public class FileControl { @@ -83,6 +83,14 @@ public class FileControl {
83 } 83 }
84 84
85 85
  86 + @RequestMapping(value = "imgsSend", method = RequestMethod.GET)
  87 + @ApiOperation(value = "照片下放")
  88 + public boolean imgsSend(@RequestParam("schoolId") String schoolId, @RequestParam("type") int type) {
  89 + userService.sendUserInfos(schoolId, "22", type);
  90 + return true;
  91 + }
  92 +
  93 +
86 94
87 95
88 } 96 }
cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java
@@ -6,7 +6,6 @@ import com.example.dahua.async.SendUserInfoTask; @@ -6,7 +6,6 @@ import com.example.dahua.async.SendUserInfoTask;
6 import com.example.dahua.lib.CompressPic; 6 import com.example.dahua.lib.CompressPic;
7 import com.example.dahua.service.UserService; 7 import com.example.dahua.service.UserService;
8 import com.example.dahua.utils.*; 8 import com.example.dahua.utils.*;
9 -import com.sincere.common.util.AuthService;  
10 import io.swagger.annotations.Api; 9 import io.swagger.annotations.Api;
11 import io.swagger.annotations.ApiImplicitParam; 10 import io.swagger.annotations.ApiImplicitParam;
12 import io.swagger.annotations.ApiImplicitParams; 11 import io.swagger.annotations.ApiImplicitParams;
@@ -370,6 +369,33 @@ public class UserControl { @@ -370,6 +369,33 @@ public class UserControl {
370 // } 369 // }
371 370
372 371
  372 + @RequestMapping(value = "FaceSearch", method = RequestMethod.POST)
  373 + @ApiOperation("人脸搜索")
  374 + public String FaceSearch(@RequestPart("file")MultipartFile file) {
  375 +
  376 + // 请求url
  377 + String url = "https://aip.baidubce.com/rest/2.0/face/v3/search";
  378 + try {
  379 + Map<String, Object> map = new HashMap<>();
  380 + map.put("image", Base64Util.encode(file.getBytes()));
  381 + map.put("liveness_control", "NORMAL");
  382 + map.put("group_id_list", "One");
  383 + map.put("image_type", "BASE64");
  384 + map.put("quality_control", "NORMAL");
  385 + String param = GsonUtils.toJson(map);
  386 + // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
  387 + String accessToken = getAuth();
  388 + String result = HttpUtil.post(url, accessToken, "application/json", param);
  389 + System.out.println(result);
  390 + return result;
  391 + } catch (Exception e) {
  392 + e.printStackTrace();
  393 + }
  394 + return null;
  395 +
  396 + }
  397 +
  398 +
373 @RequestMapping(value = "movePic", method = RequestMethod.GET) 399 @RequestMapping(value = "movePic", method = RequestMethod.GET)
374 @ApiOperation("转移下发失败的图片到批量图片库") 400 @ApiOperation("转移下发失败的图片到批量图片库")
375 public void movePic(@RequestParam("schoolId") int schoolId, @RequestParam("userType") int usertype, @RequestParam("deviceId") String deviceId) { 401 public void movePic(@RequestParam("schoolId") int schoolId, @RequestParam("userType") int usertype, @RequestParam("deviceId") String deviceId) {
@@ -449,7 +475,8 @@ public class UserControl { @@ -449,7 +475,8 @@ public class UserControl {
449 475
450 476
451 477
452 - private String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token="+ AuthService.getAuth(); 478 + private String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token="+AuthService.getAuth();
  479 +// + AuthService.getAuth();
453 480
454 private String getAnswer(String imgUrl, int type) { 481 private String getAnswer(String imgUrl, int type) {
455 RestTemplate restTemplate = new RestTemplate(); 482 RestTemplate restTemplate = new RestTemplate();
cloud/dahua/src/main/java/com/example/dahua/utils/AuthService.java 0 → 100644
@@ -0,0 +1,93 @@ @@ -0,0 +1,93 @@
  1 +package com.example.dahua.utils;
  2 +
  3 +import org.json.JSONObject;
  4 +
  5 +import java.io.BufferedReader;
  6 +import java.io.InputStreamReader;
  7 +import java.net.HttpURLConnection;
  8 +import java.net.URL;
  9 +
  10 +/**
  11 + * 获取token类
  12 + */
  13 +public class AuthService {
  14 + //设置APPID/AK/SK
  15 + public static final String APP_ID = "15990462";
  16 + public static final String API_KEY = "t70Rzr6SGmfU9S6MrqAkspsY";
  17 + public static final String SECRET_KEY = "nSqpqtrf7cCjo8vOB9knL85nwWNoxwvS ";
  18 + /**
  19 + * 获取权限token
  20 + * @return 返回示例:
  21 + * {
  22 + * "access_token": "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567",
  23 + * "expires_in": 2592000
  24 + * }
  25 + */
  26 + //获取文字识别id
  27 + public static String getAuth() {
  28 + // 官网获取的 API Key 更新为你注册的
  29 + String clientId = "t70Rzr6SGmfU9S6MrqAkspsY";
  30 + // 官网获取的 Secret Key 更新为你注册的
  31 + String clientSecret = "nSqpqtrf7cCjo8vOB9knL85nwWNoxwvS";
  32 + return getAuth(clientId, clientSecret);
  33 + }
  34 +
  35 + public static String getFaceAuthToken() {
  36 + // 官网获取的 API Key 更新为你注册的
  37 + String clientId = "u6rV4YxRZmwzKj56N0DCW8eO";
  38 + // 官网获取的 Secret Key 更新为你注册的
  39 + String clientSecret = "Krp3KhmIBdnNEsRa1LavMHuZl0KhQGVm";
  40 + return getAuth(clientId, clientSecret);
  41 + }
  42 +
  43 + /**
  44 + * 获取API访问token
  45 + * 该token有一定的有效期,需要自行管理,当失效时需重新获取.
  46 + * @param ak - 百度云官网获取的 API Key
  47 + * @param sk - 百度云官网获取的 Securet Key
  48 + * @return assess_token 示例:
  49 + * "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567"
  50 + */
  51 + public static String getAuth(String ak, String sk) {
  52 + // 获取token地址
  53 + String authHost = "https://aip.baidubce.com/oauth/2.0/token?";
  54 + String getAccessTokenUrl = authHost
  55 + // 1. grant_type为固定参数
  56 + + "grant_type=client_credentials"
  57 + // 2. 官网获取的 API Key
  58 + + "&client_id=" + ak
  59 + // 3. 官网获取的 Secret Key
  60 + + "&client_secret=" + sk;
  61 + try {
  62 + URL realUrl = new URL(getAccessTokenUrl);
  63 + // 打开和URL之间的连接
  64 + HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();
  65 + connection.setRequestMethod("GET");
  66 + connection.connect();
  67 + // 获取所有响应头字段
  68 +// Map<String, List<String>> map = connection.getHeaderFields();
  69 +// // 遍历所有的响应头字段
  70 +// for (String key : map.keySet()) {
  71 +// System.err.println(key + "--->" + map.get(key));
  72 +// }
  73 + // 定义 BufferedReader输入流来读取URL的响应
  74 + BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
  75 + String result = "";
  76 + String line;
  77 + while ((line = in.readLine()) != null) {
  78 + result += line;
  79 + }
  80 + /**
  81 + * 返回结果示例
  82 + */
  83 +// System.err.println("result:" + result);
  84 + JSONObject jsonObject = new JSONObject(result);
  85 + String access_token = jsonObject.getString("access_token");
  86 + return access_token;
  87 + } catch (Exception e) {
  88 + System.err.printf("获取token失败!");
  89 + e.printStackTrace(System.err);
  90 + }
  91 + return null;
  92 + }
  93 +}
cloud/dahua/src/main/java/com/example/dahua/utils/HttpUtils.java
@@ -7,9 +7,12 @@ import org.springframework.http.MediaType; @@ -7,9 +7,12 @@ import org.springframework.http.MediaType;
7 import org.springframework.http.ResponseEntity; 7 import org.springframework.http.ResponseEntity;
8 import org.springframework.util.LinkedMultiValueMap; 8 import org.springframework.util.LinkedMultiValueMap;
9 import org.springframework.util.MultiValueMap; 9 import org.springframework.util.MultiValueMap;
  10 +import org.springframework.web.bind.annotation.RequestParam;
10 import org.springframework.web.client.RestTemplate; 11 import org.springframework.web.client.RestTemplate;
11 12
12 import java.io.File; 13 import java.io.File;
  14 +import java.util.HashMap;
  15 +import java.util.Map;
13 16
14 public class HttpUtils { 17 public class HttpUtils {
15 18
@@ -49,4 +52,13 @@ public class HttpUtils { @@ -49,4 +52,13 @@ public class HttpUtils {
49 } 52 }
50 53
51 54
  55 + public static boolean imgsSend(String schoolId, int type){
  56 + String url = "http://121.40.109.21:8991/file/imgsSend?schoolId="+schoolId+"&type="+type;
  57 + RestTemplate restTemplate = new RestTemplate();
  58 + ResponseEntity<Boolean> result = restTemplate.getForEntity(url,Boolean.class);
  59 + System.out.println("result:"+result.getBody());
  60 + return result.getBody();
  61 + }
  62 +
  63 +
52 } 64 }
cloud/dahua/src/main/resources/application.yaml
@@ -1,62 +0,0 @@ @@ -1,62 +0,0 @@
1 -server:  
2 - port: 8991  
3 -#spring:  
4 -# datasource:  
5 -# username: szjxtuser  
6 -# password: RQminVCJota3H1u8bBYH  
7 -# url: jdbc:sqlserver://116.62.155.137:33419;database=SmartCampus  
8 -# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver  
9 -# application:  
10 -# name: dahuaserver  
11 -  
12 -spring:  
13 - datasource:  
14 - campus:  
15 - username: szjxtuser  
16 - password: RQminVCJota3H1u8bBYH  
17 - jdbc-url: jdbc:sqlserver://116.62.155.137:33419;database=SmartCampus  
18 - driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver  
19 -# username: SZJXTUSER  
20 -# password: xst200919  
21 -# jdbc-url: jdbc:sqlserver://60.190.202.57:14333;database=SmartCampusSZ  
22 -# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver  
23 - xiaoan:  
24 - jdbc-url: jdbc:sqlserver://116.62.241.27:33419;database=xiaoanhxy  
25 - username: szjxtuser  
26 - password: RQminVCJota3H1u8bBYH  
27 - driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver  
28 -# jdbc-url: jdbc:sqlserver://60.190.202.57:14333;database=xiaoanhxy  
29 -# username: SZJXTUSER  
30 -# password: xst200919  
31 -# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver  
32 - application:  
33 - name: dahuaserver  
34 -  
35 -  
36 -eureka:  
37 - instance:  
38 - hostname: localhost  
39 - lease-expiration-duration-in-seconds: 60  
40 - lease-renewal-interval-in-seconds: 10  
41 - prefer-ip-address: true  
42 - client:  
43 - service-url:  
44 -# defaultZone: http://localhost:8761/eureka/  
45 - defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/  
46 -  
47 -mybatis:  
48 - campus:  
49 - type-aliases-package: com.example.dahua.dao  
50 - mapper-locations: classpath:mapper/*.xml  
51 - xiaoan:  
52 - type-aliases-package: com.example.dahua.xiananDao  
53 - mapper-locations: classpath:xiaoanmapper/*.xml  
54 - config-location: classpath:mybatis-config.xml  
55 -  
56 -  
57 -#haikangpic: E:\wwwhtdocs\HFface\FaceLogs\  
58 -  
59 -#haikangfaceurl: http://60.190.202.57:8899  
60 -  
61 -  
62 -  
cloud/dahua/src/main/resources/application.yml 0 → 100644
@@ -0,0 +1,48 @@ @@ -0,0 +1,48 @@
  1 +#spring:
  2 +# datasource:
  3 +# username: szjxtuser
  4 +# password: RQminVCJota3H1u8bBYH
  5 +# url: jdbc:sqlserver://116.62.155.137:33419;database=SmartCampus
  6 +# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  7 +# application:
  8 +# name: dahuaserver
  9 +
  10 +spring:
  11 + datasource:
  12 + campus:
  13 + username: szjxtuser
  14 + password: RQminVCJota3H1u8bBYH
  15 + jdbc-url: jdbc:sqlserver://116.62.155.137:33419;database=SmartCampus
  16 + driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  17 +# username: SZJXTUSER
  18 +# password: xst200919
  19 +# jdbc-url: jdbc:sqlserver://60.190.202.57:14333;database=SmartCampusSZ
  20 +# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  21 + xiaoan:
  22 + jdbc-url: jdbc:sqlserver://116.62.241.27:33419;database=xiaoanhxy
  23 + username: szjxtuser
  24 + password: RQminVCJota3H1u8bBYH
  25 + driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  26 +# jdbc-url: jdbc:sqlserver://60.190.202.57:14333;database=xiaoanhxy
  27 +# username: SZJXTUSER
  28 +# password: xst200919
  29 +# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  30 +
  31 +
  32 +
  33 +mybatis:
  34 + campus:
  35 + type-aliases-package: com.example.dahua.dao
  36 + mapper-locations: classpath:mapper/*.xml
  37 + xiaoan:
  38 + type-aliases-package: com.example.dahua.xiananDao
  39 + mapper-locations: classpath:xiaoanmapper/*.xml
  40 + config-location: classpath:mybatis-config.xml
  41 +
  42 +
  43 +#haikangpic: E:\wwwhtdocs\HFface\FaceLogs\
  44 +
  45 +#haikangfaceurl: http://60.190.202.57:8899
  46 +
  47 +
  48 +
cloud/dahua/src/main/resources/bootstrap.yml 0 → 100644
@@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
  1 +#端口
  2 +server:
  3 + port: 8991 #固定端口
  4 +# port: ${randomServerPort.value[5000,5005]} #随机端口
  5 +
  6 +#服务名称
  7 +spring:
  8 + application:
  9 + name: dahua
  10 +
  11 +#management:
  12 +# endpoints:
  13 +# web:
  14 +# exposure:
  15 +# include: "*"
  16 +# endpoint:
  17 +# health:
  18 +# show-details: always
  19 +
  20 +#eureka client配置
  21 +eureka:
  22 + client:
  23 + serviceUrl:
  24 +# defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
  25 + defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/
  26 + #http://134.224.249.33:1111/eureka/ 正式库
  27 + #http://134.224.249.33:1111/eureka/ 测试库
  28 + #http://127.0.0.1:8761/eureka,http://127.0.0.1:8762/eureka
  29 + registry-fetch-interval-seconds: 5
  30 + instance-info-replication-interval-seconds: 10
  31 + instance:
  32 +# prefer-ip-address: false
  33 + instance-id: ${spring.application.name}
  34 +# instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${server.port}} #固定端口
  35 +# instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${randomServerPort.value[5000,5005]}} #随机端口
  36 + lease-renewal-interval-in-seconds: 10 #每隔几秒告诉eureka服务器我还存活,用于心跳检测
  37 + lease-expiration-duration-in-seconds: 10 #如果心跳检测一直没有发送,10秒后会从eureka服务器中将此服务剔除
  38 +# status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/doc.html # ${server.port}为该服务的端口号
  39 + hostname: 114.55.30.100
  40 +# status-page-url: http://${spring.cloud.client.ip-address}:${randomServerPort.value[5000,5005]}/document.html # ${server.port}为该服务的端口号
0 \ No newline at end of file 41 \ No newline at end of file
cloud/fIle-center/src/main/java/com/sincere/file/control/FileControl.java
@@ -43,17 +43,32 @@ public class FileControl { @@ -43,17 +43,32 @@ public class FileControl {
43 FileService fileService; 43 FileService fileService;
44 44
45 @PostMapping("fileUpload") 45 @PostMapping("fileUpload")
46 - @ApiOperation("上传文件") 46 + @ApiOperation("上传文件(重复文件会新增1)")
47 public String fileUpload(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws Exception { 47 public String fileUpload(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws Exception {
48 48
49 String ossPath = request.getHeader("ossPath");//oss的二级目录 49 String ossPath = request.getHeader("ossPath");//oss的二级目录
50 50
  51 +
  52 + FileInfo fileInfo = fileService.upload(file, ossPath);
  53 +
  54 + return fileInfo.getUrl();
  55 +
  56 + }
  57 +
  58 +
  59 + @PostMapping("fileUpload1")
  60 + @ApiOperation("上传文件")
  61 + public String fileUpload1(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws Exception {
  62 +
  63 + String ossPath = request.getHeader("ossPath");//oss的二级目录
  64 +
51 FileInfo fileInfo = fileService.upload(file, ossPath); 65 FileInfo fileInfo = fileService.upload(file, ossPath);
52 66
53 return fileInfo.getUrl(); 67 return fileInfo.getUrl();
54 68
55 } 69 }
56 70
  71 +
57 @DeleteMapping("deleteFile/{fileName}") 72 @DeleteMapping("deleteFile/{fileName}")
58 @ApiOperation("删除文件") 73 @ApiOperation("删除文件")
59 public boolean deleteFile(@PathVariable String fileName, HttpServletRequest request) { 74 public boolean deleteFile(@PathVariable String fileName, HttpServletRequest request) {
cloud/fIle-center/src/main/java/com/sincere/file/service/impl/AliyunOssServiceImpl.java
@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service; @@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
9 import org.springframework.web.multipart.MultipartFile; 9 import org.springframework.web.multipart.MultipartFile;
10 10
11 import java.io.File; 11 import java.io.File;
  12 +import java.util.UUID;
12 13
13 /** 14 /**
14 * @author 作者 owen E-mail: 624191343@qq.com 15 * @author 作者 owen E-mail: 624191343@qq.com
@@ -41,8 +42,9 @@ public class AliyunOssServiceImpl extends AbstractFileService { @@ -41,8 +42,9 @@ public class AliyunOssServiceImpl extends AbstractFileService {
41 42
42 @Override 43 @Override
43 protected void uploadFile(MultipartFile file, FileInfo fileInfo,String filePath) throws Exception { 44 protected void uploadFile(MultipartFile file, FileInfo fileInfo,String filePath) throws Exception {
44 - ossClient.putObject(bucketName, filePath+"/"+fileInfo.getName(), file.getInputStream());  
45 - fileInfo.setUrl(domain+"/" +filePath+ "/" + fileInfo.getName()); 45 + String fileName = UUID.randomUUID().toString()+"."+fileInfo.getName().split("\\.")[1];
  46 + ossClient.putObject(bucketName, filePath+"/"+fileName, file.getInputStream());
  47 + fileInfo.setUrl(domain+"/" +filePath+ "/" + fileName);
46 } 48 }
47 49
48 @Override 50 @Override
cloud/getaway/src/main/java/com/sincere/getaway/client/filter/AccessFilter.java
@@ -46,6 +46,7 @@ public class AccessFilter implements GlobalFilter, Ordered { @@ -46,6 +46,7 @@ public class AccessFilter implements GlobalFilter, Ordered {
46 @Override 46 @Override
47 public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { 47 public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
48 String accessToken = this.extractToken(exchange.getRequest()); 48 String accessToken = this.extractToken(exchange.getRequest());
  49 + System.out.println("path:"+exchange.getRequest().getPath().value());
49 // 默认 50 // 默认
50 boolean flag = false; 51 boolean flag = false;
51 for (String ignored :permitUrlProperties.getIgnored()) { 52 for (String ignored :permitUrlProperties.getIgnored()) {
cloud/getaway/src/main/java/com/sincere/getaway/client/filter/SwaggerHeaderFilter.java
@@ -21,6 +21,9 @@ public class SwaggerHeaderFilter extends AbstractGatewayFilterFactory { @@ -21,6 +21,9 @@ public class SwaggerHeaderFilter extends AbstractGatewayFilterFactory {
21 return (exchange, chain) -> { 21 return (exchange, chain) -> {
22 ServerHttpRequest request = exchange.getRequest(); 22 ServerHttpRequest request = exchange.getRequest();
23 String path = request.getURI().getPath(); 23 String path = request.getURI().getPath();
  24 +
  25 + System.out.println("path:"+path);
  26 +
24 if (!StringUtils.endsWithIgnoreCase(path, SwaggerProvider.API_URI)) { 27 if (!StringUtils.endsWithIgnoreCase(path, SwaggerProvider.API_URI)) {
25 return chain.filter(exchange); 28 return chain.filter(exchange);
26 } 29 }
cloud/getaway/src/main/resources/application.yml
@@ -55,6 +55,13 @@ spring: @@ -55,6 +55,13 @@ spring:
55 - Path=/NewSmartCampus/** 55 - Path=/NewSmartCampus/**
56 filters: 56 filters:
57 - StripPrefix=1 57 - StripPrefix=1
  58 + - id: dahua
  59 +# uri: lb://dahua
  60 + uri: http://114.55.30.100:8991
  61 + predicates:
  62 + - Path=/dahua/**
  63 + filters:
  64 + - StripPrefix=1
58 # default-filters: 65 # default-filters:
59 # - DedupeResponseHeader=Access-Control-Allow-Origin, RETAIN_UNIQUE 66 # - DedupeResponseHeader=Access-Control-Allow-Origin, RETAIN_UNIQUE
60 # discovery: 67 # discovery:
@@ -78,4 +85,4 @@ ribbon: @@ -78,4 +85,4 @@ ribbon:
78 85
79 86
80 url: 87 url:
81 - ignored: /SmartCampusWebApi/**,/authserver/**,/NewSmartCampus/**,/file-center/**  
82 \ No newline at end of file 88 \ No newline at end of file
  89 + ignored: /SmartCampusWebApi/**,/authserver/**,/NewSmartCampus/**,/file-center/**,/dahua/**
83 \ No newline at end of file 90 \ No newline at end of file
cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java
@@ -398,7 +398,7 @@ public class CMSServer implements ApplicationRunner { @@ -398,7 +398,7 @@ public class CMSServer implements ApplicationRunner {
398 strXMLData.read(); 398 strXMLData.read();
399 399
400 String strXML = new String(strXMLData.byValue); 400 String strXML = new String(strXMLData.byValue);
401 -// System.out.println(strXML); 401 + System.out.println(strXML);
402 402
403 if (null == alarmUtils) { 403 if (null == alarmUtils) {
404 alarmUtils = new AlarmUtils(deviceDao); 404 alarmUtils = new AlarmUtils(deviceDao);
cloud/mypulsar/src/main/java/com/example/mypulsar/MyRunnerableInt.java
@@ -199,7 +199,7 @@ public class MyRunnerableInt implements ApplicationRunner { @@ -199,7 +199,7 @@ public class MyRunnerableInt implements ApplicationRunner {
199 String value = statue.getValue(); 199 String value = statue.getValue();
200 deviceBean.setValue(value); 200 deviceBean.setValue(value);
201 201
202 - System.out.println("插入数据:" +value); 202 + System.out.println(devId+"-插入数据:" +value);
203 switch (code) { 203 switch (code) {
204 case "va_temperature"://温度 204 case "va_temperature"://温度
205 deviceBean.setValue(Integer.parseInt(value)/100+""); 205 deviceBean.setValue(Integer.parseInt(value)/100+"");
@@ -263,8 +263,14 @@ public class MyRunnerableInt implements ApplicationRunner { @@ -263,8 +263,14 @@ public class MyRunnerableInt implements ApplicationRunner {
263 case "pir"://人体感应 263 case "pir"://人体感应
264 log("人体感应:" + value); 264 log("人体感应:" + value);
265 value = (value.equals("pir") ? "有人" : "无人"); 265 value = (value.equals("pir") ? "有人" : "无人");
  266 +
266 deviceBean.setValue(value); 267 deviceBean.setValue(value);
267 - calOpenOrCloseDevWithPir(deviceBean); 268 + try {
  269 + Thread.sleep(1000);
  270 + calOpenOrCloseDevWithPir(deviceBean);
  271 + } catch (InterruptedException e) {
  272 + e.printStackTrace();
  273 + }
268 break; 274 break;
269 case "cur_voltage"://当前电压 275 case "cur_voltage"://当前电压
270 // value = Integer.parseInt(value) / 10 + "V"; 276 // value = Integer.parseInt(value) / 10 + "V";
@@ -293,6 +299,7 @@ public class MyRunnerableInt implements ApplicationRunner { @@ -293,6 +299,7 @@ public class MyRunnerableInt implements ApplicationRunner {
293 private void calOpenOrCloseDevWithPir(DeviceBean deviceBean) { 299 private void calOpenOrCloseDevWithPir(DeviceBean deviceBean) {
294 300
295 List<CalDevContrl> calDevContrls = deviceDao.getCalDevContrlWidthDevId(deviceBean.getDevId()); 301 List<CalDevContrl> calDevContrls = deviceDao.getCalDevContrlWidthDevId(deviceBean.getDevId());
  302 + System.out.println("calOpenOrCloseDevWithPir:"+calDevContrls.toString());
296 if (null != calDevContrls && calDevContrls.size() > 0) { 303 if (null != calDevContrls && calDevContrls.size() > 0) {
297 if (deviceBean.getValue().equals("有人")) deviceBean.setValue("1"); 304 if (deviceBean.getValue().equals("有人")) deviceBean.setValue("1");
298 else deviceBean.setValue("0"); 305 else deviceBean.setValue("0");
cloud/mypulsar/src/main/java/com/example/mypulsar/dao/DeviceDao.java
@@ -43,6 +43,6 @@ public interface DeviceDao { @@ -43,6 +43,6 @@ public interface DeviceDao {
43 @Select("select * from CalDevContrl where Devid = #{Devid} and Status = 1") 43 @Select("select * from CalDevContrl where Devid = #{Devid} and Status = 1")
44 List<CalDevContrl> getCalDevContrlWidthDevId(@Param("Devid") String devId); 44 List<CalDevContrl> getCalDevContrlWidthDevId(@Param("Devid") String devId);
45 45
46 - @Select("select * from CalDevContrl where State = 1 and Id = #{Id}") 46 + @Select("select * from CalDevBeContrl where State = 1 and Id = #{Id}")
47 CalDevBeContrl getCalDevBeControl(@Param("Id") String Id); 47 CalDevBeContrl getCalDevBeControl(@Param("Id") String Id);
48 } 48 }
cloud/mypulsar/src/main/java/com/example/mypulsar/utils/ControlUtils.java
@@ -47,7 +47,9 @@ public class ControlUtils { @@ -47,7 +47,9 @@ public class ControlUtils {
47 calDevContrls) { 47 calDevContrls) {
48 48
49 String inUseTime = cal.getInUserTime();//联动的时间范围,[{"Week":"5","StartTime":"14:02","EndTime":"14:06"}] 49 String inUseTime = cal.getInUserTime();//联动的时间范围,[{"Week":"5","StartTime":"14:02","EndTime":"14:06"}]
  50 +
50 if (inUseTime == null) break; 51 if (inUseTime == null) break;
  52 +// System.out.println("inUseTime:"+inUseTime);
51 try { 53 try {
52 JSONArray jsonArray = new JSONArray(inUseTime); 54 JSONArray jsonArray = new JSONArray(inUseTime);
53 55
@@ -72,9 +74,9 @@ public class ControlUtils { @@ -72,9 +74,9 @@ public class ControlUtils {
72 Date date = simpleDateFormat1.parse(new Date().getHours() + ":" + new Date().getMinutes() + ":" + new Date().getSeconds()); 74 Date date = simpleDateFormat1.parse(new Date().getHours() + ":" + new Date().getMinutes() + ":" + new Date().getSeconds());
73 75
74 long starTime = startDate.getTime(); 76 long starTime = startDate.getTime();
75 - System.out.println("startDate:" + starTime);  
76 - System.out.println("endDate:" + endDate.getTime());  
77 - System.out.println("date:" + date.getTime()); 77 +// System.out.println("startDate:" + starTime);
  78 +// System.out.println("endDate:" + endDate.getTime());
  79 +// System.out.println("date:" + date.getTime());
78 80
79 if (date.getTime() < endDate.getTime() && date.getTime() > starTime) { 81 if (date.getTime() < endDate.getTime() && date.getTime() > starTime) {
80 //比较器类型 82 //比较器类型
@@ -82,7 +84,7 @@ public class ControlUtils { @@ -82,7 +84,7 @@ public class ControlUtils {
82 84
83 switch (compreType) { 85 switch (compreType) {
84 case 1://固定值 86 case 1://固定值
85 - calCompre(cal, deviceBean); 87 + calCompre(cal,deviceBean);
86 break; 88 break;
87 case 2://当天日期 89 case 2://当天日期
88 90
@@ -92,7 +94,7 @@ public class ControlUtils { @@ -92,7 +94,7 @@ public class ControlUtils {
92 94
93 } 95 }
94 96
95 - System.out.println("jsonObject:" + jsonObject.toString()); 97 +// System.out.println("jsonObject:" + jsonObject.toString());
96 } 98 }
97 99
98 } catch (JSONException e) { 100 } catch (JSONException e) {
@@ -181,7 +183,8 @@ public class ControlUtils { @@ -181,7 +183,8 @@ public class ControlUtils {
181 183
182 String assDevice = cal.getAssDevice();//联动的设备id 184 String assDevice = cal.getAssDevice();//联动的设备id
183 185
184 - boolean isExit = isExist(assDevice.split(",")); 186 +// boolean isExit = isExist(assDevice.split(","));
  187 + boolean isExit = true;
185 188
186 System.out.println("是否符合联动条件:" + isExit); 189 System.out.println("是否符合联动条件:" + isExit);
187 190
@@ -214,7 +217,8 @@ public class ControlUtils { @@ -214,7 +217,8 @@ public class ControlUtils {
214 HttpUtil.addAirCode(conValue, conDevId); 217 HttpUtil.addAirCode(conValue, conDevId);
215 break; 218 break;
216 case 10://开关 219 case 10://开关
217 - HttpUtil.controlDev(conDevId, conCode, conValue); 220 +// HttpUtil.controlDev(conDevId, conCode, conValue);
  221 + HttpUtil.addAirCode(conValue, conDevId);
218 break; 222 break;
219 case 12://万能遥控器 223 case 12://万能遥控器
220 HttpUtil.addAirCode(conValue, conDevId); 224 HttpUtil.addAirCode(conValue, conDevId);
cloud/mypulsar/src/main/java/com/example/mypulsar/utils/HttpUtil.java
@@ -88,7 +88,7 @@ public class HttpUtil { @@ -88,7 +88,7 @@ public class HttpUtil {
88 result += getLine; 88 result += getLine;
89 } 89 }
90 in.close(); 90 in.close();
91 - System.err.println("result:" + result); 91 +// System.err.println("result:" + result);
92 return result; 92 return result;
93 } 93 }
94 94
@@ -112,7 +112,7 @@ public class HttpUtil { @@ -112,7 +112,7 @@ public class HttpUtil {
112 112
113 String responseEntity = restTemplate.postForObject(url, tuYaCommand, String.class); 113 String responseEntity = restTemplate.postForObject(url, tuYaCommand, String.class);
114 114
115 - System.out.println("tuYaCommand:" + tuYaCommand.toString()); 115 + System.out.println("tuYaCommand:" + tuYaCommand.toString()+"----deviceId:"+deviceId);
116 System.out.println("responseEntity:" + responseEntity); 116 System.out.println("responseEntity:" + responseEntity);
117 return responseEntity.equals("1"); 117 return responseEntity.equals("1");
118 } 118 }
@@ -144,11 +144,12 @@ public class HttpUtil { @@ -144,11 +144,12 @@ public class HttpUtil {
144 JSONObject jsonObject = new JSONObject(conValue); 144 JSONObject jsonObject = new JSONObject(conValue);
145 tuYaAirCondition.setMode(jsonObject.getString("mode")); 145 tuYaAirCondition.setMode(jsonObject.getString("mode"));
146 tuYaAirCondition.setPower(jsonObject.getString("power")); 146 tuYaAirCondition.setPower(jsonObject.getString("power"));
147 - tuYaAirCondition.setRemote_id(jsonObject.getString("remote_index")); 147 + tuYaAirCondition.setRemote_id(jsonObject.getString("remote_id"));
148 tuYaAirCondition.setWind(jsonObject.getString("wind")); 148 tuYaAirCondition.setWind(jsonObject.getString("wind"));
149 tuYaAirCondition.setTemp(jsonObject.getString("temp")); 149 tuYaAirCondition.setTemp(jsonObject.getString("temp"));
150 tuYaAirCondition.setRemote_index(jsonObject.getString("remote_index")); 150 tuYaAirCondition.setRemote_index(jsonObject.getString("remote_index"));
151 151
  152 +
152 } catch (JSONException e) { 153 } catch (JSONException e) {
153 e.printStackTrace(); 154 e.printStackTrace();
154 } 155 }
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/UserController.java
@@ -23,4 +23,19 @@ public class UserController { @@ -23,4 +23,19 @@ public class UserController {
23 String selectStudentNumByStudentId(@RequestParam("studentId") int studentId){ 23 String selectStudentNumByStudentId(@RequestParam("studentId") int studentId){
24 return userService.selectStudentNumByStudentId(studentId); 24 return userService.selectStudentNumByStudentId(studentId);
25 } 25 }
  26 +
  27 +
  28 +
  29 + @RequestMapping(value = "getStudent_NumWitdCode",method = RequestMethod.GET)
  30 + String getStudent_NumWitdCode(@RequestParam("studentcode") String studentcode){
  31 + return userService.getStudent_NumWitdCode(studentcode);
  32 + }
  33 +
  34 +
  35 + @RequestMapping(value = "getTeacherWithstudentcode",method = RequestMethod.GET)
  36 + String getTeacherWithstudentcode(@RequestParam("num") String num,@RequestParam("schoolId") String schoolId){
  37 + return userService.getTeacherWithstudentcode(num,schoolId);
  38 + }
  39 +
  40 +
26 } 41 }
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/UserMapper.java
@@ -8,4 +8,13 @@ package com.sincere.smartSearch.mapper; @@ -8,4 +8,13 @@ package com.sincere.smartSearch.mapper;
8 public interface UserMapper { 8 public interface UserMapper {
9 9
10 String selectStudentNumByStudentId(int studentId); 10 String selectStudentNumByStudentId(int studentId);
  11 +
  12 + @Select("select Top(1)*\n" +
  13 + "from SZ_V_School_Teacher\n" +
  14 + "where num = #{num} and school_id = #{schoolId}")
  15 + StudentBean getTeacherWithstudentcode(@Param("num") String num,@Param("schoolId")String schoolId);
  16 +
  17 + @Select("select Top(1) * from SZ_V_School_Student where studentcode = #{studentcode}")
  18 + StudentBean getStudent_NumWitdCode(@Param("studentcode") String studentcode);
  19 +
11 } 20 }
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/model/StudentBean.java 0 → 100644
@@ -0,0 +1,307 @@ @@ -0,0 +1,307 @@
  1 +package com.sincere.haikangface.bean;
  2 +
  3 +import java.io.Serializable;
  4 +import java.util.Date;
  5 +
  6 +public class StudentBean implements Serializable {
  7 +
  8 + private String teacher_id;
  9 +
  10 + private String parent_id;
  11 +
  12 + private long ID;
  13 +
  14 + private String UserId;
  15 +
  16 + private String CustomerId;
  17 +
  18 + private int StudentType;
  19 +
  20 + private int UserType;
  21 +
  22 + private String name;
  23 +
  24 + private int ClassId;
  25 +
  26 + private String ClassName;
  27 +
  28 + private String OldCard;
  29 +
  30 + private String Card;
  31 +
  32 + private int SchoolId;
  33 +
  34 + private int school_id;
  35 +
  36 + private int IsNew;
  37 +
  38 + private int UpdateType;
  39 +
  40 + private Date AddTime;
  41 +
  42 + private int Sex;
  43 +
  44 + private String Face;
  45 +
  46 + private String studentcode;
  47 +
  48 + private String student_num;
  49 +
  50 + private String student_id;
  51 +
  52 + private String user_id;
  53 +
  54 + private String photo;
  55 +
  56 + private String teacher_num;
  57 +
  58 + private String num;
  59 +
  60 + public String getNum() {
  61 + return num;
  62 + }
  63 +
  64 + public void setNum(String num) {
  65 + this.num = num;
  66 + }
  67 +
  68 + public String getTeacher_num() {
  69 + return teacher_num;
  70 + }
  71 +
  72 + public void setTeacher_num(String teacher_num) {
  73 + this.teacher_num = teacher_num;
  74 + }
  75 +
  76 + public String getPhoto() {
  77 + return photo;
  78 + }
  79 +
  80 + public void setPhoto(String photo) {
  81 + this.photo = photo;
  82 + }
  83 +
  84 + public String getUser_id() {
  85 + return user_id;
  86 + }
  87 +
  88 + public void setUser_id(String user_id) {
  89 + this.user_id = user_id;
  90 + }
  91 +
  92 + public String getStudentcode() {
  93 + return studentcode;
  94 + }
  95 +
  96 + public void setStudentcode(String studentcode) {
  97 + this.studentcode = studentcode;
  98 + }
  99 +
  100 + public String getUserId() {
  101 + return UserId;
  102 + }
  103 +
  104 + public void setUserId(String userId) {
  105 + UserId = userId;
  106 + }
  107 +
  108 + public String getCustomerId() {
  109 + return CustomerId;
  110 + }
  111 +
  112 + public void setCustomerId(String customerId) {
  113 + CustomerId = customerId;
  114 + }
  115 +
  116 + public int getStudentType() {
  117 + return StudentType;
  118 + }
  119 +
  120 + public void setStudentType(int studentType) {
  121 + StudentType = studentType;
  122 + }
  123 +
  124 + public int getUserType() {
  125 + return UserType;
  126 + }
  127 +
  128 + public String getTeacher_id() {
  129 + return teacher_id;
  130 + }
  131 +
  132 + public String getParent_id() {
  133 + return parent_id;
  134 + }
  135 +
  136 + public void setParent_id(String parent_id) {
  137 + this.parent_id = parent_id;
  138 + }
  139 +
  140 + public void setTeacher_id(String teacher_id) {
  141 + this.teacher_id = teacher_id;
  142 + }
  143 +
  144 + public void setUserType(int userType) {
  145 + UserType = userType;
  146 + }
  147 +
  148 + public String getName() {
  149 + return name;
  150 + }
  151 +
  152 + public void setName(String name) {
  153 + this.name = name;
  154 + }
  155 +
  156 + public int getClassId() {
  157 + return ClassId;
  158 + }
  159 +
  160 + public void setClassId(int classId) {
  161 + ClassId = classId;
  162 + }
  163 +
  164 + public String getClassName() {
  165 + return ClassName;
  166 + }
  167 +
  168 + public void setClassName(String className) {
  169 + ClassName = className;
  170 + }
  171 +
  172 + public String getOldCard() {
  173 + return OldCard;
  174 + }
  175 +
  176 + public void setOldCard(String oldCard) {
  177 + OldCard = oldCard;
  178 + }
  179 +
  180 + public String getCard() {
  181 + return Card;
  182 + }
  183 +
  184 + public int getSchool_id() {
  185 + return school_id;
  186 + }
  187 +
  188 + public void setSchool_id(int school_id) {
  189 + this.school_id = school_id;
  190 + }
  191 +
  192 + public String getStudent_num() {
  193 + return student_num;
  194 + }
  195 +
  196 + public void setStudent_num(String student_num) {
  197 + this.student_num = student_num;
  198 + }
  199 +
  200 + public void setCard(String card) {
  201 + Card = card;
  202 + }
  203 +
  204 + public int getSchoolId() {
  205 + return SchoolId;
  206 + }
  207 +
  208 + public void setSchoolId(int schoolId) {
  209 + SchoolId = schoolId;
  210 + }
  211 +
  212 + public int getIsNew() {
  213 + return IsNew;
  214 + }
  215 +
  216 + public void setIsNew(int isNew) {
  217 + IsNew = isNew;
  218 + }
  219 +
  220 + public int getUpdateType() {
  221 + return UpdateType;
  222 + }
  223 +
  224 + public void setUpdateType(int updateType) {
  225 + UpdateType = updateType;
  226 + }
  227 +
  228 + public Date getAddTime() {
  229 + return AddTime;
  230 + }
  231 +
  232 + public void setAddTime(Date addTime) {
  233 + AddTime = addTime;
  234 + }
  235 +
  236 + public int getSex() {
  237 + return Sex;
  238 + }
  239 +
  240 + public void setSex(int sex) {
  241 + Sex = sex;
  242 + }
  243 +
  244 + public String getFace() {
  245 + return Face;
  246 + }
  247 +
  248 + public void setFace(String face) {
  249 + Face = face;
  250 + }
  251 +
  252 + public String getStudentCode() {
  253 + return studentcode;
  254 + }
  255 +
  256 + public void setStudentCode(String studentCode) {
  257 + this.studentcode = studentCode;
  258 + }
  259 +
  260 + public long getID() {
  261 + return ID;
  262 + }
  263 +
  264 + public void setID(long ID) {
  265 + this.ID = ID;
  266 + }
  267 +
  268 + public String getStudent_id() {
  269 + return student_id;
  270 + }
  271 +
  272 + public void setStudent_id(String student_id) {
  273 + this.student_id = student_id;
  274 + }
  275 +
  276 + @Override
  277 + public String toString() {
  278 + return "StudentBean{" +
  279 + "teacher_id='" + teacher_id + '\'' +
  280 + ", parent_id='" + parent_id + '\'' +
  281 + ", ID=" + ID +
  282 + ", UserId='" + UserId + '\'' +
  283 + ", CustomerId='" + CustomerId + '\'' +
  284 + ", StudentType=" + StudentType +
  285 + ", UserType=" + UserType +
  286 + ", name='" + name + '\'' +
  287 + ", ClassId=" + ClassId +
  288 + ", ClassName='" + ClassName + '\'' +
  289 + ", OldCard='" + OldCard + '\'' +
  290 + ", Card='" + Card + '\'' +
  291 + ", SchoolId=" + SchoolId +
  292 + ", school_id=" + school_id +
  293 + ", IsNew=" + IsNew +
  294 + ", UpdateType=" + UpdateType +
  295 + ", AddTime=" + AddTime +
  296 + ", Sex=" + Sex +
  297 + ", Face='" + Face + '\'' +
  298 + ", studentcode='" + studentcode + '\'' +
  299 + ", student_num='" + student_num + '\'' +
  300 + ", student_id='" + student_id + '\'' +
  301 + ", user_id='" + user_id + '\'' +
  302 + ", photo='" + photo + '\'' +
  303 + ", teacher_num='" + teacher_num + '\'' +
  304 + ", num='" + num + '\'' +
  305 + '}';
  306 + }
  307 +}
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/UserService.java
@@ -9,4 +9,8 @@ public interface UserService { @@ -9,4 +9,8 @@ public interface UserService {
9 9
10 String selectStudentNumByStudentId(int studentId); 10 String selectStudentNumByStudentId(int studentId);
11 11
  12 + StudentBean getTeacherWithstudentcode(String num,String schoolId);
  13 +
  14 + StudentBean getStudent_NumWitdCode(String studentcode);
  15 +
12 } 16 }
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/UserServiceImpl.java
@@ -20,4 +20,17 @@ public class UserServiceImpl implements UserService { @@ -20,4 +20,17 @@ public class UserServiceImpl implements UserService {
20 public String selectStudentNumByStudentId(int studentId) { 20 public String selectStudentNumByStudentId(int studentId) {
21 return userMapper.selectStudentNumByStudentId(studentId); 21 return userMapper.selectStudentNumByStudentId(studentId);
22 } 22 }
  23 +
  24 +
  25 + @Override
  26 + public StudentBean getStudent_NumWitdCode(String studentcode) {
  27 + return userMapper.getStudent_NumWitdCode(studentcode);
  28 + }
  29 +
  30 +
  31 + @Override
  32 + public StudentBean getTeacherWithstudentcode(String num,String schoolId) {
  33 + return userMapper.getTeacherWithstudentcode(num,schoolId);
  34 + }
  35 +
23 } 36 }
cloud/server1/src/main/java/com/sincere/server1/FileUtils.java 0 → 100644
@@ -0,0 +1,94 @@ @@ -0,0 +1,94 @@
  1 +package com.sincere.server1;
  2 +
  3 +import java.io.*;
  4 +import java.text.SimpleDateFormat;
  5 +import java.util.Date;
  6 +
  7 +/**
  8 + * 日志记录、文件操作工具类
  9 + */
  10 +public class FileUtils {
  11 +
  12 +
  13 + public static String checkFail = "检测失败.txt";
  14 + public static String checkSuc = "检测成功.txt";
  15 + public static String device_login="设备登录id.txt";
  16 + private static FileUtils fileUtils;
  17 +
  18 + private String filePath = "./log/";//日志记录目录
  19 +
  20 + public static String devices = "devices.txt";//设备记录
  21 +
  22 + public static String sendUserErrTxt = "senduserErr.txt";//用户下发失败记录
  23 +
  24 + public static String sendUserSucTxt = "senduserSuc.txt";//用户下发成功记录
  25 +
  26 + public static String qiandaoSuccess = "qiandaoSuccess.txt";//用户签到成功记录
  27 +
  28 + public static String qiandaoErr = "qiandaoErr.txt";//用户签到失败记录
  29 +
  30 + public static String sendNodevice = "没有设备.txt";//设备没有
  31 +
  32 + public static String sendOrder = "下发指令.txt";//学校id记录表
  33 +
  34 + public static FileUtils getInstance() {
  35 + if (null == fileUtils) {
  36 + synchronized (FileUtils.class) {
  37 + fileUtils = new FileUtils();
  38 + }
  39 + }
  40 + return fileUtils;
  41 + }
  42 +
  43 +
  44 + public FileUtils() {
  45 +
  46 + File filePa = new File(filePath);
  47 + if (!filePa.exists()) filePa.mkdirs();
  48 +
  49 + }
  50 +
  51 +
  52 + /**
  53 + * @param content 日志内容
  54 + * @param fileName 文件名字
  55 + */
  56 + public void writeLogs(String content, String fileName) {
  57 +
  58 + String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
  59 +
  60 + File path = new File(filePath+date);
  61 + if (!path.exists())path.mkdirs();
  62 +
  63 + File logPath = new File(filePath+date, fileName);
  64 +
  65 + try {
  66 +// System.out.println("logPath:" + logPath.getAbsolutePath());
  67 + if (!logPath.exists()) logPath.createNewFile();
  68 +
  69 + FileOutputStream fileOutputStream = new FileOutputStream(logPath, true);//true表示文件后面续写
  70 +
  71 + String writeContent = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())
  72 + + " " + content + "\r\n";
  73 +
  74 + OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");
  75 +
  76 + outputStreamWriter.write(writeContent);
  77 +
  78 + outputStreamWriter.write("\r\n");
  79 +
  80 + outputStreamWriter.close();
  81 +
  82 + } catch (FileNotFoundException e) {
  83 + e.printStackTrace();
  84 + } catch (UnsupportedEncodingException e) {
  85 + e.printStackTrace();
  86 + } catch (IOException e) {
  87 + e.printStackTrace();
  88 + }
  89 +
  90 +
  91 + }
  92 +
  93 +
  94 +}
cloud/server1/src/main/java/com/sincere/server1/listener/EurekaInstanceCanceledListener.java
@@ -4,6 +4,7 @@ package com.sincere.server1.listener; @@ -4,6 +4,7 @@ package com.sincere.server1.listener;
4 import com.netflix.discovery.shared.Applications; 4 import com.netflix.discovery.shared.Applications;
5 import com.netflix.eureka.EurekaServerContextHolder; 5 import com.netflix.eureka.EurekaServerContextHolder;
6 import com.netflix.eureka.registry.PeerAwareInstanceRegistry; 6 import com.netflix.eureka.registry.PeerAwareInstanceRegistry;
  7 +import com.sincere.server1.FileUtils;
7 import lombok.extern.slf4j.Slf4j; 8 import lombok.extern.slf4j.Slf4j;
8 import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceCanceledEvent; 9 import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceCanceledEvent;
9 import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceRegisteredEvent; 10 import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceRegisteredEvent;
@@ -29,27 +30,43 @@ public class EurekaInstanceCanceledListener implements ApplicationListener { @@ -29,27 +30,43 @@ public class EurekaInstanceCanceledListener implements ApplicationListener {
29 PeerAwareInstanceRegistry registry = EurekaServerContextHolder.getInstance().getServerContext().getRegistry(); 30 PeerAwareInstanceRegistry registry = EurekaServerContextHolder.getInstance().getServerContext().getRegistry();
30 Applications applications = registry.getApplications(); 31 Applications applications = registry.getApplications();
31 // 遍历获取已注册节点中与当前失效节点ID一致的节点信息 32 // 遍历获取已注册节点中与当前失效节点ID一致的节点信息
32 - applications.getRegisteredApplications().forEach((registeredApplication) -> {  
33 - registeredApplication.getInstances().forEach((instance) -> {  
34 - if (instance.getInstanceId().equals(event.getServerId())) {  
35 - log.debug("服务:" + instance.getAppName() + " 挂啦。。。");  
36 - // // TODO: 2017/9/3 扩展消息提醒 邮件、手机短信、微信等  
37 - }  
38 - });  
39 - }); 33 + if (null != applications && null != event) {
  34 + applications.getRegisteredApplications().forEach((registeredApplication) -> {
  35 +
  36 + registeredApplication.getInstances().forEach((instance) -> {
  37 +
  38 + if (null != instance && instance.getInstanceId().equals(event.getServerId())) {
  39 + System.out.println("服务:" + instance.getAppName() + " 挂啦。。。");
  40 + // // TODO: 2017/9/3 扩展消息提醒 邮件、手机短信、微信等
  41 + FileUtils.getInstance().writeLogs("服务:" + instance.getAppName() + " 挂啦。。。","服务监控");
  42 + }
40 43
  44 + });
  45 +
  46 + });
  47 + }
41 48
42 } 49 }
  50 +
43 if (applicationEvent instanceof EurekaInstanceRegisteredEvent) { 51 if (applicationEvent instanceof EurekaInstanceRegisteredEvent) {
44 EurekaInstanceRegisteredEvent event = (EurekaInstanceRegisteredEvent) applicationEvent; 52 EurekaInstanceRegisteredEvent event = (EurekaInstanceRegisteredEvent) applicationEvent;
45 - log.debug("服务:" + event.getInstanceInfo().getAppName() + " 注册成功啦。。。"); 53 + if (null!=event){
  54 + System.out.println("服务:" + event.getInstanceInfo().getAppName() + " 注册成功啦。。。");
  55 + FileUtils.getInstance().writeLogs("服务:" +event.getInstanceInfo().getAppName() + " 注册成功啦。。。","服务注册监控");
  56 + }else System.out.println("服务EurekaInstanceRegisteredEvent");
46 } 57 }
47 if (applicationEvent instanceof EurekaInstanceRenewedEvent) { 58 if (applicationEvent instanceof EurekaInstanceRenewedEvent) {
48 EurekaInstanceRenewedEvent event = (EurekaInstanceRenewedEvent) applicationEvent; 59 EurekaInstanceRenewedEvent event = (EurekaInstanceRenewedEvent) applicationEvent;
49 - log.debug("心跳检测服务:" + event.getInstanceInfo().getAppName() + "。。"); 60 + if (null!=event){
  61 + System.out.println("心跳检测服务:" + event.getInstanceInfo().getAppName() + "。。");
  62 + FileUtils.getInstance().writeLogs("心跳检测服务:" +event.getInstanceInfo().getAppName() + "。。","服务心跳监控");
  63 + }else {
  64 + System.out.println("心跳检测服务EurekaInstanceRenewedEvent");
  65 + }
50 } 66 }
51 if (applicationEvent instanceof EurekaRegistryAvailableEvent) { 67 if (applicationEvent instanceof EurekaRegistryAvailableEvent) {
52 - log.debug("服务 Aualiable。。"); 68 + System.out.println("服务 Aualiable。。");
  69 + FileUtils.getInstance().writeLogs("服务 Aualiable。。","服务Aualiable");
53 } 70 }
54 71
55 } 72 }
cloud/server2/src/main/java/com/sincere/server2/FileUtils.java 0 → 100644
@@ -0,0 +1,94 @@ @@ -0,0 +1,94 @@
  1 +package com.sincere.server2;
  2 +
  3 +import java.io.*;
  4 +import java.text.SimpleDateFormat;
  5 +import java.util.Date;
  6 +
  7 +/**
  8 + * 日志记录、文件操作工具类
  9 + */
  10 +public class FileUtils {
  11 +
  12 +
  13 + public static String checkFail = "检测失败.txt";
  14 + public static String checkSuc = "检测成功.txt";
  15 + public static String device_login="设备登录id.txt";
  16 + private static FileUtils fileUtils;
  17 +
  18 + private String filePath = "./log/";//日志记录目录
  19 +
  20 + public static String devices = "devices.txt";//设备记录
  21 +
  22 + public static String sendUserErrTxt = "senduserErr.txt";//用户下发失败记录
  23 +
  24 + public static String sendUserSucTxt = "senduserSuc.txt";//用户下发成功记录
  25 +
  26 + public static String qiandaoSuccess = "qiandaoSuccess.txt";//用户签到成功记录
  27 +
  28 + public static String qiandaoErr = "qiandaoErr.txt";//用户签到失败记录
  29 +
  30 + public static String sendNodevice = "没有设备.txt";//设备没有
  31 +
  32 + public static String sendOrder = "下发指令.txt";//学校id记录表
  33 +
  34 + public static FileUtils getInstance() {
  35 + if (null == fileUtils) {
  36 + synchronized (FileUtils.class) {
  37 + fileUtils = new FileUtils();
  38 + }
  39 + }
  40 + return fileUtils;
  41 + }
  42 +
  43 +
  44 + public FileUtils() {
  45 +
  46 + File filePa = new File(filePath);
  47 + if (!filePa.exists()) filePa.mkdirs();
  48 +
  49 + }
  50 +
  51 +
  52 + /**
  53 + * @param content 日志内容
  54 + * @param fileName 文件名字
  55 + */
  56 + public void writeLogs(String content, String fileName) {
  57 +
  58 + String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
  59 +
  60 + File path = new File(filePath+date);
  61 + if (!path.exists())path.mkdirs();
  62 +
  63 + File logPath = new File(filePath+date, fileName);
  64 +
  65 + try {
  66 +// System.out.println("logPath:" + logPath.getAbsolutePath());
  67 + if (!logPath.exists()) logPath.createNewFile();
  68 +
  69 + FileOutputStream fileOutputStream = new FileOutputStream(logPath, true);//true表示文件后面续写
  70 +
  71 + String writeContent = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())
  72 + + " " + content + "\r\n";
  73 +
  74 + OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");
  75 +
  76 + outputStreamWriter.write(writeContent);
  77 +
  78 + outputStreamWriter.write("\r\n");
  79 +
  80 + outputStreamWriter.close();
  81 +
  82 + } catch (FileNotFoundException e) {
  83 + e.printStackTrace();
  84 + } catch (UnsupportedEncodingException e) {
  85 + e.printStackTrace();
  86 + } catch (IOException e) {
  87 + e.printStackTrace();
  88 + }
  89 +
  90 +
  91 + }
  92 +
  93 +
  94 +}
cloud/server2/src/main/java/com/sincere/server2/listener/EurekaInstanceCanceledListener.java
@@ -4,6 +4,7 @@ package com.sincere.server2.listener; @@ -4,6 +4,7 @@ package com.sincere.server2.listener;
4 import com.netflix.discovery.shared.Applications; 4 import com.netflix.discovery.shared.Applications;
5 import com.netflix.eureka.EurekaServerContextHolder; 5 import com.netflix.eureka.EurekaServerContextHolder;
6 import com.netflix.eureka.registry.PeerAwareInstanceRegistry; 6 import com.netflix.eureka.registry.PeerAwareInstanceRegistry;
  7 +import com.sincere.server2.FileUtils;
7 import lombok.extern.slf4j.Slf4j; 8 import lombok.extern.slf4j.Slf4j;
8 import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceCanceledEvent; 9 import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceCanceledEvent;
9 import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceRegisteredEvent; 10 import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceRegisteredEvent;
@@ -29,27 +30,43 @@ public class EurekaInstanceCanceledListener implements ApplicationListener { @@ -29,27 +30,43 @@ public class EurekaInstanceCanceledListener implements ApplicationListener {
29 PeerAwareInstanceRegistry registry = EurekaServerContextHolder.getInstance().getServerContext().getRegistry(); 30 PeerAwareInstanceRegistry registry = EurekaServerContextHolder.getInstance().getServerContext().getRegistry();
30 Applications applications = registry.getApplications(); 31 Applications applications = registry.getApplications();
31 // 遍历获取已注册节点中与当前失效节点ID一致的节点信息 32 // 遍历获取已注册节点中与当前失效节点ID一致的节点信息
32 - applications.getRegisteredApplications().forEach((registeredApplication) -> {  
33 - registeredApplication.getInstances().forEach((instance) -> {  
34 - if (instance.getInstanceId().equals(event.getServerId())) {  
35 - log.debug("服务:" + instance.getAppName() + " 挂啦。。。");  
36 - // // TODO: 2017/9/3 扩展消息提醒 邮件、手机短信、微信等  
37 - }  
38 - });  
39 - }); 33 + if (null != applications && null != event) {
  34 + applications.getRegisteredApplications().forEach((registeredApplication) -> {
  35 +
  36 + registeredApplication.getInstances().forEach((instance) -> {
  37 +
  38 + if (null != instance && instance.getInstanceId().equals(event.getServerId())) {
  39 + System.out.println("服务:" + instance.getAppName() + " 挂啦。。。");
  40 + // // TODO: 2017/9/3 扩展消息提醒 邮件、手机短信、微信等
  41 + FileUtils.getInstance().writeLogs("服务:" + instance.getAppName() + " 挂啦。。。","服务监控");
  42 + }
40 43
  44 + });
  45 +
  46 + });
  47 + }
41 48
42 } 49 }
  50 +
43 if (applicationEvent instanceof EurekaInstanceRegisteredEvent) { 51 if (applicationEvent instanceof EurekaInstanceRegisteredEvent) {
44 EurekaInstanceRegisteredEvent event = (EurekaInstanceRegisteredEvent) applicationEvent; 52 EurekaInstanceRegisteredEvent event = (EurekaInstanceRegisteredEvent) applicationEvent;
45 - log.debug("服务:" + event.getInstanceInfo().getAppName() + " 注册成功啦。。。"); 53 + if (null!=event){
  54 + System.out.println("服务:" + event.getInstanceInfo().getAppName() + " 注册成功啦。。。");
  55 + FileUtils.getInstance().writeLogs("服务:" +event.getInstanceInfo().getAppName() + " 注册成功啦。。。","服务注册监控");
  56 + }else System.out.println("服务EurekaInstanceRegisteredEvent");
46 } 57 }
47 if (applicationEvent instanceof EurekaInstanceRenewedEvent) { 58 if (applicationEvent instanceof EurekaInstanceRenewedEvent) {
48 EurekaInstanceRenewedEvent event = (EurekaInstanceRenewedEvent) applicationEvent; 59 EurekaInstanceRenewedEvent event = (EurekaInstanceRenewedEvent) applicationEvent;
49 - log.debug("心跳检测服务:" + event.getInstanceInfo().getAppName() + "。。"); 60 + if (null!=event){
  61 + System.out.println("心跳检测服务:" + event.getInstanceInfo().getAppName() + "。。");
  62 + FileUtils.getInstance().writeLogs("心跳检测服务:" +event.getInstanceInfo().getAppName() + "。。","服务心跳监控");
  63 + }else {
  64 + System.out.println("心跳检测服务EurekaInstanceRenewedEvent");
  65 + }
50 } 66 }
51 if (applicationEvent instanceof EurekaRegistryAvailableEvent) { 67 if (applicationEvent instanceof EurekaRegistryAvailableEvent) {
52 - log.debug("服务 Aualiable。。"); 68 + System.out.println("服务 Aualiable。。");
  69 + FileUtils.getInstance().writeLogs("服务 Aualiable。。","服务Aualiable");
53 } 70 }
54 71
55 } 72 }