From b971c4366b403aa4e3a970f6f7d60ec5b0c177ef Mon Sep 17 00:00:00 2001
From: 2821744554@qq.com <2821744554@qq.com>
Date: Wed, 8 Apr 2020 08:09:34 +0800
Subject: [PATCH] smartcampussearcg增加获取教师和学生个人信息的接口
---
cloud/RibbonConsume/src/main/resources/bootstrap.yml | 3 ++-
cloud/dahua/pom.xml | 10 +++++-----
cloud/dahua/src/main/java/com/example/dahua/control/FileControl.java | 8 ++++++++
cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java | 31 +++++++++++++++++++++++++++++--
cloud/dahua/src/main/java/com/example/dahua/utils/AuthService.java | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/dahua/src/main/java/com/example/dahua/utils/HttpUtils.java | 12 ++++++++++++
cloud/dahua/src/main/resources/application.yaml | 62 --------------------------------------------------------------
cloud/dahua/src/main/resources/application.yml | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
cloud/dahua/src/main/resources/bootstrap.yml | 40 ++++++++++++++++++++++++++++++++++++++++
cloud/fIle-center/src/main/java/com/sincere/file/control/FileControl.java | 17 ++++++++++++++++-
cloud/fIle-center/src/main/java/com/sincere/file/service/impl/AliyunOssServiceImpl.java | 6 ++++--
cloud/getaway/src/main/java/com/sincere/getaway/client/filter/AccessFilter.java | 1 +
cloud/getaway/src/main/java/com/sincere/getaway/client/filter/SwaggerHeaderFilter.java | 3 +++
cloud/getaway/src/main/resources/application.yml | 9 ++++++++-
cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java | 2 +-
cloud/mypulsar/src/main/java/com/example/mypulsar/MyRunnerableInt.java | 11 +++++++++--
cloud/mypulsar/src/main/java/com/example/mypulsar/dao/DeviceDao.java | 2 +-
cloud/mypulsar/src/main/java/com/example/mypulsar/utils/ControlUtils.java | 18 +++++++++++-------
cloud/mypulsar/src/main/java/com/example/mypulsar/utils/HttpUtil.java | 7 ++++---
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/UserController.java | 15 +++++++++++++++
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/UserMapper.java | 9 +++++++++
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/model/StudentBean.java | 307 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/UserService.java | 4 ++++
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/UserServiceImpl.java | 13 +++++++++++++
cloud/server1/src/main/java/com/sincere/server1/FileUtils.java | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/server1/src/main/java/com/sincere/server1/listener/EurekaInstanceCanceledListener.java | 39 ++++++++++++++++++++++++++++-----------
cloud/server2/src/main/java/com/sincere/server2/FileUtils.java | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/server2/src/main/java/com/sincere/server2/listener/EurekaInstanceCanceledListener.java | 39 ++++++++++++++++++++++++++++-----------
28 files changed, 887 insertions(+), 110 deletions(-)
create mode 100644 cloud/dahua/src/main/java/com/example/dahua/utils/AuthService.java
delete mode 100644 cloud/dahua/src/main/resources/application.yaml
create mode 100644 cloud/dahua/src/main/resources/application.yml
create mode 100644 cloud/dahua/src/main/resources/bootstrap.yml
create mode 100644 cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/model/StudentBean.java
create mode 100644 cloud/server1/src/main/java/com/sincere/server1/FileUtils.java
create mode 100644 cloud/server2/src/main/java/com/sincere/server2/FileUtils.java
diff --git a/cloud/RibbonConsume/src/main/resources/bootstrap.yml b/cloud/RibbonConsume/src/main/resources/bootstrap.yml
index 5ddb423..134b541 100644
--- a/cloud/RibbonConsume/src/main/resources/bootstrap.yml
+++ b/cloud/RibbonConsume/src/main/resources/bootstrap.yml
@@ -12,8 +12,9 @@ spring:
eureka:
client:
serviceUrl:
+ defaultZone: http://
# defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
- defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/
+# defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/
#http://134.224.249.33:1111/eureka/ 正式库
#http://134.224.249.33:1111/eureka/ 测试库
#http://127.0.0.1:8761/eureka,http://127.0.0.1:8762/eureka
diff --git a/cloud/dahua/pom.xml b/cloud/dahua/pom.xml
index cf91588..303eda6 100644
--- a/cloud/dahua/pom.xml
+++ b/cloud/dahua/pom.xml
@@ -118,11 +118,11 @@
mybatis-spring-boot-starter
2.0.1
-
- com.sincere
- common
- 1.0.0
-
+
+
+
+
+
diff --git a/cloud/dahua/src/main/java/com/example/dahua/control/FileControl.java b/cloud/dahua/src/main/java/com/example/dahua/control/FileControl.java
index d7f9f07..37fcfa4 100644
--- a/cloud/dahua/src/main/java/com/example/dahua/control/FileControl.java
+++ b/cloud/dahua/src/main/java/com/example/dahua/control/FileControl.java
@@ -83,6 +83,14 @@ public class FileControl {
}
+ @RequestMapping(value = "imgsSend", method = RequestMethod.GET)
+ @ApiOperation(value = "照片下放")
+ public boolean imgsSend(@RequestParam("schoolId") String schoolId, @RequestParam("type") int type) {
+ userService.sendUserInfos(schoolId, "22", type);
+ return true;
+ }
+
+
}
diff --git a/cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java b/cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java
index 7136116..da8d294 100644
--- a/cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java
+++ b/cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java
@@ -6,7 +6,6 @@ import com.example.dahua.async.SendUserInfoTask;
import com.example.dahua.lib.CompressPic;
import com.example.dahua.service.UserService;
import com.example.dahua.utils.*;
-import com.sincere.common.util.AuthService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -370,6 +369,33 @@ public class UserControl {
// }
+ @RequestMapping(value = "FaceSearch", method = RequestMethod.POST)
+ @ApiOperation("人脸搜索")
+ public String FaceSearch(@RequestPart("file")MultipartFile file) {
+
+ // 请求url
+ String url = "https://aip.baidubce.com/rest/2.0/face/v3/search";
+ try {
+ Map map = new HashMap<>();
+ map.put("image", Base64Util.encode(file.getBytes()));
+ map.put("liveness_control", "NORMAL");
+ map.put("group_id_list", "One");
+ map.put("image_type", "BASE64");
+ map.put("quality_control", "NORMAL");
+ String param = GsonUtils.toJson(map);
+ // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
+ String accessToken = getAuth();
+ String result = HttpUtil.post(url, accessToken, "application/json", param);
+ System.out.println(result);
+ return result;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+
+ }
+
+
@RequestMapping(value = "movePic", method = RequestMethod.GET)
@ApiOperation("转移下发失败的图片到批量图片库")
public void movePic(@RequestParam("schoolId") int schoolId, @RequestParam("userType") int usertype, @RequestParam("deviceId") String deviceId) {
@@ -449,7 +475,8 @@ public class UserControl {
- private String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token="+ AuthService.getAuth();
+ private String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token="+AuthService.getAuth();
+// + AuthService.getAuth();
private String getAnswer(String imgUrl, int type) {
RestTemplate restTemplate = new RestTemplate();
diff --git a/cloud/dahua/src/main/java/com/example/dahua/utils/AuthService.java b/cloud/dahua/src/main/java/com/example/dahua/utils/AuthService.java
new file mode 100644
index 0000000..69539fa
--- /dev/null
+++ b/cloud/dahua/src/main/java/com/example/dahua/utils/AuthService.java
@@ -0,0 +1,93 @@
+package com.example.dahua.utils;
+
+import org.json.JSONObject;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+/**
+ * 获取token类
+ */
+public class AuthService {
+ //设置APPID/AK/SK
+ public static final String APP_ID = "15990462";
+ public static final String API_KEY = "t70Rzr6SGmfU9S6MrqAkspsY";
+ public static final String SECRET_KEY = "nSqpqtrf7cCjo8vOB9knL85nwWNoxwvS ";
+ /**
+ * 获取权限token
+ * @return 返回示例:
+ * {
+ * "access_token": "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567",
+ * "expires_in": 2592000
+ * }
+ */
+ //获取文字识别id
+ public static String getAuth() {
+ // 官网获取的 API Key 更新为你注册的
+ String clientId = "t70Rzr6SGmfU9S6MrqAkspsY";
+ // 官网获取的 Secret Key 更新为你注册的
+ String clientSecret = "nSqpqtrf7cCjo8vOB9knL85nwWNoxwvS";
+ return getAuth(clientId, clientSecret);
+ }
+
+ public static String getFaceAuthToken() {
+ // 官网获取的 API Key 更新为你注册的
+ String clientId = "u6rV4YxRZmwzKj56N0DCW8eO";
+ // 官网获取的 Secret Key 更新为你注册的
+ String clientSecret = "Krp3KhmIBdnNEsRa1LavMHuZl0KhQGVm";
+ return getAuth(clientId, clientSecret);
+ }
+
+ /**
+ * 获取API访问token
+ * 该token有一定的有效期,需要自行管理,当失效时需重新获取.
+ * @param ak - 百度云官网获取的 API Key
+ * @param sk - 百度云官网获取的 Securet Key
+ * @return assess_token 示例:
+ * "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567"
+ */
+ public static String getAuth(String ak, String sk) {
+ // 获取token地址
+ String authHost = "https://aip.baidubce.com/oauth/2.0/token?";
+ String getAccessTokenUrl = authHost
+ // 1. grant_type为固定参数
+ + "grant_type=client_credentials"
+ // 2. 官网获取的 API Key
+ + "&client_id=" + ak
+ // 3. 官网获取的 Secret Key
+ + "&client_secret=" + sk;
+ try {
+ URL realUrl = new URL(getAccessTokenUrl);
+ // 打开和URL之间的连接
+ HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();
+ connection.setRequestMethod("GET");
+ connection.connect();
+ // 获取所有响应头字段
+// Map> map = connection.getHeaderFields();
+// // 遍历所有的响应头字段
+// for (String key : map.keySet()) {
+// System.err.println(key + "--->" + map.get(key));
+// }
+ // 定义 BufferedReader输入流来读取URL的响应
+ BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+ String result = "";
+ String line;
+ while ((line = in.readLine()) != null) {
+ result += line;
+ }
+ /**
+ * 返回结果示例
+ */
+// System.err.println("result:" + result);
+ JSONObject jsonObject = new JSONObject(result);
+ String access_token = jsonObject.getString("access_token");
+ return access_token;
+ } catch (Exception e) {
+ System.err.printf("获取token失败!");
+ e.printStackTrace(System.err);
+ }
+ return null;
+ }
+}
diff --git a/cloud/dahua/src/main/java/com/example/dahua/utils/HttpUtils.java b/cloud/dahua/src/main/java/com/example/dahua/utils/HttpUtils.java
index 1a0d561..ebd1710 100644
--- a/cloud/dahua/src/main/java/com/example/dahua/utils/HttpUtils.java
+++ b/cloud/dahua/src/main/java/com/example/dahua/utils/HttpUtils.java
@@ -7,9 +7,12 @@ import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
+import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.client.RestTemplate;
import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
public class HttpUtils {
@@ -49,4 +52,13 @@ public class HttpUtils {
}
+ public static boolean imgsSend(String schoolId, int type){
+ String url = "http://121.40.109.21:8991/file/imgsSend?schoolId="+schoolId+"&type="+type;
+ RestTemplate restTemplate = new RestTemplate();
+ ResponseEntity result = restTemplate.getForEntity(url,Boolean.class);
+ System.out.println("result:"+result.getBody());
+ return result.getBody();
+ }
+
+
}
diff --git a/cloud/dahua/src/main/resources/application.yaml b/cloud/dahua/src/main/resources/application.yaml
deleted file mode 100644
index 949e07a..0000000
--- a/cloud/dahua/src/main/resources/application.yaml
+++ /dev/null
@@ -1,62 +0,0 @@
-server:
- port: 8991
-#spring:
-# datasource:
-# username: szjxtuser
-# password: RQminVCJota3H1u8bBYH
-# url: jdbc:sqlserver://116.62.155.137:33419;database=SmartCampus
-# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-# application:
-# name: dahuaserver
-
-spring:
- datasource:
- campus:
- username: szjxtuser
- password: RQminVCJota3H1u8bBYH
- jdbc-url: jdbc:sqlserver://116.62.155.137:33419;database=SmartCampus
- driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-# username: SZJXTUSER
-# password: xst200919
-# jdbc-url: jdbc:sqlserver://60.190.202.57:14333;database=SmartCampusSZ
-# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- xiaoan:
- jdbc-url: jdbc:sqlserver://116.62.241.27:33419;database=xiaoanhxy
- username: szjxtuser
- password: RQminVCJota3H1u8bBYH
- driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-# jdbc-url: jdbc:sqlserver://60.190.202.57:14333;database=xiaoanhxy
-# username: SZJXTUSER
-# password: xst200919
-# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- application:
- name: dahuaserver
-
-
-eureka:
- instance:
- hostname: localhost
- lease-expiration-duration-in-seconds: 60
- lease-renewal-interval-in-seconds: 10
- prefer-ip-address: true
- client:
- service-url:
-# defaultZone: http://localhost:8761/eureka/
- defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/
-
-mybatis:
- campus:
- type-aliases-package: com.example.dahua.dao
- mapper-locations: classpath:mapper/*.xml
- xiaoan:
- type-aliases-package: com.example.dahua.xiananDao
- mapper-locations: classpath:xiaoanmapper/*.xml
- config-location: classpath:mybatis-config.xml
-
-
-#haikangpic: E:\wwwhtdocs\HFface\FaceLogs\
-
-#haikangfaceurl: http://60.190.202.57:8899
-
-
-
diff --git a/cloud/dahua/src/main/resources/application.yml b/cloud/dahua/src/main/resources/application.yml
new file mode 100644
index 0000000..9c00388
--- /dev/null
+++ b/cloud/dahua/src/main/resources/application.yml
@@ -0,0 +1,48 @@
+#spring:
+# datasource:
+# username: szjxtuser
+# password: RQminVCJota3H1u8bBYH
+# url: jdbc:sqlserver://116.62.155.137:33419;database=SmartCampus
+# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+# application:
+# name: dahuaserver
+
+spring:
+ datasource:
+ campus:
+ username: szjxtuser
+ password: RQminVCJota3H1u8bBYH
+ jdbc-url: jdbc:sqlserver://116.62.155.137:33419;database=SmartCampus
+ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+# username: SZJXTUSER
+# password: xst200919
+# jdbc-url: jdbc:sqlserver://60.190.202.57:14333;database=SmartCampusSZ
+# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+ xiaoan:
+ jdbc-url: jdbc:sqlserver://116.62.241.27:33419;database=xiaoanhxy
+ username: szjxtuser
+ password: RQminVCJota3H1u8bBYH
+ driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+# jdbc-url: jdbc:sqlserver://60.190.202.57:14333;database=xiaoanhxy
+# username: SZJXTUSER
+# password: xst200919
+# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+
+
+
+mybatis:
+ campus:
+ type-aliases-package: com.example.dahua.dao
+ mapper-locations: classpath:mapper/*.xml
+ xiaoan:
+ type-aliases-package: com.example.dahua.xiananDao
+ mapper-locations: classpath:xiaoanmapper/*.xml
+ config-location: classpath:mybatis-config.xml
+
+
+#haikangpic: E:\wwwhtdocs\HFface\FaceLogs\
+
+#haikangfaceurl: http://60.190.202.57:8899
+
+
+
diff --git a/cloud/dahua/src/main/resources/bootstrap.yml b/cloud/dahua/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..88d5266
--- /dev/null
+++ b/cloud/dahua/src/main/resources/bootstrap.yml
@@ -0,0 +1,40 @@
+#端口
+server:
+ port: 8991 #固定端口
+# port: ${randomServerPort.value[5000,5005]} #随机端口
+
+#服务名称
+spring:
+ application:
+ name: dahua
+
+#management:
+# endpoints:
+# web:
+# exposure:
+# include: "*"
+# endpoint:
+# health:
+# show-details: always
+
+#eureka client配置
+eureka:
+ client:
+ serviceUrl:
+# defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
+ defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/
+ #http://134.224.249.33:1111/eureka/ 正式库
+ #http://134.224.249.33:1111/eureka/ 测试库
+ #http://127.0.0.1:8761/eureka,http://127.0.0.1:8762/eureka
+ registry-fetch-interval-seconds: 5
+ instance-info-replication-interval-seconds: 10
+ instance:
+# prefer-ip-address: false
+ instance-id: ${spring.application.name}
+# instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${server.port}} #固定端口
+# instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${randomServerPort.value[5000,5005]}} #随机端口
+ lease-renewal-interval-in-seconds: 10 #每隔几秒告诉eureka服务器我还存活,用于心跳检测
+ lease-expiration-duration-in-seconds: 10 #如果心跳检测一直没有发送,10秒后会从eureka服务器中将此服务剔除
+# status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/doc.html # ${server.port}为该服务的端口号
+ hostname: 114.55.30.100
+# status-page-url: http://${spring.cloud.client.ip-address}:${randomServerPort.value[5000,5005]}/document.html # ${server.port}为该服务的端口号
\ No newline at end of file
diff --git a/cloud/fIle-center/src/main/java/com/sincere/file/control/FileControl.java b/cloud/fIle-center/src/main/java/com/sincere/file/control/FileControl.java
index 9a71f30..41fe4ec 100644
--- a/cloud/fIle-center/src/main/java/com/sincere/file/control/FileControl.java
+++ b/cloud/fIle-center/src/main/java/com/sincere/file/control/FileControl.java
@@ -43,17 +43,32 @@ public class FileControl {
FileService fileService;
@PostMapping("fileUpload")
- @ApiOperation("上传文件")
+ @ApiOperation("上传文件(重复文件会新增1)")
public String fileUpload(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws Exception {
String ossPath = request.getHeader("ossPath");//oss的二级目录
+
+ FileInfo fileInfo = fileService.upload(file, ossPath);
+
+ return fileInfo.getUrl();
+
+ }
+
+
+ @PostMapping("fileUpload1")
+ @ApiOperation("上传文件")
+ public String fileUpload1(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws Exception {
+
+ String ossPath = request.getHeader("ossPath");//oss的二级目录
+
FileInfo fileInfo = fileService.upload(file, ossPath);
return fileInfo.getUrl();
}
+
@DeleteMapping("deleteFile/{fileName}")
@ApiOperation("删除文件")
public boolean deleteFile(@PathVariable String fileName, HttpServletRequest request) {
diff --git a/cloud/fIle-center/src/main/java/com/sincere/file/service/impl/AliyunOssServiceImpl.java b/cloud/fIle-center/src/main/java/com/sincere/file/service/impl/AliyunOssServiceImpl.java
index f999f37..a577cc0 100644
--- a/cloud/fIle-center/src/main/java/com/sincere/file/service/impl/AliyunOssServiceImpl.java
+++ b/cloud/fIle-center/src/main/java/com/sincere/file/service/impl/AliyunOssServiceImpl.java
@@ -9,6 +9,7 @@ import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
+import java.util.UUID;
/**
* @author 作者 owen E-mail: 624191343@qq.com
@@ -41,8 +42,9 @@ public class AliyunOssServiceImpl extends AbstractFileService {
@Override
protected void uploadFile(MultipartFile file, FileInfo fileInfo,String filePath) throws Exception {
- ossClient.putObject(bucketName, filePath+"/"+fileInfo.getName(), file.getInputStream());
- fileInfo.setUrl(domain+"/" +filePath+ "/" + fileInfo.getName());
+ String fileName = UUID.randomUUID().toString()+"."+fileInfo.getName().split("\\.")[1];
+ ossClient.putObject(bucketName, filePath+"/"+fileName, file.getInputStream());
+ fileInfo.setUrl(domain+"/" +filePath+ "/" + fileName);
}
@Override
diff --git a/cloud/getaway/src/main/java/com/sincere/getaway/client/filter/AccessFilter.java b/cloud/getaway/src/main/java/com/sincere/getaway/client/filter/AccessFilter.java
index 4919a65..88b9c72 100644
--- a/cloud/getaway/src/main/java/com/sincere/getaway/client/filter/AccessFilter.java
+++ b/cloud/getaway/src/main/java/com/sincere/getaway/client/filter/AccessFilter.java
@@ -46,6 +46,7 @@ public class AccessFilter implements GlobalFilter, Ordered {
@Override
public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) {
String accessToken = this.extractToken(exchange.getRequest());
+ System.out.println("path:"+exchange.getRequest().getPath().value());
// 默认
boolean flag = false;
for (String ignored :permitUrlProperties.getIgnored()) {
diff --git a/cloud/getaway/src/main/java/com/sincere/getaway/client/filter/SwaggerHeaderFilter.java b/cloud/getaway/src/main/java/com/sincere/getaway/client/filter/SwaggerHeaderFilter.java
index b0308d1..c2db915 100644
--- a/cloud/getaway/src/main/java/com/sincere/getaway/client/filter/SwaggerHeaderFilter.java
+++ b/cloud/getaway/src/main/java/com/sincere/getaway/client/filter/SwaggerHeaderFilter.java
@@ -21,6 +21,9 @@ public class SwaggerHeaderFilter extends AbstractGatewayFilterFactory {
return (exchange, chain) -> {
ServerHttpRequest request = exchange.getRequest();
String path = request.getURI().getPath();
+
+ System.out.println("path:"+path);
+
if (!StringUtils.endsWithIgnoreCase(path, SwaggerProvider.API_URI)) {
return chain.filter(exchange);
}
diff --git a/cloud/getaway/src/main/resources/application.yml b/cloud/getaway/src/main/resources/application.yml
index 7320d89..fdb9c82 100644
--- a/cloud/getaway/src/main/resources/application.yml
+++ b/cloud/getaway/src/main/resources/application.yml
@@ -55,6 +55,13 @@ spring:
- Path=/NewSmartCampus/**
filters:
- StripPrefix=1
+ - id: dahua
+# uri: lb://dahua
+ uri: http://114.55.30.100:8991
+ predicates:
+ - Path=/dahua/**
+ filters:
+ - StripPrefix=1
# default-filters:
# - DedupeResponseHeader=Access-Control-Allow-Origin, RETAIN_UNIQUE
# discovery:
@@ -78,4 +85,4 @@ ribbon:
url:
- ignored: /SmartCampusWebApi/**,/authserver/**,/NewSmartCampus/**,/file-center/**
\ No newline at end of file
+ ignored: /SmartCampusWebApi/**,/authserver/**,/NewSmartCampus/**,/file-center/**,/dahua/**
\ No newline at end of file
diff --git a/cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java b/cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java
index 8de1466..6be5ce2 100644
--- a/cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java
+++ b/cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java
@@ -398,7 +398,7 @@ public class CMSServer implements ApplicationRunner {
strXMLData.read();
String strXML = new String(strXMLData.byValue);
-// System.out.println(strXML);
+ System.out.println(strXML);
if (null == alarmUtils) {
alarmUtils = new AlarmUtils(deviceDao);
diff --git a/cloud/mypulsar/src/main/java/com/example/mypulsar/MyRunnerableInt.java b/cloud/mypulsar/src/main/java/com/example/mypulsar/MyRunnerableInt.java
index 5be42e7..fae8464 100644
--- a/cloud/mypulsar/src/main/java/com/example/mypulsar/MyRunnerableInt.java
+++ b/cloud/mypulsar/src/main/java/com/example/mypulsar/MyRunnerableInt.java
@@ -199,7 +199,7 @@ public class MyRunnerableInt implements ApplicationRunner {
String value = statue.getValue();
deviceBean.setValue(value);
- System.out.println("插入数据:" +value);
+ System.out.println(devId+"-插入数据:" +value);
switch (code) {
case "va_temperature"://温度
deviceBean.setValue(Integer.parseInt(value)/100+"");
@@ -263,8 +263,14 @@ public class MyRunnerableInt implements ApplicationRunner {
case "pir"://人体感应
log("人体感应:" + value);
value = (value.equals("pir") ? "有人" : "无人");
+
deviceBean.setValue(value);
- calOpenOrCloseDevWithPir(deviceBean);
+ try {
+ Thread.sleep(1000);
+ calOpenOrCloseDevWithPir(deviceBean);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
break;
case "cur_voltage"://当前电压
// value = Integer.parseInt(value) / 10 + "V";
@@ -293,6 +299,7 @@ public class MyRunnerableInt implements ApplicationRunner {
private void calOpenOrCloseDevWithPir(DeviceBean deviceBean) {
List calDevContrls = deviceDao.getCalDevContrlWidthDevId(deviceBean.getDevId());
+ System.out.println("calOpenOrCloseDevWithPir:"+calDevContrls.toString());
if (null != calDevContrls && calDevContrls.size() > 0) {
if (deviceBean.getValue().equals("有人")) deviceBean.setValue("1");
else deviceBean.setValue("0");
diff --git a/cloud/mypulsar/src/main/java/com/example/mypulsar/dao/DeviceDao.java b/cloud/mypulsar/src/main/java/com/example/mypulsar/dao/DeviceDao.java
index 366e7a9..c983541 100644
--- a/cloud/mypulsar/src/main/java/com/example/mypulsar/dao/DeviceDao.java
+++ b/cloud/mypulsar/src/main/java/com/example/mypulsar/dao/DeviceDao.java
@@ -43,6 +43,6 @@ public interface DeviceDao {
@Select("select * from CalDevContrl where Devid = #{Devid} and Status = 1")
List getCalDevContrlWidthDevId(@Param("Devid") String devId);
- @Select("select * from CalDevContrl where State = 1 and Id = #{Id}")
+ @Select("select * from CalDevBeContrl where State = 1 and Id = #{Id}")
CalDevBeContrl getCalDevBeControl(@Param("Id") String Id);
}
diff --git a/cloud/mypulsar/src/main/java/com/example/mypulsar/utils/ControlUtils.java b/cloud/mypulsar/src/main/java/com/example/mypulsar/utils/ControlUtils.java
index c9a4114..13ab8af 100644
--- a/cloud/mypulsar/src/main/java/com/example/mypulsar/utils/ControlUtils.java
+++ b/cloud/mypulsar/src/main/java/com/example/mypulsar/utils/ControlUtils.java
@@ -47,7 +47,9 @@ public class ControlUtils {
calDevContrls) {
String inUseTime = cal.getInUserTime();//联动的时间范围,[{"Week":"5","StartTime":"14:02","EndTime":"14:06"}]
+
if (inUseTime == null) break;
+// System.out.println("inUseTime:"+inUseTime);
try {
JSONArray jsonArray = new JSONArray(inUseTime);
@@ -72,9 +74,9 @@ public class ControlUtils {
Date date = simpleDateFormat1.parse(new Date().getHours() + ":" + new Date().getMinutes() + ":" + new Date().getSeconds());
long starTime = startDate.getTime();
- System.out.println("startDate:" + starTime);
- System.out.println("endDate:" + endDate.getTime());
- System.out.println("date:" + date.getTime());
+// System.out.println("startDate:" + starTime);
+// System.out.println("endDate:" + endDate.getTime());
+// System.out.println("date:" + date.getTime());
if (date.getTime() < endDate.getTime() && date.getTime() > starTime) {
//比较器类型
@@ -82,7 +84,7 @@ public class ControlUtils {
switch (compreType) {
case 1://固定值
- calCompre(cal, deviceBean);
+ calCompre(cal,deviceBean);
break;
case 2://当天日期
@@ -92,7 +94,7 @@ public class ControlUtils {
}
- System.out.println("jsonObject:" + jsonObject.toString());
+// System.out.println("jsonObject:" + jsonObject.toString());
}
} catch (JSONException e) {
@@ -181,7 +183,8 @@ public class ControlUtils {
String assDevice = cal.getAssDevice();//联动的设备id
- boolean isExit = isExist(assDevice.split(","));
+// boolean isExit = isExist(assDevice.split(","));
+ boolean isExit = true;
System.out.println("是否符合联动条件:" + isExit);
@@ -214,7 +217,8 @@ public class ControlUtils {
HttpUtil.addAirCode(conValue, conDevId);
break;
case 10://开关
- HttpUtil.controlDev(conDevId, conCode, conValue);
+// HttpUtil.controlDev(conDevId, conCode, conValue);
+ HttpUtil.addAirCode(conValue, conDevId);
break;
case 12://万能遥控器
HttpUtil.addAirCode(conValue, conDevId);
diff --git a/cloud/mypulsar/src/main/java/com/example/mypulsar/utils/HttpUtil.java b/cloud/mypulsar/src/main/java/com/example/mypulsar/utils/HttpUtil.java
index 2285e49..623799b 100644
--- a/cloud/mypulsar/src/main/java/com/example/mypulsar/utils/HttpUtil.java
+++ b/cloud/mypulsar/src/main/java/com/example/mypulsar/utils/HttpUtil.java
@@ -88,7 +88,7 @@ public class HttpUtil {
result += getLine;
}
in.close();
- System.err.println("result:" + result);
+// System.err.println("result:" + result);
return result;
}
@@ -112,7 +112,7 @@ public class HttpUtil {
String responseEntity = restTemplate.postForObject(url, tuYaCommand, String.class);
- System.out.println("tuYaCommand:" + tuYaCommand.toString());
+ System.out.println("tuYaCommand:" + tuYaCommand.toString()+"----deviceId:"+deviceId);
System.out.println("responseEntity:" + responseEntity);
return responseEntity.equals("1");
}
@@ -144,11 +144,12 @@ public class HttpUtil {
JSONObject jsonObject = new JSONObject(conValue);
tuYaAirCondition.setMode(jsonObject.getString("mode"));
tuYaAirCondition.setPower(jsonObject.getString("power"));
- tuYaAirCondition.setRemote_id(jsonObject.getString("remote_index"));
+ tuYaAirCondition.setRemote_id(jsonObject.getString("remote_id"));
tuYaAirCondition.setWind(jsonObject.getString("wind"));
tuYaAirCondition.setTemp(jsonObject.getString("temp"));
tuYaAirCondition.setRemote_index(jsonObject.getString("remote_index"));
+
} catch (JSONException e) {
e.printStackTrace();
}
diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/UserController.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/UserController.java
index 992e99d..d51ee87 100644
--- a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/UserController.java
+++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/UserController.java
@@ -23,4 +23,19 @@ public class UserController {
String selectStudentNumByStudentId(@RequestParam("studentId") int studentId){
return userService.selectStudentNumByStudentId(studentId);
}
+
+
+
+ @RequestMapping(value = "getStudent_NumWitdCode",method = RequestMethod.GET)
+ String getStudent_NumWitdCode(@RequestParam("studentcode") String studentcode){
+ return userService.getStudent_NumWitdCode(studentcode);
+ }
+
+
+ @RequestMapping(value = "getTeacherWithstudentcode",method = RequestMethod.GET)
+ String getTeacherWithstudentcode(@RequestParam("num") String num,@RequestParam("schoolId") String schoolId){
+ return userService.getTeacherWithstudentcode(num,schoolId);
+ }
+
+
}
diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/UserMapper.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/UserMapper.java
index 8c866b5..1be9524 100644
--- a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/UserMapper.java
+++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/UserMapper.java
@@ -8,4 +8,13 @@ package com.sincere.smartSearch.mapper;
public interface UserMapper {
String selectStudentNumByStudentId(int studentId);
+
+ @Select("select Top(1)*\n" +
+ "from SZ_V_School_Teacher\n" +
+ "where num = #{num} and school_id = #{schoolId}")
+ StudentBean getTeacherWithstudentcode(@Param("num") String num,@Param("schoolId")String schoolId);
+
+ @Select("select Top(1) * from SZ_V_School_Student where studentcode = #{studentcode}")
+ StudentBean getStudent_NumWitdCode(@Param("studentcode") String studentcode);
+
}
diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/model/StudentBean.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/model/StudentBean.java
new file mode 100644
index 0000000..c4a7982
--- /dev/null
+++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/model/StudentBean.java
@@ -0,0 +1,307 @@
+package com.sincere.haikangface.bean;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class StudentBean implements Serializable {
+
+ private String teacher_id;
+
+ private String parent_id;
+
+ private long ID;
+
+ private String UserId;
+
+ private String CustomerId;
+
+ private int StudentType;
+
+ private int UserType;
+
+ private String name;
+
+ private int ClassId;
+
+ private String ClassName;
+
+ private String OldCard;
+
+ private String Card;
+
+ private int SchoolId;
+
+ private int school_id;
+
+ private int IsNew;
+
+ private int UpdateType;
+
+ private Date AddTime;
+
+ private int Sex;
+
+ private String Face;
+
+ private String studentcode;
+
+ private String student_num;
+
+ private String student_id;
+
+ private String user_id;
+
+ private String photo;
+
+ private String teacher_num;
+
+ private String num;
+
+ public String getNum() {
+ return num;
+ }
+
+ public void setNum(String num) {
+ this.num = num;
+ }
+
+ public String getTeacher_num() {
+ return teacher_num;
+ }
+
+ public void setTeacher_num(String teacher_num) {
+ this.teacher_num = teacher_num;
+ }
+
+ public String getPhoto() {
+ return photo;
+ }
+
+ public void setPhoto(String photo) {
+ this.photo = photo;
+ }
+
+ public String getUser_id() {
+ return user_id;
+ }
+
+ public void setUser_id(String user_id) {
+ this.user_id = user_id;
+ }
+
+ public String getStudentcode() {
+ return studentcode;
+ }
+
+ public void setStudentcode(String studentcode) {
+ this.studentcode = studentcode;
+ }
+
+ public String getUserId() {
+ return UserId;
+ }
+
+ public void setUserId(String userId) {
+ UserId = userId;
+ }
+
+ public String getCustomerId() {
+ return CustomerId;
+ }
+
+ public void setCustomerId(String customerId) {
+ CustomerId = customerId;
+ }
+
+ public int getStudentType() {
+ return StudentType;
+ }
+
+ public void setStudentType(int studentType) {
+ StudentType = studentType;
+ }
+
+ public int getUserType() {
+ return UserType;
+ }
+
+ public String getTeacher_id() {
+ return teacher_id;
+ }
+
+ public String getParent_id() {
+ return parent_id;
+ }
+
+ public void setParent_id(String parent_id) {
+ this.parent_id = parent_id;
+ }
+
+ public void setTeacher_id(String teacher_id) {
+ this.teacher_id = teacher_id;
+ }
+
+ public void setUserType(int userType) {
+ UserType = userType;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getClassId() {
+ return ClassId;
+ }
+
+ public void setClassId(int classId) {
+ ClassId = classId;
+ }
+
+ public String getClassName() {
+ return ClassName;
+ }
+
+ public void setClassName(String className) {
+ ClassName = className;
+ }
+
+ public String getOldCard() {
+ return OldCard;
+ }
+
+ public void setOldCard(String oldCard) {
+ OldCard = oldCard;
+ }
+
+ public String getCard() {
+ return Card;
+ }
+
+ public int getSchool_id() {
+ return school_id;
+ }
+
+ public void setSchool_id(int school_id) {
+ this.school_id = school_id;
+ }
+
+ public String getStudent_num() {
+ return student_num;
+ }
+
+ public void setStudent_num(String student_num) {
+ this.student_num = student_num;
+ }
+
+ public void setCard(String card) {
+ Card = card;
+ }
+
+ public int getSchoolId() {
+ return SchoolId;
+ }
+
+ public void setSchoolId(int schoolId) {
+ SchoolId = schoolId;
+ }
+
+ public int getIsNew() {
+ return IsNew;
+ }
+
+ public void setIsNew(int isNew) {
+ IsNew = isNew;
+ }
+
+ public int getUpdateType() {
+ return UpdateType;
+ }
+
+ public void setUpdateType(int updateType) {
+ UpdateType = updateType;
+ }
+
+ public Date getAddTime() {
+ return AddTime;
+ }
+
+ public void setAddTime(Date addTime) {
+ AddTime = addTime;
+ }
+
+ public int getSex() {
+ return Sex;
+ }
+
+ public void setSex(int sex) {
+ Sex = sex;
+ }
+
+ public String getFace() {
+ return Face;
+ }
+
+ public void setFace(String face) {
+ Face = face;
+ }
+
+ public String getStudentCode() {
+ return studentcode;
+ }
+
+ public void setStudentCode(String studentCode) {
+ this.studentcode = studentCode;
+ }
+
+ public long getID() {
+ return ID;
+ }
+
+ public void setID(long ID) {
+ this.ID = ID;
+ }
+
+ public String getStudent_id() {
+ return student_id;
+ }
+
+ public void setStudent_id(String student_id) {
+ this.student_id = student_id;
+ }
+
+ @Override
+ public String toString() {
+ return "StudentBean{" +
+ "teacher_id='" + teacher_id + '\'' +
+ ", parent_id='" + parent_id + '\'' +
+ ", ID=" + ID +
+ ", UserId='" + UserId + '\'' +
+ ", CustomerId='" + CustomerId + '\'' +
+ ", StudentType=" + StudentType +
+ ", UserType=" + UserType +
+ ", name='" + name + '\'' +
+ ", ClassId=" + ClassId +
+ ", ClassName='" + ClassName + '\'' +
+ ", OldCard='" + OldCard + '\'' +
+ ", Card='" + Card + '\'' +
+ ", SchoolId=" + SchoolId +
+ ", school_id=" + school_id +
+ ", IsNew=" + IsNew +
+ ", UpdateType=" + UpdateType +
+ ", AddTime=" + AddTime +
+ ", Sex=" + Sex +
+ ", Face='" + Face + '\'' +
+ ", studentcode='" + studentcode + '\'' +
+ ", student_num='" + student_num + '\'' +
+ ", student_id='" + student_id + '\'' +
+ ", user_id='" + user_id + '\'' +
+ ", photo='" + photo + '\'' +
+ ", teacher_num='" + teacher_num + '\'' +
+ ", num='" + num + '\'' +
+ '}';
+ }
+}
diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/UserService.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/UserService.java
index 5a27520..8bd3543 100644
--- a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/UserService.java
+++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/UserService.java
@@ -9,4 +9,8 @@ public interface UserService {
String selectStudentNumByStudentId(int studentId);
+ StudentBean getTeacherWithstudentcode(String num,String schoolId);
+
+ StudentBean getStudent_NumWitdCode(String studentcode);
+
}
diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/UserServiceImpl.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/UserServiceImpl.java
index 31ce0fd..505d9d4 100644
--- a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/UserServiceImpl.java
+++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/UserServiceImpl.java
@@ -20,4 +20,17 @@ public class UserServiceImpl implements UserService {
public String selectStudentNumByStudentId(int studentId) {
return userMapper.selectStudentNumByStudentId(studentId);
}
+
+
+ @Override
+ public StudentBean getStudent_NumWitdCode(String studentcode) {
+ return userMapper.getStudent_NumWitdCode(studentcode);
+ }
+
+
+ @Override
+ public StudentBean getTeacherWithstudentcode(String num,String schoolId) {
+ return userMapper.getTeacherWithstudentcode(num,schoolId);
+ }
+
}
diff --git a/cloud/server1/src/main/java/com/sincere/server1/FileUtils.java b/cloud/server1/src/main/java/com/sincere/server1/FileUtils.java
new file mode 100644
index 0000000..327b2fb
--- /dev/null
+++ b/cloud/server1/src/main/java/com/sincere/server1/FileUtils.java
@@ -0,0 +1,94 @@
+package com.sincere.server1;
+
+import java.io.*;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * 日志记录、文件操作工具类
+ */
+public class FileUtils {
+
+
+ public static String checkFail = "检测失败.txt";
+ public static String checkSuc = "检测成功.txt";
+ public static String device_login="设备登录id.txt";
+ private static FileUtils fileUtils;
+
+ private String filePath = "./log/";//日志记录目录
+
+ public static String devices = "devices.txt";//设备记录
+
+ public static String sendUserErrTxt = "senduserErr.txt";//用户下发失败记录
+
+ public static String sendUserSucTxt = "senduserSuc.txt";//用户下发成功记录
+
+ public static String qiandaoSuccess = "qiandaoSuccess.txt";//用户签到成功记录
+
+ public static String qiandaoErr = "qiandaoErr.txt";//用户签到失败记录
+
+ public static String sendNodevice = "没有设备.txt";//设备没有
+
+ public static String sendOrder = "下发指令.txt";//学校id记录表
+
+ public static FileUtils getInstance() {
+ if (null == fileUtils) {
+ synchronized (FileUtils.class) {
+ fileUtils = new FileUtils();
+ }
+ }
+ return fileUtils;
+ }
+
+
+ public FileUtils() {
+
+ File filePa = new File(filePath);
+ if (!filePa.exists()) filePa.mkdirs();
+
+ }
+
+
+ /**
+ * @param content 日志内容
+ * @param fileName 文件名字
+ */
+ public void writeLogs(String content, String fileName) {
+
+ String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
+
+ File path = new File(filePath+date);
+ if (!path.exists())path.mkdirs();
+
+ File logPath = new File(filePath+date, fileName);
+
+ try {
+// System.out.println("logPath:" + logPath.getAbsolutePath());
+ if (!logPath.exists()) logPath.createNewFile();
+
+ FileOutputStream fileOutputStream = new FileOutputStream(logPath, true);//true表示文件后面续写
+
+ String writeContent = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())
+ + " " + content + "\r\n";
+
+ OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");
+
+ outputStreamWriter.write(writeContent);
+
+ outputStreamWriter.write("\r\n");
+
+ outputStreamWriter.close();
+
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+
+ }
+
+
+}
diff --git a/cloud/server1/src/main/java/com/sincere/server1/listener/EurekaInstanceCanceledListener.java b/cloud/server1/src/main/java/com/sincere/server1/listener/EurekaInstanceCanceledListener.java
index 32b9f5e..523796e 100644
--- a/cloud/server1/src/main/java/com/sincere/server1/listener/EurekaInstanceCanceledListener.java
+++ b/cloud/server1/src/main/java/com/sincere/server1/listener/EurekaInstanceCanceledListener.java
@@ -4,6 +4,7 @@ package com.sincere.server1.listener;
import com.netflix.discovery.shared.Applications;
import com.netflix.eureka.EurekaServerContextHolder;
import com.netflix.eureka.registry.PeerAwareInstanceRegistry;
+import com.sincere.server1.FileUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceCanceledEvent;
import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceRegisteredEvent;
@@ -29,27 +30,43 @@ public class EurekaInstanceCanceledListener implements ApplicationListener {
PeerAwareInstanceRegistry registry = EurekaServerContextHolder.getInstance().getServerContext().getRegistry();
Applications applications = registry.getApplications();
// 遍历获取已注册节点中与当前失效节点ID一致的节点信息
- applications.getRegisteredApplications().forEach((registeredApplication) -> {
- registeredApplication.getInstances().forEach((instance) -> {
- if (instance.getInstanceId().equals(event.getServerId())) {
- log.debug("服务:" + instance.getAppName() + " 挂啦。。。");
- // // TODO: 2017/9/3 扩展消息提醒 邮件、手机短信、微信等
- }
- });
- });
+ if (null != applications && null != event) {
+ applications.getRegisteredApplications().forEach((registeredApplication) -> {
+
+ registeredApplication.getInstances().forEach((instance) -> {
+
+ if (null != instance && instance.getInstanceId().equals(event.getServerId())) {
+ System.out.println("服务:" + instance.getAppName() + " 挂啦。。。");
+ // // TODO: 2017/9/3 扩展消息提醒 邮件、手机短信、微信等
+ FileUtils.getInstance().writeLogs("服务:" + instance.getAppName() + " 挂啦。。。","服务监控");
+ }
+ });
+
+ });
+ }
}
+
if (applicationEvent instanceof EurekaInstanceRegisteredEvent) {
EurekaInstanceRegisteredEvent event = (EurekaInstanceRegisteredEvent) applicationEvent;
- log.debug("服务:" + event.getInstanceInfo().getAppName() + " 注册成功啦。。。");
+ if (null!=event){
+ System.out.println("服务:" + event.getInstanceInfo().getAppName() + " 注册成功啦。。。");
+ FileUtils.getInstance().writeLogs("服务:" +event.getInstanceInfo().getAppName() + " 注册成功啦。。。","服务注册监控");
+ }else System.out.println("服务EurekaInstanceRegisteredEvent");
}
if (applicationEvent instanceof EurekaInstanceRenewedEvent) {
EurekaInstanceRenewedEvent event = (EurekaInstanceRenewedEvent) applicationEvent;
- log.debug("心跳检测服务:" + event.getInstanceInfo().getAppName() + "。。");
+ if (null!=event){
+ System.out.println("心跳检测服务:" + event.getInstanceInfo().getAppName() + "。。");
+ FileUtils.getInstance().writeLogs("心跳检测服务:" +event.getInstanceInfo().getAppName() + "。。","服务心跳监控");
+ }else {
+ System.out.println("心跳检测服务EurekaInstanceRenewedEvent");
+ }
}
if (applicationEvent instanceof EurekaRegistryAvailableEvent) {
- log.debug("服务 Aualiable。。");
+ System.out.println("服务 Aualiable。。");
+ FileUtils.getInstance().writeLogs("服务 Aualiable。。","服务Aualiable");
}
}
diff --git a/cloud/server2/src/main/java/com/sincere/server2/FileUtils.java b/cloud/server2/src/main/java/com/sincere/server2/FileUtils.java
new file mode 100644
index 0000000..6bf042d
--- /dev/null
+++ b/cloud/server2/src/main/java/com/sincere/server2/FileUtils.java
@@ -0,0 +1,94 @@
+package com.sincere.server2;
+
+import java.io.*;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * 日志记录、文件操作工具类
+ */
+public class FileUtils {
+
+
+ public static String checkFail = "检测失败.txt";
+ public static String checkSuc = "检测成功.txt";
+ public static String device_login="设备登录id.txt";
+ private static FileUtils fileUtils;
+
+ private String filePath = "./log/";//日志记录目录
+
+ public static String devices = "devices.txt";//设备记录
+
+ public static String sendUserErrTxt = "senduserErr.txt";//用户下发失败记录
+
+ public static String sendUserSucTxt = "senduserSuc.txt";//用户下发成功记录
+
+ public static String qiandaoSuccess = "qiandaoSuccess.txt";//用户签到成功记录
+
+ public static String qiandaoErr = "qiandaoErr.txt";//用户签到失败记录
+
+ public static String sendNodevice = "没有设备.txt";//设备没有
+
+ public static String sendOrder = "下发指令.txt";//学校id记录表
+
+ public static FileUtils getInstance() {
+ if (null == fileUtils) {
+ synchronized (FileUtils.class) {
+ fileUtils = new FileUtils();
+ }
+ }
+ return fileUtils;
+ }
+
+
+ public FileUtils() {
+
+ File filePa = new File(filePath);
+ if (!filePa.exists()) filePa.mkdirs();
+
+ }
+
+
+ /**
+ * @param content 日志内容
+ * @param fileName 文件名字
+ */
+ public void writeLogs(String content, String fileName) {
+
+ String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
+
+ File path = new File(filePath+date);
+ if (!path.exists())path.mkdirs();
+
+ File logPath = new File(filePath+date, fileName);
+
+ try {
+// System.out.println("logPath:" + logPath.getAbsolutePath());
+ if (!logPath.exists()) logPath.createNewFile();
+
+ FileOutputStream fileOutputStream = new FileOutputStream(logPath, true);//true表示文件后面续写
+
+ String writeContent = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())
+ + " " + content + "\r\n";
+
+ OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");
+
+ outputStreamWriter.write(writeContent);
+
+ outputStreamWriter.write("\r\n");
+
+ outputStreamWriter.close();
+
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+
+ }
+
+
+}
diff --git a/cloud/server2/src/main/java/com/sincere/server2/listener/EurekaInstanceCanceledListener.java b/cloud/server2/src/main/java/com/sincere/server2/listener/EurekaInstanceCanceledListener.java
index 9455d0e..f937f3e 100644
--- a/cloud/server2/src/main/java/com/sincere/server2/listener/EurekaInstanceCanceledListener.java
+++ b/cloud/server2/src/main/java/com/sincere/server2/listener/EurekaInstanceCanceledListener.java
@@ -4,6 +4,7 @@ package com.sincere.server2.listener;
import com.netflix.discovery.shared.Applications;
import com.netflix.eureka.EurekaServerContextHolder;
import com.netflix.eureka.registry.PeerAwareInstanceRegistry;
+import com.sincere.server2.FileUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceCanceledEvent;
import org.springframework.cloud.netflix.eureka.server.event.EurekaInstanceRegisteredEvent;
@@ -29,27 +30,43 @@ public class EurekaInstanceCanceledListener implements ApplicationListener {
PeerAwareInstanceRegistry registry = EurekaServerContextHolder.getInstance().getServerContext().getRegistry();
Applications applications = registry.getApplications();
// 遍历获取已注册节点中与当前失效节点ID一致的节点信息
- applications.getRegisteredApplications().forEach((registeredApplication) -> {
- registeredApplication.getInstances().forEach((instance) -> {
- if (instance.getInstanceId().equals(event.getServerId())) {
- log.debug("服务:" + instance.getAppName() + " 挂啦。。。");
- // // TODO: 2017/9/3 扩展消息提醒 邮件、手机短信、微信等
- }
- });
- });
+ if (null != applications && null != event) {
+ applications.getRegisteredApplications().forEach((registeredApplication) -> {
+
+ registeredApplication.getInstances().forEach((instance) -> {
+
+ if (null != instance && instance.getInstanceId().equals(event.getServerId())) {
+ System.out.println("服务:" + instance.getAppName() + " 挂啦。。。");
+ // // TODO: 2017/9/3 扩展消息提醒 邮件、手机短信、微信等
+ FileUtils.getInstance().writeLogs("服务:" + instance.getAppName() + " 挂啦。。。","服务监控");
+ }
+ });
+
+ });
+ }
}
+
if (applicationEvent instanceof EurekaInstanceRegisteredEvent) {
EurekaInstanceRegisteredEvent event = (EurekaInstanceRegisteredEvent) applicationEvent;
- log.debug("服务:" + event.getInstanceInfo().getAppName() + " 注册成功啦。。。");
+ if (null!=event){
+ System.out.println("服务:" + event.getInstanceInfo().getAppName() + " 注册成功啦。。。");
+ FileUtils.getInstance().writeLogs("服务:" +event.getInstanceInfo().getAppName() + " 注册成功啦。。。","服务注册监控");
+ }else System.out.println("服务EurekaInstanceRegisteredEvent");
}
if (applicationEvent instanceof EurekaInstanceRenewedEvent) {
EurekaInstanceRenewedEvent event = (EurekaInstanceRenewedEvent) applicationEvent;
- log.debug("心跳检测服务:" + event.getInstanceInfo().getAppName() + "。。");
+ if (null!=event){
+ System.out.println("心跳检测服务:" + event.getInstanceInfo().getAppName() + "。。");
+ FileUtils.getInstance().writeLogs("心跳检测服务:" +event.getInstanceInfo().getAppName() + "。。","服务心跳监控");
+ }else {
+ System.out.println("心跳检测服务EurekaInstanceRenewedEvent");
+ }
}
if (applicationEvent instanceof EurekaRegistryAvailableEvent) {
- log.debug("服务 Aualiable。。");
+ System.out.println("服务 Aualiable。。");
+ FileUtils.getInstance().writeLogs("服务 Aualiable。。","服务Aualiable");
}
}
--
libgit2 0.21.0