Commit 8b94a56aa6a35d3010f5502262068ae94975c3a8
1 parent
09102d07
Exists in
master
修改提交
Showing
34 changed files
with
405 additions
and
195 deletions
Show diff stats
cloud/dahua/pom.xml
... | ... | @@ -156,35 +156,37 @@ |
156 | 156 | <plugin> |
157 | 157 | <groupId>org.springframework.boot</groupId> |
158 | 158 | <artifactId>spring-boot-maven-plugin</artifactId> |
159 | + <executions> | |
160 | + <execution> | |
161 | + <goals> | |
162 | + <goal>repackage</goal> | |
163 | + </goals> | |
164 | + </execution> | |
165 | + </executions> | |
159 | 166 | <configuration> |
160 | 167 | <includeSystemScope>true</includeSystemScope> |
161 | 168 | <layout>ZIP</layout> |
162 | -<!-- <includes>--> | |
163 | -<!-- <include>--> | |
164 | -<!-- <!– 排除所有Jar –>--> | |
165 | -<!-- <groupId>nothing</groupId>--> | |
166 | -<!-- <artifactId>nothing</artifactId>--> | |
167 | -<!-- </include>--> | |
168 | -<!-- </includes>--> | |
169 | + <includes> | |
170 | + <include> | |
171 | + <!-- 排除所有Jar --> | |
172 | + <groupId>nothing</groupId> | |
173 | + <artifactId>nothing</artifactId> | |
174 | + </include> | |
175 | + </includes> | |
169 | 176 | </configuration> |
170 | 177 | </plugin> |
171 | - | |
172 | 178 | <plugin> |
173 | 179 | <groupId>org.apache.maven.plugins</groupId> |
174 | 180 | <artifactId>maven-dependency-plugin</artifactId> |
175 | - <!-- <version>2.2</version><!–$NO-MVN-MAN-VER$ –>--> | |
176 | 181 | <executions> |
177 | 182 | <execution> |
178 | - <id>copy-dependencies</id> | |
183 | + <id>copy</id> | |
179 | 184 | <phase>package</phase> |
180 | 185 | <goals> |
181 | 186 | <goal>copy-dependencies</goal> |
182 | 187 | </goals> |
183 | 188 | <configuration> |
184 | - <outputDirectory>${project.build.directory}/libs</outputDirectory> | |
185 | - <overWriteReleases>true</overWriteReleases> | |
186 | - <overWriteSnapshots>true</overWriteSnapshots> | |
187 | - <overWriteIfNewer>true</overWriteIfNewer> | |
189 | + <outputDirectory>${project.build.directory}/lib</outputDirectory> | |
188 | 190 | </configuration> |
189 | 191 | </execution> |
190 | 192 | </executions> | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/DahuaApplication.java
... | ... | @@ -37,7 +37,7 @@ import java.util.concurrent.TimeUnit; |
37 | 37 | @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, MybatisAutoConfiguration.class}) |
38 | 38 | @SpringBootApplication |
39 | 39 | @MapperScan("com.example.dahua.dao") |
40 | -@EnableDiscoveryClient | |
40 | +//@EnableDiscoveryClient | |
41 | 41 | @EnableScheduling |
42 | 42 | public class DahuaApplication { |
43 | 43 | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/MyTask.java
... | ... | @@ -420,18 +420,19 @@ public class MyTask implements ApplicationRunner { |
420 | 420 | String userId = new String(msg.szUserID).trim(); |
421 | 421 | //开门错误码 |
422 | 422 | int messageCode = msg.nErrorCode; |
423 | - log.info("设备ID: {}, 开门用户ID: {}, 开门卡号: {}",szSn,userId,card); | |
424 | 423 | //处理心跳 |
425 | 424 | saveAttendanceService(szSn,"",0,1); |
425 | + String newCard = ""; | |
426 | 426 | try { |
427 | 427 | if (!StringUtils.isEmpty(card)) { |
428 | 428 | //根据卡号获取卡身份信息 |
429 | 429 | CardBean cardBean = myTaskUtil.userDao.getCards(card); |
430 | 430 | if(cardBean ==null){ |
431 | - card = cardNo(card); | |
432 | - cardBean = myTaskUtil.userDao.getCards(card); | |
431 | + newCard = cardNo(card); | |
432 | + cardBean = myTaskUtil.userDao.getCards(newCard); | |
433 | 433 | } |
434 | 434 | if(cardBean ==null){ |
435 | + log.info("卡号有误!!设备ID: 【{}】,上报卡号: 【{}】",szSn,card); | |
435 | 436 | return -1; |
436 | 437 | } |
437 | 438 | // 缓存抓拍人脸 |
... | ... | @@ -450,6 +451,7 @@ public class MyTask implements ApplicationRunner { |
450 | 451 | if(attendanceBean !=null){ |
451 | 452 | if(!StringUtils.isEmpty(attendanceBean.getSchool_id())){ |
452 | 453 | int schoolId = Integer.parseInt(attendanceBean.getSchool_id()); |
454 | + String clintName = attendanceBean.getName(); | |
453 | 455 | //门禁进出类型:1进0出 |
454 | 456 | int eventType = 0; |
455 | 457 | if(StringUtils.isEmpty(attendanceBean.getOutOrIn())){ |
... | ... | @@ -460,30 +462,42 @@ public class MyTask implements ApplicationRunner { |
460 | 462 | //刷卡时间 |
461 | 463 | String eventTime = DateUtils.date2String(new Date(), DateUtils.format2); |
462 | 464 | //老师 |
465 | + TeacherBean teacherBean = null; | |
463 | 466 | if (cardBean.getType() == 0) { |
464 | 467 | //老师人脸信息,保存人脸记录表 |
465 | - TeacherBean teacherBean = myTaskUtil.userDao.getTeacherWithId(cardBean.getUser_id()); | |
468 | + teacherBean = myTaskUtil.userDao.getTeacherWithId(cardBean.getUser_id()); | |
469 | +// log.info("设备信息【{}】,学生卡信息【{}】",new Gson().toJson(attendanceBean),new Gson().toJson(teacherBean)); | |
466 | 470 | myTaskUtil.sendRecordDao.addFaceRecoder(szSn, teacherBean.getUser_id(), teacherBean.getName(), snapPicPath,eventType, |
467 | - eventTime, card,messageCode ==20?EnumSendFaceType.TIME_INTERVAL_ERROR.message:""); | |
471 | + eventTime, card,messageCode ==20?EnumSendFaceType.TIME_INTERVAL_ERROR.message:"",schoolId); | |
468 | 472 | } |
469 | 473 | UserInfoBean userInfoBean = null; |
470 | 474 | if (cardBean.getType() == 2) { |
471 | 475 | //学生人脸信息,保存人脸记录表 |
472 | 476 | userInfoBean = myTaskUtil.userDao.getStudentWithid(cardBean.getUser_id()); |
473 | 477 | myTaskUtil.sendRecordDao.addFaceRecoder(szSn, userInfoBean.getUser_id(), userInfoBean.getName(), snapPicPath,eventType, |
474 | - eventTime, card,messageCode ==20?EnumSendFaceType.TIME_INTERVAL_ERROR.message:""); | |
478 | + eventTime, card,messageCode ==20?EnumSendFaceType.TIME_INTERVAL_ERROR.message:"",schoolId); | |
475 | 479 | } |
476 | - | |
477 | - // TODO 考勤记录 | |
478 | 480 | //刷卡结果,1表示成功, 0表示失败 |
479 | 481 | int status = msg.bStatus; |
480 | - | |
482 | + String result = status == 1 ? "开门成功" : "开门失败"; | |
483 | + String openMsg = eventType ==1 ? "进" : "出" ; | |
481 | 484 | if(szSn.startsWith("ytj")) { |
485 | + log.info("出入信息:学校【{}】,开门方向:【{}】",schoolId,status); | |
482 | 486 | // 艺校考勤OA |
483 | 487 | if(schoolId == 12 && status ==1){ |
484 | - int intOrOut = eventType ==1? 1 : 2; | |
485 | - sendRecordToSXYX(userInfoBean.getName(),userInfoBean.getUser_id(),intOrOut,eventTime); | |
488 | + int intOrOut = eventType ==1 ? 1 : 2; | |
489 | + if(userInfoBean !=null){ | |
490 | + log.info("【{}】出入信息:方向【{}】,开门结果【{}】",userInfoBean.getName(),openMsg,result); | |
491 | + sendRecordToSXYX(userInfoBean.getName(),userInfoBean.getUser_id(),intOrOut,eventTime,""); | |
492 | + } | |
493 | + if(teacherBean != null){ | |
494 | + sendRecordToSXYX(teacherBean.getName(),teacherBean.getUser_id(),intOrOut,eventTime,getScene(clintName)); | |
495 | + } | |
486 | 496 | }else{ |
497 | +// if(schoolId == 489){ | |
498 | +// eventTime = DateUtils.date2String(DateUtils.getDateByTime(-5,new Date()), DateUtils.format2); | |
499 | +//// log.info("设备ID: {},刷卡结果:{},开门方向: {}, 开门用户: {}, 开门卡号: {}",szSn,result,openMsg,userInfoBean.getName(),userInfoBean.getStudent_num()); | |
500 | +// } | |
487 | 501 | //保存考勤记录 |
488 | 502 | kaoQinRecord(status, eventType, card, szSn, eventTime,lAnalyzerHandle); |
489 | 503 | } |
... | ... | @@ -499,6 +513,19 @@ public class MyTask implements ApplicationRunner { |
499 | 513 | } |
500 | 514 | } |
501 | 515 | |
516 | + private static String getScene(String sceneName){ | |
517 | + if(sceneName.contains("B")){ | |
518 | + return "B"; | |
519 | + } | |
520 | + if(sceneName.contains("C")){ | |
521 | + return "C"; | |
522 | + } | |
523 | + if(sceneName.contains("D")){ | |
524 | + return "D"; | |
525 | + } | |
526 | + return ""; | |
527 | + } | |
528 | + | |
502 | 529 | /** |
503 | 530 | * 根据ip和port获取设备id |
504 | 531 | * |
... | ... | @@ -771,7 +798,7 @@ public class MyTask implements ApplicationRunner { |
771 | 798 | return true; |
772 | 799 | } |
773 | 800 | |
774 | - public static void sendRecordToSXYX(String name,String userId,int intOrOut,String eventTime) { | |
801 | + public static void sendRecordToSXYX(String name,String userId,int intOrOut,String eventTime,String scene) { | |
775 | 802 | try { |
776 | 803 | String api = "http://yixiao.198.hmkj.com.cn/index.php/Attend/send"; |
777 | 804 | RestTemplate restTemplate = new RestTemplate(); |
... | ... | @@ -780,14 +807,15 @@ public class MyTask implements ApplicationRunner { |
780 | 807 | map.add("xuehao", userId); |
781 | 808 | map.add("time", eventTime); |
782 | 809 | map.add("state", intOrOut); |
810 | + map.add("loudong", scene); | |
783 | 811 | HttpHeaders headers = new HttpHeaders(); |
784 | 812 | headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); |
785 | 813 | HttpEntity<MultiValueMap<String, Object>> param = new HttpEntity<>(map, headers); |
786 | 814 | ResponseEntity<String> response = restTemplate.postForEntity(api, param, String.class); |
787 | 815 | String body = response.getBody(); |
788 | - log.info("请求艺校OA,返回信息: " + body); | |
816 | + log.info("请求艺校OA,用户名称【{}】,返回信息【{}】 ",name,body); | |
789 | 817 | } catch (Exception e) { |
790 | - sendRecordToSXYX(name,userId,intOrOut,eventTime); | |
818 | + sendRecordToSXYX(name,userId,intOrOut,eventTime,scene); | |
791 | 819 | } |
792 | 820 | } |
793 | 821 | } | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/async/SendUserInfoTask2.java
... | ... | @@ -217,7 +217,7 @@ public class SendUserInfoTask2 { |
217 | 217 | log.error("学生类型【{}】无对应权限通道。",studentType); |
218 | 218 | channel = getAuthChannelByClassId(Integer.parseInt(schoolId),Integer.parseInt(classId),deviceId); |
219 | 219 | } |
220 | - if(StringUtils.isEmpty(channel)){ | |
220 | + if(StringUtils.isEmpty(channel) && !schoolId.equals("1485")){ | |
221 | 221 | //设备不在线 |
222 | 222 | sendRecordBean.setFailType(EnumSendFaceType.AUTH_NOT_SET.code); |
223 | 223 | sendRecordBean.setFailContent(EnumSendFaceType.AUTH_NOT_SET.message); | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/control/UserOperateController.java
... | ... | @@ -124,4 +124,20 @@ public class UserOperateController { |
124 | 124 | public Result sendFaceByThread(@RequestBody YxSendFaceDto sendFaceDto) { |
125 | 125 | return userOperateService.sendYxUserFace(sendFaceDto); |
126 | 126 | } |
127 | + | |
128 | + @ApiOperation(value = "下方指定卡号") | |
129 | + @RequestMapping(value = "sendCard", method = RequestMethod.POST) | |
130 | + public void exportFace(@RequestParam("cardNum") String cardNum,@RequestParam("schoolId") Integer schoolId, | |
131 | + @RequestParam("deviceIds") String deviceIds){ | |
132 | + userOperateService.sendCard(cardNum,schoolId,deviceIds); | |
133 | + } | |
134 | +// @ApiOperation(value = "按班级指定下发") | |
135 | +// @RequestMapping(value = "sendFaceByRoomId", method = RequestMethod.POST) | |
136 | +// public void exportFace(@RequestParam("schoolId") Integer schoolId, | |
137 | +// @RequestParam(value = "classIds",required = false) String classIds, | |
138 | +// @RequestParam(value = "deviceIds",required = false) String deviceIds){ | |
139 | +//// userOperateService.sendFaceByRoomId(schoolId,classIds,deviceIds); | |
140 | +// r | |
141 | +// } | |
142 | + | |
127 | 143 | } | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/service/UserOperateService.java
cloud/dahua/src/main/java/com/example/dahua/service/imp/UserOperateServiceImpl.java
... | ... | @@ -19,6 +19,7 @@ import com.example.dahua.utils.DateUtils; |
19 | 19 | import com.example.dahua.utils.HttpUtils; |
20 | 20 | import com.example.dahua.xiananDao.SearchMapper; |
21 | 21 | import com.example.dahua.xiananDao.SendRecordDao; |
22 | +import com.google.gson.Gson; | |
22 | 23 | import lombok.extern.slf4j.Slf4j; |
23 | 24 | import org.springframework.beans.BeanUtils; |
24 | 25 | import org.springframework.beans.factory.annotation.Autowired; |
... | ... | @@ -301,4 +302,26 @@ public class UserOperateServiceImpl implements UserOperateService { |
301 | 302 | sendFace(dtoList,deviceList,schoolId,2); |
302 | 303 | return ResultGenerator.genSuccessResult(); |
303 | 304 | } |
305 | + | |
306 | + @Override | |
307 | + public void sendCard(String cardNum, Integer schoolId, String deviceIds) { | |
308 | + //下发设备集合 | |
309 | + String[] deviceArr = deviceIds.split(","); | |
310 | + List<String> deviceList= new ArrayList<>(Arrays.asList(deviceArr)); | |
311 | + if(deviceList.size()<1){ | |
312 | + return; | |
313 | + } | |
314 | + deviceList.stream().forEach(s -> { | |
315 | + //登录设备 | |
316 | + NetSDKLib.LLong loginHandleLong = MyTask.lLongSendMap.get(s); | |
317 | + StudentBean studentBean = userDao.getStudentWithCard(cardNum,schoolId); | |
318 | + log.info("学生信息: {},设备信息: {}",new Gson().toJson(studentBean),loginHandleLong); | |
319 | + if(studentBean !=null && loginHandleLong != null){ | |
320 | + String userId = studentBean.getUser_id(); | |
321 | + //修改用户信息 | |
322 | + int bUserFlags = GateModule2.addCardForMore(userId,cardNum,loginHandleLong,1); | |
323 | + log.info("下发结果:" + bUserFlags); | |
324 | + } | |
325 | + }); | |
326 | + } | |
304 | 327 | } | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/utils/DateUtils.java
cloud/dahua/src/main/java/com/example/dahua/utils/HttpUtils.java
... | ... | @@ -40,7 +40,8 @@ public class HttpUtils { |
40 | 40 | return false; |
41 | 41 | } |
42 | 42 | String targPath = FilePath.picPathComp + studentCode + ".jpg"; |
43 | - String url = "http://121.40.109.21:8991/file/uploadImg"; | |
43 | +// String url = "http://121.40.109.21:8991/file/uploadImg"; | |
44 | + String url = "http://116.62.155.137:8991/file/uploadImg"; | |
44 | 45 | MultiValueMap<String, Object> multivaluedMap = new LinkedMultiValueMap<>(); |
45 | 46 | HttpHeaders headers = new HttpHeaders(); |
46 | 47 | RestTemplate restTemplate = new RestTemplate(); |
... | ... | @@ -88,8 +89,8 @@ public class HttpUtils { |
88 | 89 | |
89 | 90 | String targetPath = FilePath.picPathComp + studentCode + FilePath.fileSuffix; |
90 | 91 | |
91 | - String url = "http://121.40.109.21:8991/operate/sendUserAndImg"; | |
92 | - //String url = "http://localhost:8991/file/uploadImg"; | |
92 | +// String url = "http://121.40.109.21:8991/operate/sendUserAndImg"; | |
93 | + String url = "http://116.62.155.137:8991/operate/sendUserAndImg"; | |
93 | 94 | |
94 | 95 | MultiValueMap<String, Object> multivaluedMap = new LinkedMultiValueMap<>(); |
95 | 96 | HttpHeaders headers = new HttpHeaders(); |
... | ... | @@ -148,7 +149,7 @@ public class HttpUtils { |
148 | 149 | } |
149 | 150 | |
150 | 151 | public static void deleteFace(Integer schoolId) { |
151 | - String url = "http://121.40.109.21:8991/operate/deleteFailFace?schoolId=" + schoolId; | |
152 | + String url = "http://116.62.155.137:8991/operate/deleteFailFace?schoolId=" + schoolId; | |
152 | 153 | RestTemplate restTemplate = new RestTemplate(); |
153 | 154 | ResponseEntity<Boolean> result = restTemplate.getForEntity(url, Boolean.class); |
154 | 155 | System.out.println("发生请求21服务删除人脸,请求地址: +" + url+ "返回信息: "+ result.getBody()); |
... | ... | @@ -160,8 +161,8 @@ public class HttpUtils { |
160 | 161 | * @return |
161 | 162 | */ |
162 | 163 | public static boolean sendPermission(PermissionBean permissionBean) { |
163 | - String url = "http://121.40.109.21:8991/file/sendPermission"; | |
164 | -// String url = "http://localhost:8991/file/sendPermission"; | |
164 | +// String url = "http://121.40.109.21:8991/file/sendPermission"; | |
165 | + String url = "http://116.62.155.137:8991/file/sendPermission"; | |
165 | 166 | RestTemplate restTemplate = new RestTemplate(); |
166 | 167 | |
167 | 168 | HttpHeaders headers = new HttpHeaders(); |
... | ... | @@ -185,11 +186,8 @@ public class HttpUtils { |
185 | 186 | public static void sendPermission2HK(PermissionFaceBean permissionFaceBean) { |
186 | 187 | String url = "http://114.55.30.100:8089/facereco/sendPermiss"; |
187 | 188 | PermissionBean permissionBean = permissionFaceBean.getPermissionBean(); |
188 | - | |
189 | 189 | if (null!=permissionBean){ |
190 | - | |
191 | 190 | PermissionHKBean permissionHKBean = new PermissionHKBean(); |
192 | - | |
193 | 191 | permissionHKBean.setDeviceIds(permissionBean.getDeviceIds()); |
194 | 192 | permissionHKBean.setSchoolId(permissionFaceBean.getSchoolId()+""); |
195 | 193 | permissionHKBean.setUserType("2"); |
... | ... | @@ -208,8 +206,6 @@ public class HttpUtils { |
208 | 206 | ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, httpEntity, String.class); |
209 | 207 | |
210 | 208 | System.out.println("海康设备下发权限:" + responseEntity.getBody()); |
211 | - | |
212 | 209 | } |
213 | - | |
214 | 210 | } |
215 | 211 | } | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/xiananDao/SendRecordDao.java
... | ... | @@ -73,10 +73,10 @@ public interface SendRecordDao { |
73 | 73 | @Select("select * from Face_SendFail where schoolId = #{schoolId} and userType = #{userType} and deviceID = #{deviceID}") |
74 | 74 | List<SendRecordBean> getFaceFails(@Param("userType") int userType, @Param("schoolId") int schoolId, @Param("deviceID") String deviceID); |
75 | 75 | |
76 | - @Insert("insert into Face_Recoder values(#{deviceId},#{user_id},#{name},#{imgurl},#{inOrOut},#{time},#{cardNum},#{temp})") | |
76 | + @Insert("insert into Face_Recoder values(#{deviceId},#{user_id},#{name},#{imgurl},#{inOrOut},#{time},#{cardNum},#{temp},#{schoolId})") | |
77 | 77 | void addFaceRecoder(@Param("deviceId") String deviceId, @Param("user_id") String user_id, @Param("name") String name, |
78 | 78 | @Param("imgurl") String imgurl, @Param("inOrOut") int inOrOut, @Param("time") String time, |
79 | - @Param("cardNum") String cardNum,@Param("temp")String temp); | |
79 | + @Param("cardNum") String cardNum,@Param("temp")String temp,@Param("schoolId")int schoolId); | |
80 | 80 | |
81 | 81 | @Select("select DISTINCT deviceID from Face_SendFail where schoolId = #{schoolId} ") |
82 | 82 | List<String> getDeviceIds(@Param("schoolId") String schoolId); | ... | ... |
cloud/dahua/src/main/resources/bootstrap.yml
... | ... | @@ -18,23 +18,23 @@ spring: |
18 | 18 | # show-details: always |
19 | 19 | |
20 | 20 | #eureka client配置 |
21 | -eureka: | |
22 | - client: | |
23 | - serviceUrl: | |
21 | +#eureka: | |
22 | +# client: | |
23 | +# serviceUrl: | |
24 | 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/ | |
25 | +# defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/ | |
26 | 26 | #http://134.224.249.33:1111/eureka/ 正式库 |
27 | 27 | #http://134.224.249.33:1111/eureka/ 测试库 |
28 | 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 | |
29 | +# registry-fetch-interval-seconds: 5 | |
30 | +# instance-info-replication-interval-seconds: 10 | |
31 | 31 | instance: |
32 | 32 | # prefer-ip-address: false |
33 | - instance-id: ${spring.application.name} | |
33 | +# instance-id: ${spring.application.name} | |
34 | 34 | # instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${server.port}} #固定端口 |
35 | 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服务器中将此服务剔除 | |
36 | +# lease-renewal-interval-in-seconds: 10 #每隔几秒告诉eureka服务器我还存活,用于心跳检测 | |
37 | +# lease-expiration-duration-in-seconds: 10 #如果心跳检测一直没有发送,10秒后会从eureka服务器中将此服务剔除 | |
38 | 38 | # status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/doc.html # ${server.port}为该服务的端口号 |
39 | - hostname: localhost | |
39 | +# hostname: localhost | |
40 | 40 | # status-page-url: http://${spring.cloud.client.ip-address}:${randomServerPort.value[5000,5005]}/document.html # ${server.port}为该服务的端口号 |
41 | 41 | \ No newline at end of file | ... | ... |
cloud/dahua/src/main/resources/logback-spring.xml
... | ... | @@ -8,7 +8,10 @@ |
8 | 8 | <!--<include resource="org/springframework/boot/logging/logback/defaults.xml" />--> |
9 | 9 | |
10 | 10 | <!--日志文件存储的基础路径: ${user.home} 为当前服务器用户主目录--> |
11 | - <property name="LOG_PATH" value="E:/dahua-logs"/> | |
11 | + <!--100--> | |
12 | + <property name="LOG_PATH" value="E:\dahua\logs"/> | |
13 | + <!--137--> | |
14 | + <!--<property name="LOG_PATH" value="C:\workspace\dahua\logs"/>--> | |
12 | 15 | |
13 | 16 | <!--日志文件基础名称--> |
14 | 17 | <property name="BASE_FILE_NAME" value="dahua"/> | ... | ... |
cloud/fIle-center/pom.xml
... | ... | @@ -89,7 +89,22 @@ |
89 | 89 | </includes> |
90 | 90 | </configuration> |
91 | 91 | </plugin> |
92 | - | |
92 | + <plugin> | |
93 | + <groupId>org.apache.maven.plugins</groupId> | |
94 | + <artifactId>maven-dependency-plugin</artifactId> | |
95 | + <executions> | |
96 | + <execution> | |
97 | + <id>copy</id> | |
98 | + <phase>package</phase> | |
99 | + <goals> | |
100 | + <goal>copy-dependencies</goal> | |
101 | + </goals> | |
102 | + <configuration> | |
103 | + <outputDirectory>${project.build.directory}/lib</outputDirectory> | |
104 | + </configuration> | |
105 | + </execution> | |
106 | + </executions> | |
107 | + </plugin> | |
93 | 108 | </plugins> |
94 | 109 | <finalName>file-center</finalName> |
95 | 110 | </build> | ... | ... |
cloud/fIle-center/src/main/java/com/sincere/file/FileApplication.java
... | ... | @@ -6,7 +6,7 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient; |
6 | 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; |
7 | 7 | import org.springframework.context.annotation.Configuration; |
8 | 8 | |
9 | -@EnableDiscoveryClient | |
9 | +//@EnableDiscoveryClient | |
10 | 10 | @SpringBootApplication |
11 | 11 | public class FileApplication { |
12 | 12 | ... | ... |
cloud/fIle-center/src/main/resources/bootstrap.yml
... | ... | @@ -22,23 +22,23 @@ spring: |
22 | 22 | # show-details: always |
23 | 23 | |
24 | 24 | #eureka client配置 |
25 | -eureka: | |
26 | - client: | |
27 | - serviceUrl: | |
28 | - # defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ | |
29 | - defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/ | |
30 | - #http://134.224.249.33:1111/eureka/ 正式库 | |
31 | - #http://134.224.249.33:1111/eureka/ 测试库 | |
32 | - #http://127.0.0.1:8761/eureka,http://127.0.0.1:8762/eureka | |
33 | - registry-fetch-interval-seconds: 5 | |
34 | - instance-info-replication-interval-seconds: 10 | |
35 | - instance: | |
36 | - # prefer-ip-address: false | |
37 | - instance-id: ${spring.application.name} | |
38 | - # instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${server.port}} #固定端口 | |
39 | - # instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${randomServerPort.value[5000,5005]}} #随机端口 | |
40 | - lease-renewal-interval-in-seconds: 10 #每隔几秒告诉eureka服务器我还存活,用于心跳检测 | |
41 | - lease-expiration-duration-in-seconds: 10 #如果心跳检测一直没有发送,10秒后会从eureka服务器中将此服务剔除 | |
42 | - # status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/doc.html # ${server.port}为该服务的端口号 | |
43 | - hostname: 121.40.30.78 | |
44 | -# status-page-url: http://${spring.cloud.client.ip-address}:${randomServerPort.value[5000,5005]}/document.html # ${server.port}为该服务的端口号 | |
45 | 25 | \ No newline at end of file |
26 | +#eureka: | |
27 | +# client: | |
28 | +# serviceUrl: | |
29 | +# # defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ | |
30 | +# defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/ | |
31 | +# #http://134.224.249.33:1111/eureka/ 正式库 | |
32 | +# #http://134.224.249.33:1111/eureka/ 测试库 | |
33 | +# #http://127.0.0.1:8761/eureka,http://127.0.0.1:8762/eureka | |
34 | +# registry-fetch-interval-seconds: 5 | |
35 | +# instance-info-replication-interval-seconds: 10 | |
36 | +# instance: | |
37 | +# # prefer-ip-address: false | |
38 | +# instance-id: ${spring.application.name} | |
39 | +# # instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${server.port}} #固定端口 | |
40 | +# # instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${randomServerPort.value[5000,5005]}} #随机端口 | |
41 | +# lease-renewal-interval-in-seconds: 10 #每隔几秒告诉eureka服务器我还存活,用于心跳检测 | |
42 | +# lease-expiration-duration-in-seconds: 10 #如果心跳检测一直没有发送,10秒后会从eureka服务器中将此服务剔除 | |
43 | +# # status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/doc.html # ${server.port}为该服务的端口号 | |
44 | +# hostname: 121.40.30.78 | |
45 | +## status-page-url: http://${spring.cloud.client.ip-address}:${randomServerPort.value[5000,5005]}/document.html # ${server.port}为该服务的端口号 | |
46 | 46 | \ No newline at end of file | ... | ... |
cloud/haikangface/pom.xml
... | ... | @@ -169,42 +169,37 @@ |
169 | 169 | <plugin> |
170 | 170 | <groupId>org.springframework.boot</groupId> |
171 | 171 | <artifactId>spring-boot-maven-plugin</artifactId> |
172 | + <executions> | |
173 | + <execution> | |
174 | + <goals> | |
175 | + <goal>repackage</goal> | |
176 | + </goals> | |
177 | + </execution> | |
178 | + </executions> | |
172 | 179 | <configuration> |
173 | 180 | <includeSystemScope>true</includeSystemScope> |
174 | 181 | <layout>ZIP</layout> |
175 | -<!-- <includes>--> | |
176 | -<!-- <include>--> | |
177 | -<!-- <!– 排除所有Jar –>--> | |
178 | -<!-- <groupId>nothing</groupId>--> | |
179 | -<!-- <artifactId>nothing</artifactId>--> | |
180 | -<!-- </include>--> | |
181 | -<!-- </includes>--> | |
182 | - </configuration> | |
183 | - </plugin> | |
184 | - <!--添加maven配置跳过测试--> | |
185 | - <plugin> | |
186 | - <groupId>org.apache.maven.plugins</groupId> | |
187 | - <artifactId>maven-surefire-plugin</artifactId> | |
188 | - <configuration> | |
189 | - <skipTests>true</skipTests> | |
182 | + <includes> | |
183 | + <include> | |
184 | + <!-- 排除所有Jar --> | |
185 | + <groupId>nothing</groupId> | |
186 | + <artifactId>nothing</artifactId> | |
187 | + </include> | |
188 | + </includes> | |
190 | 189 | </configuration> |
191 | 190 | </plugin> |
192 | 191 | <plugin> |
193 | 192 | <groupId>org.apache.maven.plugins</groupId> |
194 | 193 | <artifactId>maven-dependency-plugin</artifactId> |
195 | - <!-- <version>2.2</version><!–$NO-MVN-MAN-VER$ –>--> | |
196 | 194 | <executions> |
197 | 195 | <execution> |
198 | - <id>copy-dependencies</id> | |
196 | + <id>copy</id> | |
199 | 197 | <phase>package</phase> |
200 | 198 | <goals> |
201 | 199 | <goal>copy-dependencies</goal> |
202 | 200 | </goals> |
203 | 201 | <configuration> |
204 | - <outputDirectory>${project.build.directory}/libs</outputDirectory> | |
205 | - <overWriteReleases>true</overWriteReleases> | |
206 | - <overWriteSnapshots>true</overWriteSnapshots> | |
207 | - <overWriteIfNewer>true</overWriteIfNewer> | |
202 | + <outputDirectory>${project.build.directory}/lib</outputDirectory> | |
208 | 203 | </configuration> |
209 | 204 | </execution> |
210 | 205 | </executions> | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java
... | ... | @@ -64,10 +64,10 @@ public class CMSServer implements ApplicationRunner { |
64 | 64 | // 存储设备登录句柄 |
65 | 65 | static Map<String, NativeLong> map = new HashMap<>(); |
66 | 66 | |
67 | - //114.55.30.100 | |
68 | - //120.26.116.253 | |
69 | -// private String ip_cloud = "114.55.30.100"; | |
70 | 67 | private String ip_cloud = "114.55.30.100"; |
68 | + private String strPath = "E://EhomePicServer/"; | |
69 | +// private String ip_cloud = "120.26.116.253"; | |
70 | +// private String strPath = "D://EhomePicServer/"; | |
71 | 71 | |
72 | 72 | private String ip; |
73 | 73 | { |
... | ... | @@ -299,7 +299,6 @@ public class CMSServer implements ApplicationRunner { |
299 | 299 | //文件保存回调函数(下载) |
300 | 300 | public class PSS_Storage_Callback implements HCEHomeSS.EHomeSSStorageCallBack { |
301 | 301 | public boolean invoke(NativeLong iHandle, String pFileName, Pointer pFileBuf, int dwFileLen, Pointer pFilePath, Pointer pUser) { |
302 | - String strPath = "E://EhomePicServer/"; | |
303 | 302 | //若此目录不存在,则创建之 |
304 | 303 | File myPath = new File(strPath); |
305 | 304 | if (!myPath.exists()) { |
... | ... | @@ -340,7 +339,7 @@ public class CMSServer implements ApplicationRunner { |
340 | 339 | deviceId = isQJFileName.substring(start, end); |
341 | 340 | } |
342 | 341 | //发送看板 |
343 | - sendUserInfoToKB(strFilePathFile, deviceId); | |
342 | +// sendUserInfoToKB(strFilePathFile, deviceId); | |
344 | 343 | } |
345 | 344 | } catch (FileNotFoundException e) { |
346 | 345 | log.error("处理人脸机抓拍文件异常,错误信息:{}",e); |
... | ... | @@ -353,6 +352,10 @@ public class CMSServer implements ApplicationRunner { |
353 | 352 | } |
354 | 353 | } |
355 | 354 | |
355 | + public static void main(String[] args) { | |
356 | + System.out.println(StringUtils.isNotBlank("944")); | |
357 | + } | |
358 | + | |
356 | 359 | private AlarmUtils alarmUtils;//报警工具类 |
357 | 360 | /** |
358 | 361 | * 报警监听回调 |
... | ... | @@ -375,7 +378,7 @@ public class CMSServer implements ApplicationRunner { |
375 | 378 | @Override |
376 | 379 | public void callBack(String minorType, String deviceID, String cardNo, String time, String picDataUrlId, String currTemperature) { |
377 | 380 | saveAttendance(deviceID); |
378 | - AttendanceBean attendanceBean = deviceDao.selectDevice(deviceID); | |
381 | + AttendanceBean attendanceBean = deviceDao.selectDeviceInfo(deviceID); | |
379 | 382 | int outOrIn = attendanceBean.getOutOrIn(); |
380 | 383 | String schoolId = attendanceBean.getSchool_id(); |
381 | 384 | switch (minorType) { |
... | ... | @@ -385,6 +388,9 @@ public class CMSServer implements ApplicationRunner { |
385 | 388 | saveFaceRecoder(deviceID, cardNo, time, picDataUrlId, currTemperature,outOrIn); |
386 | 389 | //944柯桥实验幼儿园,海康一体机考勤签到 |
387 | 390 | if(StringUtils.isNotBlank(schoolId)){ |
391 | + if(Integer.parseInt(schoolId)== 944){ | |
392 | + log.info("柯桥实验考勤:考勤卡号:{} "+ cardNo); | |
393 | + } | |
388 | 394 | if(Integer.parseInt(schoolId)== 944 && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){ |
389 | 395 | kaoQinRecord(outOrIn,cardNo,deviceID,time); |
390 | 396 | } |
... | ... | @@ -402,6 +408,9 @@ public class CMSServer implements ApplicationRunner { |
402 | 408 | saveFaceRecoder(deviceID, cardNo, time, picDataUrlId, currTemperature,outOrIn); |
403 | 409 | //944柯桥实验幼儿园,海康一体机考勤签到 |
404 | 410 | if(StringUtils.isNotBlank(schoolId)){ |
411 | + if(Integer.parseInt(schoolId)== 944){ | |
412 | + log.info("柯桥实验考勤:考勤卡号:{} "+ cardNo); | |
413 | + } | |
405 | 414 | if(Integer.parseInt(schoolId)== 944 && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){ |
406 | 415 | kaoQinRecord(outOrIn,cardNo,deviceID,time); |
407 | 416 | } |
... | ... | @@ -412,6 +421,9 @@ public class CMSServer implements ApplicationRunner { |
412 | 421 | saveFaceRecoder(deviceID, cardNo, time, picDataUrlId, currTemperature,outOrIn); |
413 | 422 | //944柯桥实验幼儿园,海康一体机考勤签到 |
414 | 423 | if(StringUtils.isNotBlank(schoolId)){ |
424 | + if(Integer.parseInt(schoolId)== 944){ | |
425 | + log.info("柯桥实验考勤:考勤卡号:{} "+ cardNo); | |
426 | + } | |
415 | 427 | if(Integer.parseInt(schoolId)== 944 && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){ |
416 | 428 | kaoQinRecord(outOrIn,cardNo,deviceID,time); |
417 | 429 | } |
... | ... | @@ -444,9 +456,9 @@ public class CMSServer implements ApplicationRunner { |
444 | 456 | checkIn.setCheckTime(eventTime); |
445 | 457 | sendRecordDao.checkIn(checkIn); |
446 | 458 | if (checkIn.getIsSuccess() == 1) { |
447 | - log.info("考勤成功: checkIn: {}, 方向:{}", JsonUtils.nonDefaultMapper().toJson(checkIn),outOrIn == 1 ? "门" : "出门"); | |
459 | + log.info("柯桥实验幼儿园考勤成功: checkIn: {}, 方向:{}", JsonUtils.nonDefaultMapper().toJson(checkIn),outOrIn == 1 ? "门" : "出门"); | |
448 | 460 | } else { |
449 | - log.info("考勤失败: checkIn: {}, 方向:{}",JsonUtils.nonDefaultMapper().toJson(checkIn),outOrIn == 1 ? "进门" : "出门"); | |
461 | + log.info("柯桥实验幼儿园考勤失败: checkIn: {}, 方向:{}",JsonUtils.nonDefaultMapper().toJson(checkIn),outOrIn == 1 ? "进门" : "出门"); | |
450 | 462 | } |
451 | 463 | } |
452 | 464 | |
... | ... | @@ -494,7 +506,7 @@ public class CMSServer implements ApplicationRunner { |
494 | 506 | } |
495 | 507 | //记录签到成功的流水 |
496 | 508 | sendRecordDao.addFaceRecoder(face_recoder.getDeviceId(), face_recoder.getUser_id(), face_recoder.getName(), |
497 | - face_recoder.getImgurl(), face_recoder.getInOrOut(), face_recoder.getTime(), face_recoder.getCardNum(), currTemperature); | |
509 | + face_recoder.getImgurl(), face_recoder.getInOrOut(), face_recoder.getTime(), face_recoder.getCardNum(), currTemperature,schoolId); | |
498 | 510 | } else { |
499 | 511 | //教师点名 |
500 | 512 | isTeacher(cardNo, deviceID,null); | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/HaikangfaceApplication.java
... | ... | @@ -13,8 +13,8 @@ import org.springframework.scheduling.annotation.EnableAsync; |
13 | 13 | |
14 | 14 | @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, MybatisAutoConfiguration.class}) |
15 | 15 | @SpringBootApplication |
16 | -@EnableDiscoveryClient | |
17 | -@EnableFeignClients(basePackages = "com.sincere.haikangface.fegin") | |
16 | +//@EnableDiscoveryClient | |
17 | +//@EnableFeignClients(basePackages = "com.sincere.haikangface.fegin") | |
18 | 18 | @EnableAsync |
19 | 19 | public class HaikangfaceApplication { |
20 | 20 | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/control/UserControl.java
... | ... | @@ -9,7 +9,6 @@ import com.sincere.haikangface.bean.StudentBean; |
9 | 9 | import com.sincere.haikangface.bean.face.PermissionBean; |
10 | 10 | import com.sincere.haikangface.bean.face.UserAndPermission; |
11 | 11 | import com.sincere.haikangface.dao.UserDao; |
12 | -import com.sincere.haikangface.fegin.HaikangfaceFegin; | |
13 | 12 | import com.sincere.haikangface.service.impl.BaseService; |
14 | 13 | import com.sincere.haikangface.utils.CompressPic; |
15 | 14 | import com.sincere.haikangface.utils.FileUtils; |
... | ... | @@ -41,8 +40,8 @@ public class UserControl { |
41 | 40 | @Autowired |
42 | 41 | UserDao userDao; |
43 | 42 | |
44 | - @Autowired | |
45 | - HaikangfaceFegin haikangfaceFegin; | |
43 | +// @Autowired | |
44 | +// HaikangfaceFegin haikangfaceFegin; | |
46 | 45 | |
47 | 46 | @Autowired |
48 | 47 | CMSServer cmsServer; | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/control/UserOperateController.java
... | ... | @@ -101,8 +101,9 @@ public class UserOperateController { |
101 | 101 | public Result sendFaceForNoSend(@RequestParam("schoolId") Integer schoolId,@RequestParam("userType") Integer userType, |
102 | 102 | @RequestParam(value = "studentType",required = false) Integer studentType, |
103 | 103 | @RequestParam(value = "sex",required = false) String sex, |
104 | - @RequestParam(value = "deviceIds",required = false) String deviceIds) { | |
105 | - return userOperateService.sendFaceForNoSend(schoolId,studentType,sex,userType,deviceIds); | |
104 | + @RequestParam(value = "deviceIds",required = false) String deviceIds, | |
105 | + @RequestParam(value = "groupId",required = false) Integer groupId) { | |
106 | + return userOperateService.sendFaceForNoSend(schoolId,studentType,sex,userType,deviceIds,groupId); | |
106 | 107 | } |
107 | 108 | |
108 | 109 | @ApiOperation(value = "补发单个人脸至指定设备2.0") |
... | ... | @@ -139,6 +140,14 @@ public class UserOperateController { |
139 | 140 | return userOperateService.sendFaceByClassId(schoolId,classIds,deviceIds,studentType,sex,isCheck); |
140 | 141 | } |
141 | 142 | |
143 | + @ApiOperation(value = "根据宿舍分组下发") | |
144 | + @RequestMapping(value = "sendFaceByGroupId", method = RequestMethod.POST) | |
145 | + public Result sendFaceByThread(@RequestParam("schoolId") Integer schoolId, | |
146 | + @RequestParam("groupId") Integer groupId, | |
147 | + @RequestParam(value = "deviceIds",required = false) String deviceIds) { | |
148 | + return userOperateService.sendFaceByGroupId(schoolId,groupId,deviceIds); | |
149 | + } | |
150 | + | |
142 | 151 | @ApiOperation(value = "删除指定学校下人脸照片") |
143 | 152 | @RequestMapping(value = "deleteBySchoolId", method = RequestMethod.POST) |
144 | 153 | public Result exportFace(@RequestParam("schoolId") Integer schoolId, |
... | ... | @@ -146,7 +155,6 @@ public class UserOperateController { |
146 | 155 | return userOperateService.deleteFaceBySchoolId(schoolId,deviceIds); |
147 | 156 | } |
148 | 157 | |
149 | - @ApiOperation(value = "删除指定学校下无效人脸") | |
150 | 158 | @RequestMapping(value = "checkFaceSend", method = RequestMethod.GET) |
151 | 159 | public void checkFaceSend(){ |
152 | 160 | userOperateService.checkFaceSend(); | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/dao/DeviceDao.java
... | ... | @@ -28,6 +28,9 @@ public interface DeviceDao { |
28 | 28 | @Select("select clint_id from SZ_Attendance where clint_id = #{clint_id}") |
29 | 29 | AttendanceBean selectDevice(@Param("clint_id") String clint_id); |
30 | 30 | |
31 | + @Select("select * from SZ_Attendance where clint_id = #{clint_id}") | |
32 | + AttendanceBean selectDeviceInfo(@Param("clint_id") String clint_id); | |
33 | + | |
31 | 34 | // @Select("select * from SZ_Attendance where IsKaoqin = #{IsKaoqin}") |
32 | 35 | // List<SZ_AttendanceDto> getAttensWithIsKaoqin(@Param("IsKaoqin")int IsKaoqin); |
33 | 36 | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/dao/UserDao.java
... | ... | @@ -264,7 +264,7 @@ public interface UserDao { |
264 | 264 | |
265 | 265 | List<StudentBean> getStudentList(@Param("schoolId") Integer schoolId,@Param("studentType")Integer studentType,@Param("sex") List<Integer> sex); |
266 | 266 | |
267 | - List<StudentBean> getStudentCardGroup(@Param("schoolId") Integer schoolId,@Param("studentType")Integer studentType,@Param("sex") String sex,@Param("groupId")Integer groupId); | |
267 | + List<StudentBean> getStudentCardGroup(@Param("schoolId") Integer schoolId,@Param("studentType")Integer studentType,@Param("sexList") List<Integer> sexList,@Param("groupId")Integer groupId); | |
268 | 268 | |
269 | 269 | List<StudentBean> getTeacherList(@Param("schoolId") Integer schoolId); |
270 | 270 | |
... | ... | @@ -294,4 +294,8 @@ public interface UserDao { |
294 | 294 | void updateStudent(@Param("id") Integer id); |
295 | 295 | |
296 | 296 | List<SaveStudentBak> selectStudentList(); |
297 | + | |
298 | + List<Integer> getRoomBySchoolId(@Param("schoolId") Integer schoolId,@Param("groupId") Integer groupId); | |
299 | + | |
300 | + List<StudentBean> getStudentByRoomIds(@Param("schoolId") Integer schoolId,@Param("pIdList") List<Integer> pIdList); | |
297 | 301 | } | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/fegin/HaikangfaceFegin.java
1 | -package com.sincere.haikangface.fegin; | |
2 | - | |
3 | -//import com.sincere.common.dto.smartCampus.SZ_AttendanceDto; | |
4 | - | |
5 | -import org.springframework.cloud.openfeign.FeignClient; | |
6 | -import org.springframework.web.bind.annotation.RequestBody; | |
7 | -import org.springframework.web.bind.annotation.RequestMapping; | |
8 | -import org.springframework.web.bind.annotation.RequestMethod; | |
9 | -import org.springframework.web.bind.annotation.RequestParam; | |
10 | - | |
11 | -import java.util.List; | |
12 | - | |
13 | -@FeignClient("smartCampusSearch") | |
14 | -public interface HaikangfaceFegin { | |
15 | - | |
16 | -// @RequestMapping(method = RequestMethod.GET,value = "attendance/selectAttendaceWithId") | |
17 | -// SZ_AttendanceDto selectAttendaceWithId(@RequestParam("clint_id") String clint_id); | |
1 | +//package com.sincere.haikangface.fegin; | |
18 | 2 | // |
19 | -// @RequestMapping(method = RequestMethod.GET,value = "attendance/getAttensWithIsKaoqin") | |
20 | -// List<SZ_AttendanceDto> getAttensWithIsKaoqin(@RequestParam("IsKaoqin") int isKaoqin); | |
21 | - | |
22 | -} | |
3 | +////import com.sincere.common.dto.smartCampus.SZ_AttendanceDto; | |
4 | +// | |
5 | +//import org.springframework.cloud.openfeign.FeignClient; | |
6 | +//import org.springframework.web.bind.annotation.RequestBody; | |
7 | +//import org.springframework.web.bind.annotation.RequestMapping; | |
8 | +//import org.springframework.web.bind.annotation.RequestMethod; | |
9 | +//import org.springframework.web.bind.annotation.RequestParam; | |
10 | +// | |
11 | +//import java.util.List; | |
12 | +// | |
13 | +//@FeignClient("smartCampusSearch") | |
14 | +//public interface HaikangfaceFegin { | |
15 | +// | |
16 | +//// @RequestMapping(method = RequestMethod.GET,value = "attendance/selectAttendaceWithId") | |
17 | +//// SZ_AttendanceDto selectAttendaceWithId(@RequestParam("clint_id") String clint_id); | |
18 | +//// | |
19 | +//// @RequestMapping(method = RequestMethod.GET,value = "attendance/getAttensWithIsKaoqin") | |
20 | +//// List<SZ_AttendanceDto> getAttensWithIsKaoqin(@RequestParam("IsKaoqin") int isKaoqin); | |
21 | +// | |
22 | +//} | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/service/UserOperateService.java
... | ... | @@ -91,7 +91,7 @@ public interface UserOperateService { |
91 | 91 | * @param deviceIds |
92 | 92 | * @return |
93 | 93 | */ |
94 | - Result sendFaceForNoSend(Integer schoolId,Integer studentType,String sex,Integer userType,String deviceIds); | |
94 | + Result sendFaceForNoSend(Integer schoolId,Integer studentType,String sex,Integer userType,String deviceIds,Integer groupId); | |
95 | 95 | |
96 | 96 | /** |
97 | 97 | * 补发单个人脸至指定设备 |
... | ... | @@ -131,6 +131,8 @@ public interface UserOperateService { |
131 | 131 | */ |
132 | 132 | Result sendFaceByClassId(Integer schoolId,String classIds,String deviceIds,Integer studentType,String sex,Integer isCheck); |
133 | 133 | |
134 | + Result sendFaceByGroupId(Integer schoolId,Integer groupId,String deviceIds); | |
135 | + | |
134 | 136 | /** |
135 | 137 | * 删除指定学校下的人脸 |
136 | 138 | * @param schoolId | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/service/impl/BaseService.java
... | ... | @@ -2,7 +2,6 @@ package com.sincere.haikangface.service.impl; |
2 | 2 | |
3 | 3 | |
4 | 4 | import com.google.common.util.concurrent.ThreadFactoryBuilder; |
5 | -import com.google.gson.Gson; | |
6 | 5 | import com.sincere.haikangface.CMSServer; |
7 | 6 | import com.sincere.haikangface.async.AsyncTask; |
8 | 7 | import com.sincere.haikangface.async.SendUserAsync; |
... | ... | @@ -15,7 +14,6 @@ import com.sincere.haikangface.enums.EnumSzBusinessType; |
15 | 14 | import com.sincere.haikangface.utils.CompressPic; |
16 | 15 | import com.sincere.haikangface.utils.DateUtils; |
17 | 16 | import com.sincere.haikangface.utils.FileUtils; |
18 | -import com.sincere.haikangface.utils.HttpUtil; | |
19 | 17 | import com.sincere.haikangface.xiananDao.SendRecordDao; |
20 | 18 | import lombok.extern.slf4j.Slf4j; |
21 | 19 | import org.apache.commons.lang3.StringUtils; |
... | ... | @@ -28,8 +26,6 @@ import java.io.File; |
28 | 26 | import java.text.SimpleDateFormat; |
29 | 27 | import java.util.*; |
30 | 28 | import java.util.concurrent.*; |
31 | -import java.util.function.Function; | |
32 | -import java.util.function.Predicate; | |
33 | 29 | import java.util.stream.Collectors; |
34 | 30 | |
35 | 31 | /** |
... | ... | @@ -518,13 +514,35 @@ public class BaseService { |
518 | 514 | * @return |
519 | 515 | */ |
520 | 516 | public List<StudentBean> getStudentListByGroup(Integer schoolId,Integer studentType,String sex,Integer groupId) { |
521 | - List<StudentBean> students = userDao.getStudentCardGroup(schoolId,studentType,sex,groupId); | |
517 | + List<Integer> sexList = new ArrayList<>(); | |
518 | + if(StringUtils.isNotBlank(sex)){ | |
519 | + String[] msg = sex.split(","); | |
520 | + for(String s : msg){ | |
521 | + sexList.add(Integer.valueOf(s)); | |
522 | + } | |
523 | + } | |
524 | + List<StudentBean> students = userDao.getStudentCardGroup(schoolId,studentType,sexList,groupId); | |
522 | 525 | //去重重复数据 |
523 | 526 | List<StudentBean> studentList = students.stream().collect(Collectors.collectingAndThen( |
524 | 527 | Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(StudentBean::getStudent_num))), ArrayList::new)); |
525 | 528 | return studentList; |
526 | 529 | } |
527 | 530 | |
531 | + | |
532 | + public List<StudentBean> getStudentListByGroupId(Integer schoolId,Integer groupId) { | |
533 | + List<Integer> rooms = userDao.getRoomBySchoolId(schoolId,groupId); | |
534 | + if(!CollectionUtils.isEmpty(rooms)) { | |
535 | + List<Integer> pIdlIst = rooms.stream().distinct().collect(Collectors.toList()); | |
536 | + List<StudentBean> studentBeans = userDao.getStudentByRoomIds(schoolId,pIdlIst); | |
537 | + //去重重复数据 | |
538 | + List<StudentBean> studentList = studentBeans.stream().collect(Collectors.collectingAndThen( | |
539 | + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(StudentBean::getStudent_num))), ArrayList::new)); | |
540 | + return studentList; | |
541 | + } | |
542 | + return null; | |
543 | + } | |
544 | + | |
545 | + | |
528 | 546 | /** |
529 | 547 | * 获取学校下的老师数据信息 |
530 | 548 | * @param schoolId | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/service/impl/UserOperateServiceImpl.java
... | ... | @@ -304,15 +304,24 @@ public class UserOperateServiceImpl implements UserOperateService { |
304 | 304 | if (userType == EnumSzBusinessType.EnumUserType.STUDENT.code && groupId ==null) { |
305 | 305 | studentBeanList = baseService.getStudentList(schoolId,studentType,sex); |
306 | 306 | }else if(userType == EnumSzBusinessType.EnumUserType.STUDENT.code && groupId !=null){ |
307 | - sex = sex.split(",")[0]; | |
308 | 307 | studentBeanList = baseService.getStudentListByGroup(schoolId,studentType,sex,groupId); |
309 | 308 | } |
310 | 309 | log.info("统计共有下发用户数量:{}",studentBeanList.size()); |
311 | 310 | //设备类型 |
312 | 311 | Integer clintType = userDao.getClintTypeByDeviceId(deviceList.get(0)); |
313 | 312 | if(clintType.intValue()== 22 || clintType.intValue()== 29){ |
314 | - //发送大华设备 | |
315 | - HttpUtil.uploadDHImg(String.valueOf(schoolId),userType,sendFaceDto.getsNos(),studentType,sex); | |
313 | + if(groupId ==null){ | |
314 | + //发送大华设备 | |
315 | + HttpUtil.uploadDHImg(String.valueOf(schoolId),userType,sendFaceDto.getsNos(),studentType,sex); | |
316 | + }else{ | |
317 | + Integer finalUserType = userType; | |
318 | + studentBeanList.stream().forEach(s->{ | |
319 | + String userId = s.getUser_id(); | |
320 | + deviceList.stream().forEach(deviceId ->{ | |
321 | + this.againSendFace(userId,deviceId, finalUserType); | |
322 | + }); | |
323 | + }); | |
324 | + } | |
316 | 325 | } |
317 | 326 | if(clintType.intValue()== 18 || clintType.intValue()== 28){ |
318 | 327 | //发送海康设备:异步执行 |
... | ... | @@ -618,7 +627,7 @@ public class UserOperateServiceImpl implements UserOperateService { |
618 | 627 | } |
619 | 628 | |
620 | 629 | @Override |
621 | - public Result sendFaceForNoSend(Integer schoolId,Integer studentType,String sex,Integer userType,String deviceIds) { | |
630 | + public Result sendFaceForNoSend(Integer schoolId,Integer studentType,String sex,Integer userType,String deviceIds,Integer groupId) { | |
622 | 631 | //若未传下发,则下发该学校下所有设备 |
623 | 632 | //下发设备集合 |
624 | 633 | List<String> idLists = null; |
... | ... | @@ -628,18 +637,21 @@ public class UserOperateServiceImpl implements UserOperateService { |
628 | 637 | String[] deviceArr = deviceIds.split(","); |
629 | 638 | idLists= new ArrayList<>(Arrays.asList(deviceArr)); |
630 | 639 | } |
640 | + if(CollectionUtils.isEmpty(idLists)){ | |
641 | + log.warn("该学校下未查询到下发设备"); | |
642 | + return ResultGenerator.genFailResult("该学校下未查询到下发设备"); | |
643 | + } | |
644 | + | |
631 | 645 | //下发用户集合 |
632 | 646 | List<StudentBean> list = null; |
633 | - if(userType.intValue() ==2){ | |
647 | + if (userType == EnumSzBusinessType.EnumUserType.STUDENT.code && groupId ==null) { | |
634 | 648 | list = baseService.getStudentList(schoolId,studentType,sex); |
649 | + }else if(userType == EnumSzBusinessType.EnumUserType.STUDENT.code && groupId !=null){ | |
650 | + list = baseService.getStudentListByGroup(schoolId,studentType,sex,groupId); | |
635 | 651 | } |
636 | - if(userType.intValue()==1){ | |
652 | + if(userType.intValue()==EnumSzBusinessType.EnumUserType.TEACHER.code){ | |
637 | 653 | list = baseService.getTeacherList(schoolId); |
638 | 654 | } |
639 | - if(StringUtils.isBlank(deviceIds)){ | |
640 | - log.warn("该学校下未查询到下发设备"); | |
641 | - return ResultGenerator.genFailResult("该学校下未查询到下发设备"); | |
642 | - } | |
643 | 655 | //异步执行下发 |
644 | 656 | sendFaceForNoSend(schoolId,userType,list,idLists); |
645 | 657 | int fileSize = list.size(); |
... | ... | @@ -657,7 +669,7 @@ public class UserOperateServiceImpl implements UserOperateService { |
657 | 669 | |
658 | 670 | |
659 | 671 | @Async |
660 | - protected void sendFaceForNoSend(Integer schoolId,Integer userType,List<StudentBean> studentList,List<String> deviceIds){ | |
672 | + public void sendFaceForNoSend(Integer schoolId,Integer userType,List<StudentBean> studentList,List<String> deviceIds){ | |
661 | 673 | log.info("统计共有:"+studentList.size()+"张卡,"+deviceIds.size()+"台设备." ); |
662 | 674 | for(StudentBean studentBean : studentList){ |
663 | 675 | for(String sno : deviceIds){ |
... | ... | @@ -999,6 +1011,42 @@ public class UserOperateServiceImpl implements UserOperateService { |
999 | 1011 | } |
1000 | 1012 | |
1001 | 1013 | @Override |
1014 | + public Result sendFaceByGroupId(Integer schoolId,Integer groupId,String deviceIds) { | |
1015 | + //下发设备集合 | |
1016 | + List<String> deviceList = new ArrayList<>(); | |
1017 | + if(StringUtils.isBlank(deviceIds)){ | |
1018 | + deviceList = deviceDao.selectDeviceBySchoolId(schoolId); | |
1019 | + }else{ | |
1020 | + String[] deviceArr = deviceIds.split(","); | |
1021 | + deviceList= new ArrayList<>(Arrays.asList(deviceArr)); | |
1022 | + } | |
1023 | + //根据类型获取下发用户信息 | |
1024 | + List<StudentBean> studentBeanList = baseService.getStudentListByGroupId(schoolId,groupId); | |
1025 | + log.info("统计共有下发用户数量:{}",studentBeanList.size()); | |
1026 | + //设备类型 | |
1027 | + Integer clintType = userDao.getClintTypeByDeviceId(deviceList.get(0)); | |
1028 | +// if(clintType.intValue()== 22 || clintType.intValue()== 29){ | |
1029 | +// //发送大华设备 | |
1030 | +// HttpUtil.uploadDHImgByClassId(String.valueOf(schoolId),deviceIds); | |
1031 | +// } | |
1032 | + if(clintType.intValue()== 18 || clintType.intValue()== 28){ | |
1033 | + //发送海康设备:异步执行 | |
1034 | + baseService.sendUserFaceByAsyncThread(schoolId,2,studentBeanList,deviceList); | |
1035 | + } | |
1036 | + int fileSize = studentBeanList.size(); | |
1037 | + int clintNum = deviceList.size(); | |
1038 | + //下发所用时长 | |
1039 | + int timeLength = new Double(clintNum * fileSize * 0.06).intValue(); | |
1040 | + //下发截止时间 | |
1041 | + String dateStr = baseService.getTime(fileSize,clintNum,timeLength); | |
1042 | + Map map = new HashMap(); | |
1043 | + map.put("timeLength",timeLength); | |
1044 | + map.put("afterDate",dateStr); | |
1045 | + map.put("fileSize",fileSize); | |
1046 | + return ResultGenerator.genSuccessResult(objectMapper.toJson(map)); | |
1047 | + } | |
1048 | + | |
1049 | + @Override | |
1002 | 1050 | public Result deleteFaceBySchoolId(Integer schoolId, String deviceIds) { |
1003 | 1051 | //下发设备集合 |
1004 | 1052 | List<String> deviceList = null; | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/utils/HttpUtil.java
... | ... | @@ -114,7 +114,6 @@ public class HttpUtil { |
114 | 114 | } |
115 | 115 | try{ |
116 | 116 | String url = "http://120.26.116.253:8089/file/uploadImg"; |
117 | -// String url = "http://127.0.0.1:8089/file/uploadImg"; | |
118 | 117 | RestTemplate restTemplate = new RestTemplate(); |
119 | 118 | HttpHeaders headers = new HttpHeaders(); |
120 | 119 | MediaType mediaType = MediaType.parseMediaType(MediaType.MULTIPART_FORM_DATA_VALUE); |
... | ... | @@ -249,8 +248,7 @@ public class HttpUtil { |
249 | 248 | */ |
250 | 249 | public static void sendDHPermission(PermissionDHBean permissionBean) { |
251 | 250 | try{ |
252 | - String url = "http://121.40.109.21:8991/file/sendPermission"; | |
253 | -// String url = "http://127.0.0.1:8991/file/sendPermission"; | |
251 | + String url = "http://116.62.155.137:8991/file/sendPermission"; | |
254 | 252 | RestTemplate restTemplate = new RestTemplate(); |
255 | 253 | HttpHeaders headers = new HttpHeaders(); |
256 | 254 | MediaType mediaType = MediaType.parseMediaType(MediaType.APPLICATION_JSON_UTF8_VALUE); |
... | ... | @@ -289,7 +287,6 @@ public class HttpUtil { |
289 | 287 | */ |
290 | 288 | public static void uploadDHImg(String schoolId,Integer userType,String deviceIds,Integer studentType,String sex) { |
291 | 289 | String api = "http://114.55.30.100:8991/operate/sendUserFaces"; |
292 | -// String api = "http://127.0.0.1:8991/user/sendFaces"; | |
293 | 290 | try { |
294 | 291 | String url = String.format(api +"?schoolId=%s&userType=%s&deviceIds=%s&studentType=%s&sex=%s",schoolId,userType,deviceIds,studentType,sex); |
295 | 292 | RestTemplate restTemplate = new RestTemplate(); |
... | ... | @@ -319,7 +316,7 @@ public class HttpUtil { |
319 | 316 | * @param deviceId |
320 | 317 | */ |
321 | 318 | public static void deleteDHFace(Integer schoolId,String cardNum,String deviceId) { |
322 | - String api = "http://121.40.109.21:8991/operate/deleteFaceByCard"; | |
319 | + String api = "http://116.62.155.137:8991/operate/deleteFaceByCard"; | |
323 | 320 | try { |
324 | 321 | String url = String.format(api +"?schoolId=%s&cardNum=%s&deviceId=%s",schoolId,cardNum,deviceId); |
325 | 322 | RestTemplate restTemplate = new RestTemplate(); | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/xiananDao/SendRecordDao.java
... | ... | @@ -36,10 +36,10 @@ public interface SendRecordDao { |
36 | 36 | @Select("select a.deviceID,a.Num,a.Name from Face_SendFail a inner join Face_SendSuccess b on a.deviceID = b.deviceID where a.schoolId = 1030 and a.num = b.Num") |
37 | 37 | List<SendRecordBean> getSuccessAndFail(); |
38 | 38 | |
39 | - @Insert("insert into Face_Recoder values(#{deviceId},#{user_id},#{name},#{imgurl},#{inOrOut},#{time},#{cardNum},#{temp})") | |
39 | + @Insert("insert into Face_Recoder values(#{deviceId},#{user_id},#{name},#{imgurl},#{inOrOut},#{time},#{cardNum},#{temp},#{schoolId})") | |
40 | 40 | void addFaceRecoder(@Param("deviceId") String deviceId, @Param("user_id") String user_id, @Param("name") String name, |
41 | 41 | @Param("imgurl") String imgurl, @Param("inOrOut") int inOrOut, @Param("time") String time, |
42 | - @Param("cardNum") String cardNum, @Param("temp") String currTemperature); | |
42 | + @Param("cardNum") String cardNum, @Param("temp") String currTemperature,@Param("schoolId") int schoolId); | |
43 | 43 | |
44 | 44 | @Insert("insert into SZ_AttendanceRecordsSS201911 values(#{user_id},#{school_id},#{customerId},#{usertype},#{card_num},#{card_type},#{outof},#{intime},#{cid}," + |
45 | 45 | "#{func_no},#{head_image},#{classId},#{s},#{attendance_id},#{name},#{mobile},#{class_name},#{sex},#{student_type},#{systime})") | ... | ... |
cloud/haikangface/src/main/resources/application.yaml
... | ... | @@ -38,14 +38,14 @@ ribbon: |
38 | 38 | ReadTimeout: 50000 |
39 | 39 | ConnectTimeout: 5000 |
40 | 40 | |
41 | -eureka: | |
42 | - instance: | |
43 | - hostname: localhost | |
44 | - lease-expiration-duration-in-seconds: 60 | |
45 | - lease-renewal-interval-in-seconds: 10 | |
46 | - client: | |
47 | - service-url: | |
48 | - defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/ | |
41 | +#eureka: | |
42 | +# instance: | |
43 | +# hostname: localhost | |
44 | +# lease-expiration-duration-in-seconds: 60 | |
45 | +# lease-renewal-interval-in-seconds: 10 | |
46 | +# client: | |
47 | +# service-url: | |
48 | +# defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/ | |
49 | 49 | # defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ |
50 | 50 | |
51 | 51 | mybatis: | ... | ... |
cloud/haikangface/src/main/resources/mapper/usermapper.xml
... | ... | @@ -102,8 +102,19 @@ |
102 | 102 | </select> |
103 | 103 | |
104 | 104 | <select id="getStudentCardGroup" resultType="com.sincere.haikangface.bean.StudentBean"> |
105 | - select * from SZ_V_School_Student where sex = #{sex} and student_type = #{studentType} and | |
106 | - class_id in(select DISTINCT ClassId from SZ_OneCardGrouping where Pid = #{groupId} and state = 1) | |
105 | + select * from SZ_V_School_Student where school_id = #{schoolId} | |
106 | + <if test="studentType != null"> | |
107 | + and student_type = #{studentType} | |
108 | + </if> | |
109 | + <if test="sexList != null and sexList.size() >0"> | |
110 | + and sex in | |
111 | + <foreach item="item" collection="sexList" separator="," open="(" close=")" index=""> | |
112 | + #{item} | |
113 | + </foreach> | |
114 | + </if> | |
115 | + <if test="groupId != null"> | |
116 | + and class_id in(select DISTINCT ClassId from SZ_OneCardGrouping where Pid = #{groupId} and state = 1) | |
117 | + </if> | |
107 | 118 | </select> |
108 | 119 | |
109 | 120 | <select id="getTeacherList" resultType="com.sincere.haikangface.bean.StudentBean"> |
... | ... | @@ -188,4 +199,26 @@ |
188 | 199 | <update id="updateStudent" parameterType="java.lang.Integer"> |
189 | 200 | update sz_student_bak set status = 1 where id = #{id} |
190 | 201 | </update> |
202 | + | |
203 | + <select id="getRoomBySchoolId" resultType="java.lang.Integer"> | |
204 | + select Id from ss_room where schoolId = #{schoolId} and pId = #{groupId} | |
205 | + </select> | |
206 | + | |
207 | + <select id="getStudentByRoomIds" resultType="com.sincere.haikangface.bean.StudentBean"> | |
208 | + SELECT | |
209 | + ssu.* | |
210 | + from SS_RoomNumber ssr | |
211 | + LEFT JOIN SZ_V_School_Student ssu ON ssr.studentId = ssu.student_id | |
212 | + <where> | |
213 | + <if test="schoolId != null"> | |
214 | + and ssr.schoolId = #{schoolId} | |
215 | + </if> | |
216 | + <if test="pIdList != null and pIdList.size()>0"> | |
217 | + and ssr.Pid in | |
218 | + <foreach item="item" collection="pIdList" open="(" separator="," close=")" index=""> | |
219 | + #{item} | |
220 | + </foreach> | |
221 | + </if> | |
222 | + </where> | |
223 | + </select> | |
191 | 224 | </mapper> | ... | ... |
cloud/pom.xml
... | ... | @@ -27,24 +27,24 @@ |
27 | 27 | <modules> |
28 | 28 | <module>server1</module> |
29 | 29 | <module>server2</module> |
30 | - <module>autho</module> | |
30 | +<!-- <module>autho</module>--> | |
31 | 31 | <module>common</module> |
32 | - <module>getaway</module> | |
33 | - <!--<module>haikang</module>--> | |
34 | -<!-- <module>dahua</module>--> | |
35 | - <!-- <module>consumer</module>--> | |
36 | -<!-- <module>haikangface</module>--> | |
37 | - <!-- <module>search_independence</module>--> | |
38 | - <!-- <module>search_smartCampus</module>--> | |
39 | - <!-- <module>search_xiaoan</module>--> | |
32 | + <module>dahua</module> | |
33 | + <module>haikangface</module> | |
34 | +<!-- <module>quartz</module>--> | |
35 | +<!-- <module>getaway</module>--> | |
36 | +<!-- <module>haikang</module>--> | |
37 | +<!-- <module>consumer</module>--> | |
38 | +<!-- <module>search_independence</module>--> | |
39 | +<!-- <module>search_smartCampus</module>--> | |
40 | +<!-- <module>search_xiaoan</module>--> | |
40 | 41 | <!-- <module>mypulsar</module>--> |
41 | - <!-- <module>weigeng</module>--> | |
42 | - <!-- <module>independence</module>--> | |
43 | - <module>quartz</module> | |
44 | -<!-- <module>zkAttendance</module>--> | |
45 | - <module>user_search</module> | |
42 | +<!-- <module>weigeng</module>--> | |
43 | +<!-- <module>independence</module>--> | |
44 | +<!-- <module>zkAttendance</module>--> | |
45 | +<!-- <module>user_search</module>--> | |
46 | 46 | <module>fIle-center</module> |
47 | - <module>RibbonConsume</module> | |
47 | +<!-- <module>RibbonConsume</module>--> | |
48 | 48 | </modules> |
49 | 49 | |
50 | 50 | <dependencies> | ... | ... |
cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java
... | ... | @@ -23,7 +23,7 @@ public class SyncJob { |
23 | 23 | YXYReadService yxyReadService ; |
24 | 24 | |
25 | 25 | @Scheduled(cron = "30 1 22 * * ? ") |
26 | -// @Scheduled(cron = "* 20 9 * * ? ") | |
26 | +// @Scheduled(fixedDelay = 120 * 60 * 1000) | |
27 | 27 | public void Sync(){ |
28 | 28 | //翼校通的同步 之后还有钉钉的同步等等 |
29 | 29 | yxyReadService.sync(); | ... | ... |
cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java
... | ... | @@ -112,7 +112,8 @@ public class YXYReadService { |
112 | 112 | logger.info("------------------当天更新完成"); |
113 | 113 | try{ |
114 | 114 | String today = DateUtils.getToday(DateUtils.format1)+" 22:00:00" ; |
115 | - int number = Integer.parseInt(readFileContent("D:\\cloud\\config.txt")); | |
115 | +// int number = Integer.parseInt(readFileContent("E:\\cloud\\config.txt")); | |
116 | + int number = 300000; | |
116 | 117 | logger.info("开始执行删除同步数据------:时间:"+today); |
117 | 118 | int count = yxyService.selectCount(today); |
118 | 119 | logger.info("跑批总数:count: "+ count); | ... | ... |
cloud/quartz/src/main/resources/application.yaml
... | ... | @@ -32,12 +32,12 @@ mybatis: |
32 | 32 | ribbon: |
33 | 33 | ReadTimeout: 50000 |
34 | 34 | ConnectTimeout: 5000 |
35 | -eureka: | |
36 | - instance: | |
37 | - hostname: localhost | |
38 | - lease-expiration-duration-in-seconds: 60 | |
39 | - lease-renewal-interval-in-seconds: 10 | |
40 | - client: | |
41 | - service-url: | |
42 | - defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/ | |
35 | +#eureka: | |
36 | +# instance: | |
37 | +# hostname: localhost | |
38 | +# lease-expiration-duration-in-seconds: 60 | |
39 | +# lease-renewal-interval-in-seconds: 10 | |
40 | +# client: | |
41 | +# service-url: | |
42 | +# defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/ | |
43 | 43 | ... | ... |