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 12 eureka:
13 13 client:
14 14 serviceUrl:
  15 + defaultZone: http://
15 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 18 #http://134.224.249.33:1111/eureka/ 正式库
18 19 #http://134.224.249.33:1111/eureka/ 测试库
19 20 #http://127.0.0.1:8761/eureka,http://127.0.0.1:8762/eureka
... ...
cloud/dahua/pom.xml
... ... @@ -118,11 +118,11 @@
118 118 <artifactId>mybatis-spring-boot-starter</artifactId>
119 119 <version>2.0.1</version>
120 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 127 <!--<dependency>-->
128 128 <!--<groupId>com.drewnoakes</groupId>-->
... ...
cloud/dahua/src/main/java/com/example/dahua/control/FileControl.java
... ... @@ -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 6 import com.example.dahua.lib.CompressPic;
7 7 import com.example.dahua.service.UserService;
8 8 import com.example.dahua.utils.*;
9   -import com.sincere.common.util.AuthService;
10 9 import io.swagger.annotations.Api;
11 10 import io.swagger.annotations.ApiImplicitParam;
12 11 import io.swagger.annotations.ApiImplicitParams;
... ... @@ -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 399 @RequestMapping(value = "movePic", method = RequestMethod.GET)
374 400 @ApiOperation("转移下发失败的图片到批量图片库")
375 401 public void movePic(@RequestParam("schoolId") int schoolId, @RequestParam("userType") int usertype, @RequestParam("deviceId") String deviceId) {
... ... @@ -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 481 private String getAnswer(String imgUrl, int type) {
455 482 RestTemplate restTemplate = new RestTemplate();
... ...
cloud/dahua/src/main/java/com/example/dahua/utils/AuthService.java 0 → 100644
... ... @@ -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 7 import org.springframework.http.ResponseEntity;
8 8 import org.springframework.util.LinkedMultiValueMap;
9 9 import org.springframework.util.MultiValueMap;
  10 +import org.springframework.web.bind.annotation.RequestParam;
10 11 import org.springframework.web.client.RestTemplate;
11 12  
12 13 import java.io.File;
  14 +import java.util.HashMap;
  15 +import java.util.Map;
13 16  
14 17 public class HttpUtils {
15 18  
... ... @@ -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   -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 @@
  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 @@
  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 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 43 FileService fileService;
44 44  
45 45 @PostMapping("fileUpload")
46   - @ApiOperation("上传文件")
  46 + @ApiOperation("上传文件(重复文件会新增1)")
47 47 public String fileUpload(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws Exception {
48 48  
49 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 65 FileInfo fileInfo = fileService.upload(file, ossPath);
52 66  
53 67 return fileInfo.getUrl();
54 68  
55 69 }
56 70  
  71 +
57 72 @DeleteMapping("deleteFile/{fileName}")
58 73 @ApiOperation("删除文件")
59 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 9 import org.springframework.web.multipart.MultipartFile;
10 10  
11 11 import java.io.File;
  12 +import java.util.UUID;
12 13  
13 14 /**
14 15 * @author 作者 owen E-mail: 624191343@qq.com
... ... @@ -41,8 +42,9 @@ public class AliyunOssServiceImpl extends AbstractFileService {
41 42  
42 43 @Override
43 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 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 46 @Override
47 47 public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
48 48 String accessToken = this.extractToken(exchange.getRequest());
  49 + System.out.println("path:"+exchange.getRequest().getPath().value());
49 50 // 默认
50 51 boolean flag = false;
51 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 21 return (exchange, chain) -> {
22 22 ServerHttpRequest request = exchange.getRequest();
23 23 String path = request.getURI().getPath();
  24 +
  25 + System.out.println("path:"+path);
  26 +
24 27 if (!StringUtils.endsWithIgnoreCase(path, SwaggerProvider.API_URI)) {
25 28 return chain.filter(exchange);
26 29 }
... ...
cloud/getaway/src/main/resources/application.yml
... ... @@ -55,6 +55,13 @@ spring:
55 55 - Path=/NewSmartCampus/**
56 56 filters:
57 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 65 # default-filters:
59 66 # - DedupeResponseHeader=Access-Control-Allow-Origin, RETAIN_UNIQUE
60 67 # discovery:
... ... @@ -78,4 +85,4 @@ ribbon:
78 85  
79 86  
80 87 url:
81   - ignored: /SmartCampusWebApi/**,/authserver/**,/NewSmartCampus/**,/file-center/**
82 88 \ No newline at end of file
  89 + ignored: /SmartCampusWebApi/**,/authserver/**,/NewSmartCampus/**,/file-center/**,/dahua/**
83 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 398 strXMLData.read();
399 399  
400 400 String strXML = new String(strXMLData.byValue);
401   -// System.out.println(strXML);
  401 + System.out.println(strXML);
402 402  
403 403 if (null == alarmUtils) {
404 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 199 String value = statue.getValue();
200 200 deviceBean.setValue(value);
201 201  
202   - System.out.println("插入数据:" +value);
  202 + System.out.println(devId+"-插入数据:" +value);
203 203 switch (code) {
204 204 case "va_temperature"://温度
205 205 deviceBean.setValue(Integer.parseInt(value)/100+"");
... ... @@ -263,8 +263,14 @@ public class MyRunnerableInt implements ApplicationRunner {
263 263 case "pir"://人体感应
264 264 log("人体感应:" + value);
265 265 value = (value.equals("pir") ? "有人" : "无人");
  266 +
266 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 274 break;
269 275 case "cur_voltage"://当前电压
270 276 // value = Integer.parseInt(value) / 10 + "V";
... ... @@ -293,6 +299,7 @@ public class MyRunnerableInt implements ApplicationRunner {
293 299 private void calOpenOrCloseDevWithPir(DeviceBean deviceBean) {
294 300  
295 301 List<CalDevContrl> calDevContrls = deviceDao.getCalDevContrlWidthDevId(deviceBean.getDevId());
  302 + System.out.println("calOpenOrCloseDevWithPir:"+calDevContrls.toString());
296 303 if (null != calDevContrls && calDevContrls.size() > 0) {
297 304 if (deviceBean.getValue().equals("有人")) deviceBean.setValue("1");
298 305 else deviceBean.setValue("0");
... ...
cloud/mypulsar/src/main/java/com/example/mypulsar/dao/DeviceDao.java
... ... @@ -43,6 +43,6 @@ public interface DeviceDao {
43 43 @Select("select * from CalDevContrl where Devid = #{Devid} and Status = 1")
44 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 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 47 calDevContrls) {
48 48  
49 49 String inUseTime = cal.getInUserTime();//联动的时间范围,[{"Week":"5","StartTime":"14:02","EndTime":"14:06"}]
  50 +
50 51 if (inUseTime == null) break;
  52 +// System.out.println("inUseTime:"+inUseTime);
51 53 try {
52 54 JSONArray jsonArray = new JSONArray(inUseTime);
53 55  
... ... @@ -72,9 +74,9 @@ public class ControlUtils {
72 74 Date date = simpleDateFormat1.parse(new Date().getHours() + ":" + new Date().getMinutes() + ":" + new Date().getSeconds());
73 75  
74 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 81 if (date.getTime() < endDate.getTime() && date.getTime() > starTime) {
80 82 //比较器类型
... ... @@ -82,7 +84,7 @@ public class ControlUtils {
82 84  
83 85 switch (compreType) {
84 86 case 1://固定值
85   - calCompre(cal, deviceBean);
  87 + calCompre(cal,deviceBean);
86 88 break;
87 89 case 2://当天日期
88 90  
... ... @@ -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 100 } catch (JSONException e) {
... ... @@ -181,7 +183,8 @@ public class ControlUtils {
181 183  
182 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 189 System.out.println("是否符合联动条件:" + isExit);
187 190  
... ... @@ -214,7 +217,8 @@ public class ControlUtils {
214 217 HttpUtil.addAirCode(conValue, conDevId);
215 218 break;
216 219 case 10://开关
217   - HttpUtil.controlDev(conDevId, conCode, conValue);
  220 +// HttpUtil.controlDev(conDevId, conCode, conValue);
  221 + HttpUtil.addAirCode(conValue, conDevId);
218 222 break;
219 223 case 12://万能遥控器
220 224 HttpUtil.addAirCode(conValue, conDevId);
... ...
cloud/mypulsar/src/main/java/com/example/mypulsar/utils/HttpUtil.java
... ... @@ -88,7 +88,7 @@ public class HttpUtil {
88 88 result += getLine;
89 89 }
90 90 in.close();
91   - System.err.println("result:" + result);
  91 +// System.err.println("result:" + result);
92 92 return result;
93 93 }
94 94  
... ... @@ -112,7 +112,7 @@ public class HttpUtil {
112 112  
113 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 116 System.out.println("responseEntity:" + responseEntity);
117 117 return responseEntity.equals("1");
118 118 }
... ... @@ -144,11 +144,12 @@ public class HttpUtil {
144 144 JSONObject jsonObject = new JSONObject(conValue);
145 145 tuYaAirCondition.setMode(jsonObject.getString("mode"));
146 146 tuYaAirCondition.setPower(jsonObject.getString("power"));
147   - tuYaAirCondition.setRemote_id(jsonObject.getString("remote_index"));
  147 + tuYaAirCondition.setRemote_id(jsonObject.getString("remote_id"));
148 148 tuYaAirCondition.setWind(jsonObject.getString("wind"));
149 149 tuYaAirCondition.setTemp(jsonObject.getString("temp"));
150 150 tuYaAirCondition.setRemote_index(jsonObject.getString("remote_index"));
151 151  
  152 +
152 153 } catch (JSONException e) {
153 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 23 String selectStudentNumByStudentId(@RequestParam("studentId") int studentId){
24 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 8 public interface UserMapper {
9 9  
10 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 @@
  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 9  
10 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 20 public String selectStudentNumByStudentId(int studentId) {
21 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 @@
  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 4 import com.netflix.discovery.shared.Applications;
5 5 import com.netflix.eureka.EurekaServerContextHolder;
6 6 import com.netflix.eureka.registry.PeerAwareInstanceRegistry;
  7 +import com.sincere.server1.FileUtils;
7 8 import lombok.extern.slf4j.Slf4j;
8 9 import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceCanceledEvent;
9 10 import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceRegisteredEvent;
... ... @@ -29,27 +30,43 @@ public class EurekaInstanceCanceledListener implements ApplicationListener {
29 30 PeerAwareInstanceRegistry registry = EurekaServerContextHolder.getInstance().getServerContext().getRegistry();
30 31 Applications applications = registry.getApplications();
31 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 51 if (applicationEvent instanceof EurekaInstanceRegisteredEvent) {
44 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 58 if (applicationEvent instanceof EurekaInstanceRenewedEvent) {
48 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 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 @@
  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 4 import com.netflix.discovery.shared.Applications;
5 5 import com.netflix.eureka.EurekaServerContextHolder;
6 6 import com.netflix.eureka.registry.PeerAwareInstanceRegistry;
  7 +import com.sincere.server2.FileUtils;
7 8 import lombok.extern.slf4j.Slf4j;
8 9 import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceCanceledEvent;
9 10 import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceRegisteredEvent;
... ... @@ -29,27 +30,43 @@ public class EurekaInstanceCanceledListener implements ApplicationListener {
29 30 PeerAwareInstanceRegistry registry = EurekaServerContextHolder.getInstance().getServerContext().getRegistry();
30 31 Applications applications = registry.getApplications();
31 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 51 if (applicationEvent instanceof EurekaInstanceRegisteredEvent) {
44 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 58 if (applicationEvent instanceof EurekaInstanceRenewedEvent) {
48 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 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 }
... ...