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,35 +156,37 @@ | ||
| 156 | <plugin> | 156 | <plugin> |
| 157 | <groupId>org.springframework.boot</groupId> | 157 | <groupId>org.springframework.boot</groupId> |
| 158 | <artifactId>spring-boot-maven-plugin</artifactId> | 158 | <artifactId>spring-boot-maven-plugin</artifactId> |
| 159 | + <executions> | ||
| 160 | + <execution> | ||
| 161 | + <goals> | ||
| 162 | + <goal>repackage</goal> | ||
| 163 | + </goals> | ||
| 164 | + </execution> | ||
| 165 | + </executions> | ||
| 159 | <configuration> | 166 | <configuration> |
| 160 | <includeSystemScope>true</includeSystemScope> | 167 | <includeSystemScope>true</includeSystemScope> |
| 161 | <layout>ZIP</layout> | 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 | </configuration> | 176 | </configuration> |
| 170 | </plugin> | 177 | </plugin> |
| 171 | - | ||
| 172 | <plugin> | 178 | <plugin> |
| 173 | <groupId>org.apache.maven.plugins</groupId> | 179 | <groupId>org.apache.maven.plugins</groupId> |
| 174 | <artifactId>maven-dependency-plugin</artifactId> | 180 | <artifactId>maven-dependency-plugin</artifactId> |
| 175 | - <!-- <version>2.2</version><!–$NO-MVN-MAN-VER$ –>--> | ||
| 176 | <executions> | 181 | <executions> |
| 177 | <execution> | 182 | <execution> |
| 178 | - <id>copy-dependencies</id> | 183 | + <id>copy</id> |
| 179 | <phase>package</phase> | 184 | <phase>package</phase> |
| 180 | <goals> | 185 | <goals> |
| 181 | <goal>copy-dependencies</goal> | 186 | <goal>copy-dependencies</goal> |
| 182 | </goals> | 187 | </goals> |
| 183 | <configuration> | 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 | </configuration> | 190 | </configuration> |
| 189 | </execution> | 191 | </execution> |
| 190 | </executions> | 192 | </executions> |
cloud/dahua/src/main/java/com/example/dahua/DahuaApplication.java
| @@ -37,7 +37,7 @@ import java.util.concurrent.TimeUnit; | @@ -37,7 +37,7 @@ import java.util.concurrent.TimeUnit; | ||
| 37 | @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, MybatisAutoConfiguration.class}) | 37 | @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, MybatisAutoConfiguration.class}) |
| 38 | @SpringBootApplication | 38 | @SpringBootApplication |
| 39 | @MapperScan("com.example.dahua.dao") | 39 | @MapperScan("com.example.dahua.dao") |
| 40 | -@EnableDiscoveryClient | 40 | +//@EnableDiscoveryClient |
| 41 | @EnableScheduling | 41 | @EnableScheduling |
| 42 | public class DahuaApplication { | 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,18 +420,19 @@ public class MyTask implements ApplicationRunner { | ||
| 420 | String userId = new String(msg.szUserID).trim(); | 420 | String userId = new String(msg.szUserID).trim(); |
| 421 | //开门错误码 | 421 | //开门错误码 |
| 422 | int messageCode = msg.nErrorCode; | 422 | int messageCode = msg.nErrorCode; |
| 423 | - log.info("设备ID: {}, 开门用户ID: {}, 开门卡号: {}",szSn,userId,card); | ||
| 424 | //处理心跳 | 423 | //处理心跳 |
| 425 | saveAttendanceService(szSn,"",0,1); | 424 | saveAttendanceService(szSn,"",0,1); |
| 425 | + String newCard = ""; | ||
| 426 | try { | 426 | try { |
| 427 | if (!StringUtils.isEmpty(card)) { | 427 | if (!StringUtils.isEmpty(card)) { |
| 428 | //根据卡号获取卡身份信息 | 428 | //根据卡号获取卡身份信息 |
| 429 | CardBean cardBean = myTaskUtil.userDao.getCards(card); | 429 | CardBean cardBean = myTaskUtil.userDao.getCards(card); |
| 430 | if(cardBean ==null){ | 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 | if(cardBean ==null){ | 434 | if(cardBean ==null){ |
| 435 | + log.info("卡号有误!!设备ID: 【{}】,上报卡号: 【{}】",szSn,card); | ||
| 435 | return -1; | 436 | return -1; |
| 436 | } | 437 | } |
| 437 | // 缓存抓拍人脸 | 438 | // 缓存抓拍人脸 |
| @@ -450,6 +451,7 @@ public class MyTask implements ApplicationRunner { | @@ -450,6 +451,7 @@ public class MyTask implements ApplicationRunner { | ||
| 450 | if(attendanceBean !=null){ | 451 | if(attendanceBean !=null){ |
| 451 | if(!StringUtils.isEmpty(attendanceBean.getSchool_id())){ | 452 | if(!StringUtils.isEmpty(attendanceBean.getSchool_id())){ |
| 452 | int schoolId = Integer.parseInt(attendanceBean.getSchool_id()); | 453 | int schoolId = Integer.parseInt(attendanceBean.getSchool_id()); |
| 454 | + String clintName = attendanceBean.getName(); | ||
| 453 | //门禁进出类型:1进0出 | 455 | //门禁进出类型:1进0出 |
| 454 | int eventType = 0; | 456 | int eventType = 0; |
| 455 | if(StringUtils.isEmpty(attendanceBean.getOutOrIn())){ | 457 | if(StringUtils.isEmpty(attendanceBean.getOutOrIn())){ |
| @@ -460,30 +462,42 @@ public class MyTask implements ApplicationRunner { | @@ -460,30 +462,42 @@ public class MyTask implements ApplicationRunner { | ||
| 460 | //刷卡时间 | 462 | //刷卡时间 |
| 461 | String eventTime = DateUtils.date2String(new Date(), DateUtils.format2); | 463 | String eventTime = DateUtils.date2String(new Date(), DateUtils.format2); |
| 462 | //老师 | 464 | //老师 |
| 465 | + TeacherBean teacherBean = null; | ||
| 463 | if (cardBean.getType() == 0) { | 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 | myTaskUtil.sendRecordDao.addFaceRecoder(szSn, teacherBean.getUser_id(), teacherBean.getName(), snapPicPath,eventType, | 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 | UserInfoBean userInfoBean = null; | 473 | UserInfoBean userInfoBean = null; |
| 470 | if (cardBean.getType() == 2) { | 474 | if (cardBean.getType() == 2) { |
| 471 | //学生人脸信息,保存人脸记录表 | 475 | //学生人脸信息,保存人脸记录表 |
| 472 | userInfoBean = myTaskUtil.userDao.getStudentWithid(cardBean.getUser_id()); | 476 | userInfoBean = myTaskUtil.userDao.getStudentWithid(cardBean.getUser_id()); |
| 473 | myTaskUtil.sendRecordDao.addFaceRecoder(szSn, userInfoBean.getUser_id(), userInfoBean.getName(), snapPicPath,eventType, | 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 | //刷卡结果,1表示成功, 0表示失败 | 480 | //刷卡结果,1表示成功, 0表示失败 |
| 479 | int status = msg.bStatus; | 481 | int status = msg.bStatus; |
| 480 | - | 482 | + String result = status == 1 ? "开门成功" : "开门失败"; |
| 483 | + String openMsg = eventType ==1 ? "进" : "出" ; | ||
| 481 | if(szSn.startsWith("ytj")) { | 484 | if(szSn.startsWith("ytj")) { |
| 485 | + log.info("出入信息:学校【{}】,开门方向:【{}】",schoolId,status); | ||
| 482 | // 艺校考勤OA | 486 | // 艺校考勤OA |
| 483 | if(schoolId == 12 && status ==1){ | 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 | }else{ | 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 | kaoQinRecord(status, eventType, card, szSn, eventTime,lAnalyzerHandle); | 502 | kaoQinRecord(status, eventType, card, szSn, eventTime,lAnalyzerHandle); |
| 489 | } | 503 | } |
| @@ -499,6 +513,19 @@ public class MyTask implements ApplicationRunner { | @@ -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 | * 根据ip和port获取设备id | 530 | * 根据ip和port获取设备id |
| 504 | * | 531 | * |
| @@ -771,7 +798,7 @@ public class MyTask implements ApplicationRunner { | @@ -771,7 +798,7 @@ public class MyTask implements ApplicationRunner { | ||
| 771 | return true; | 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 | try { | 802 | try { |
| 776 | String api = "http://yixiao.198.hmkj.com.cn/index.php/Attend/send"; | 803 | String api = "http://yixiao.198.hmkj.com.cn/index.php/Attend/send"; |
| 777 | RestTemplate restTemplate = new RestTemplate(); | 804 | RestTemplate restTemplate = new RestTemplate(); |
| @@ -780,14 +807,15 @@ public class MyTask implements ApplicationRunner { | @@ -780,14 +807,15 @@ public class MyTask implements ApplicationRunner { | ||
| 780 | map.add("xuehao", userId); | 807 | map.add("xuehao", userId); |
| 781 | map.add("time", eventTime); | 808 | map.add("time", eventTime); |
| 782 | map.add("state", intOrOut); | 809 | map.add("state", intOrOut); |
| 810 | + map.add("loudong", scene); | ||
| 783 | HttpHeaders headers = new HttpHeaders(); | 811 | HttpHeaders headers = new HttpHeaders(); |
| 784 | headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); | 812 | headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); |
| 785 | HttpEntity<MultiValueMap<String, Object>> param = new HttpEntity<>(map, headers); | 813 | HttpEntity<MultiValueMap<String, Object>> param = new HttpEntity<>(map, headers); |
| 786 | ResponseEntity<String> response = restTemplate.postForEntity(api, param, String.class); | 814 | ResponseEntity<String> response = restTemplate.postForEntity(api, param, String.class); |
| 787 | String body = response.getBody(); | 815 | String body = response.getBody(); |
| 788 | - log.info("请求艺校OA,返回信息: " + body); | 816 | + log.info("请求艺校OA,用户名称【{}】,返回信息【{}】 ",name,body); |
| 789 | } catch (Exception e) { | 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,7 +217,7 @@ public class SendUserInfoTask2 { | ||
| 217 | log.error("学生类型【{}】无对应权限通道。",studentType); | 217 | log.error("学生类型【{}】无对应权限通道。",studentType); |
| 218 | channel = getAuthChannelByClassId(Integer.parseInt(schoolId),Integer.parseInt(classId),deviceId); | 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 | sendRecordBean.setFailType(EnumSendFaceType.AUTH_NOT_SET.code); | 222 | sendRecordBean.setFailType(EnumSendFaceType.AUTH_NOT_SET.code); |
| 223 | sendRecordBean.setFailContent(EnumSendFaceType.AUTH_NOT_SET.message); | 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,4 +124,20 @@ public class UserOperateController { | ||
| 124 | public Result sendFaceByThread(@RequestBody YxSendFaceDto sendFaceDto) { | 124 | public Result sendFaceByThread(@RequestBody YxSendFaceDto sendFaceDto) { |
| 125 | return userOperateService.sendYxUserFace(sendFaceDto); | 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
| @@ -38,4 +38,6 @@ public interface UserOperateService { | @@ -38,4 +38,6 @@ public interface UserOperateService { | ||
| 38 | * @return | 38 | * @return |
| 39 | */ | 39 | */ |
| 40 | Result sendYxUserFace(YxSendFaceDto sendFaceDto); | 40 | Result sendYxUserFace(YxSendFaceDto sendFaceDto); |
| 41 | + | ||
| 42 | + void sendCard(String cardNum,Integer schoolId,String deviceIds); | ||
| 41 | } | 43 | } |
cloud/dahua/src/main/java/com/example/dahua/service/imp/UserOperateServiceImpl.java
| @@ -19,6 +19,7 @@ import com.example.dahua.utils.DateUtils; | @@ -19,6 +19,7 @@ import com.example.dahua.utils.DateUtils; | ||
| 19 | import com.example.dahua.utils.HttpUtils; | 19 | import com.example.dahua.utils.HttpUtils; |
| 20 | import com.example.dahua.xiananDao.SearchMapper; | 20 | import com.example.dahua.xiananDao.SearchMapper; |
| 21 | import com.example.dahua.xiananDao.SendRecordDao; | 21 | import com.example.dahua.xiananDao.SendRecordDao; |
| 22 | +import com.google.gson.Gson; | ||
| 22 | import lombok.extern.slf4j.Slf4j; | 23 | import lombok.extern.slf4j.Slf4j; |
| 23 | import org.springframework.beans.BeanUtils; | 24 | import org.springframework.beans.BeanUtils; |
| 24 | import org.springframework.beans.factory.annotation.Autowired; | 25 | import org.springframework.beans.factory.annotation.Autowired; |
| @@ -301,4 +302,26 @@ public class UserOperateServiceImpl implements UserOperateService { | @@ -301,4 +302,26 @@ public class UserOperateServiceImpl implements UserOperateService { | ||
| 301 | sendFace(dtoList,deviceList,schoolId,2); | 302 | sendFace(dtoList,deviceList,schoolId,2); |
| 302 | return ResultGenerator.genSuccessResult(); | 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
| @@ -82,4 +82,9 @@ public class DateUtils { | @@ -82,4 +82,9 @@ public class DateUtils { | ||
| 82 | return cal.getTime(); | 82 | return cal.getTime(); |
| 83 | } | 83 | } |
| 84 | 84 | ||
| 85 | + public static void main(String[] args) { | ||
| 86 | + System.out.println(getDateByTime(3,new Date())); | ||
| 87 | + System.out.println(getDateByTime(-3,new Date())); | ||
| 88 | + } | ||
| 89 | + | ||
| 85 | } | 90 | } |
cloud/dahua/src/main/java/com/example/dahua/utils/HttpUtils.java
| @@ -40,7 +40,8 @@ public class HttpUtils { | @@ -40,7 +40,8 @@ public class HttpUtils { | ||
| 40 | return false; | 40 | return false; |
| 41 | } | 41 | } |
| 42 | String targPath = FilePath.picPathComp + studentCode + ".jpg"; | 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 | MultiValueMap<String, Object> multivaluedMap = new LinkedMultiValueMap<>(); | 45 | MultiValueMap<String, Object> multivaluedMap = new LinkedMultiValueMap<>(); |
| 45 | HttpHeaders headers = new HttpHeaders(); | 46 | HttpHeaders headers = new HttpHeaders(); |
| 46 | RestTemplate restTemplate = new RestTemplate(); | 47 | RestTemplate restTemplate = new RestTemplate(); |
| @@ -88,8 +89,8 @@ public class HttpUtils { | @@ -88,8 +89,8 @@ public class HttpUtils { | ||
| 88 | 89 | ||
| 89 | String targetPath = FilePath.picPathComp + studentCode + FilePath.fileSuffix; | 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 | MultiValueMap<String, Object> multivaluedMap = new LinkedMultiValueMap<>(); | 95 | MultiValueMap<String, Object> multivaluedMap = new LinkedMultiValueMap<>(); |
| 95 | HttpHeaders headers = new HttpHeaders(); | 96 | HttpHeaders headers = new HttpHeaders(); |
| @@ -148,7 +149,7 @@ public class HttpUtils { | @@ -148,7 +149,7 @@ public class HttpUtils { | ||
| 148 | } | 149 | } |
| 149 | 150 | ||
| 150 | public static void deleteFace(Integer schoolId) { | 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 | RestTemplate restTemplate = new RestTemplate(); | 153 | RestTemplate restTemplate = new RestTemplate(); |
| 153 | ResponseEntity<Boolean> result = restTemplate.getForEntity(url, Boolean.class); | 154 | ResponseEntity<Boolean> result = restTemplate.getForEntity(url, Boolean.class); |
| 154 | System.out.println("发生请求21服务删除人脸,请求地址: +" + url+ "返回信息: "+ result.getBody()); | 155 | System.out.println("发生请求21服务删除人脸,请求地址: +" + url+ "返回信息: "+ result.getBody()); |
| @@ -160,8 +161,8 @@ public class HttpUtils { | @@ -160,8 +161,8 @@ public class HttpUtils { | ||
| 160 | * @return | 161 | * @return |
| 161 | */ | 162 | */ |
| 162 | public static boolean sendPermission(PermissionBean permissionBean) { | 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 | RestTemplate restTemplate = new RestTemplate(); | 166 | RestTemplate restTemplate = new RestTemplate(); |
| 166 | 167 | ||
| 167 | HttpHeaders headers = new HttpHeaders(); | 168 | HttpHeaders headers = new HttpHeaders(); |
| @@ -185,11 +186,8 @@ public class HttpUtils { | @@ -185,11 +186,8 @@ public class HttpUtils { | ||
| 185 | public static void sendPermission2HK(PermissionFaceBean permissionFaceBean) { | 186 | public static void sendPermission2HK(PermissionFaceBean permissionFaceBean) { |
| 186 | String url = "http://114.55.30.100:8089/facereco/sendPermiss"; | 187 | String url = "http://114.55.30.100:8089/facereco/sendPermiss"; |
| 187 | PermissionBean permissionBean = permissionFaceBean.getPermissionBean(); | 188 | PermissionBean permissionBean = permissionFaceBean.getPermissionBean(); |
| 188 | - | ||
| 189 | if (null!=permissionBean){ | 189 | if (null!=permissionBean){ |
| 190 | - | ||
| 191 | PermissionHKBean permissionHKBean = new PermissionHKBean(); | 190 | PermissionHKBean permissionHKBean = new PermissionHKBean(); |
| 192 | - | ||
| 193 | permissionHKBean.setDeviceIds(permissionBean.getDeviceIds()); | 191 | permissionHKBean.setDeviceIds(permissionBean.getDeviceIds()); |
| 194 | permissionHKBean.setSchoolId(permissionFaceBean.getSchoolId()+""); | 192 | permissionHKBean.setSchoolId(permissionFaceBean.getSchoolId()+""); |
| 195 | permissionHKBean.setUserType("2"); | 193 | permissionHKBean.setUserType("2"); |
| @@ -208,8 +206,6 @@ public class HttpUtils { | @@ -208,8 +206,6 @@ public class HttpUtils { | ||
| 208 | ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, httpEntity, String.class); | 206 | ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, httpEntity, String.class); |
| 209 | 207 | ||
| 210 | System.out.println("海康设备下发权限:" + responseEntity.getBody()); | 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,10 +73,10 @@ public interface SendRecordDao { | ||
| 73 | @Select("select * from Face_SendFail where schoolId = #{schoolId} and userType = #{userType} and deviceID = #{deviceID}") | 73 | @Select("select * from Face_SendFail where schoolId = #{schoolId} and userType = #{userType} and deviceID = #{deviceID}") |
| 74 | List<SendRecordBean> getFaceFails(@Param("userType") int userType, @Param("schoolId") int schoolId, @Param("deviceID") String deviceID); | 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 | void addFaceRecoder(@Param("deviceId") String deviceId, @Param("user_id") String user_id, @Param("name") String name, | 77 | void addFaceRecoder(@Param("deviceId") String deviceId, @Param("user_id") String user_id, @Param("name") String name, |
| 78 | @Param("imgurl") String imgurl, @Param("inOrOut") int inOrOut, @Param("time") String time, | 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 | @Select("select DISTINCT deviceID from Face_SendFail where schoolId = #{schoolId} ") | 81 | @Select("select DISTINCT deviceID from Face_SendFail where schoolId = #{schoolId} ") |
| 82 | List<String> getDeviceIds(@Param("schoolId") String schoolId); | 82 | List<String> getDeviceIds(@Param("schoolId") String schoolId); |
cloud/dahua/src/main/resources/bootstrap.yml
| @@ -18,23 +18,23 @@ spring: | @@ -18,23 +18,23 @@ spring: | ||
| 18 | # show-details: always | 18 | # show-details: always |
| 19 | 19 | ||
| 20 | #eureka client配置 | 20 | #eureka client配置 |
| 21 | -eureka: | ||
| 22 | - client: | ||
| 23 | - serviceUrl: | 21 | +#eureka: |
| 22 | +# client: | ||
| 23 | +# serviceUrl: | ||
| 24 | # defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ | 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 | #http://134.224.249.33:1111/eureka/ 正式库 | 26 | #http://134.224.249.33:1111/eureka/ 正式库 |
| 27 | #http://134.224.249.33:1111/eureka/ 测试库 | 27 | #http://134.224.249.33:1111/eureka/ 测试库 |
| 28 | #http://127.0.0.1:8761/eureka,http://127.0.0.1:8762/eureka | 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 | instance: | 31 | instance: |
| 32 | # prefer-ip-address: false | 32 | # prefer-ip-address: false |
| 33 | - instance-id: ${spring.application.name} | 33 | +# instance-id: ${spring.application.name} |
| 34 | # instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${server.port}} #固定端口 | 34 | # instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${server.port}} #固定端口 |
| 35 | # instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${spring.application.instance_id:${randomServerPort.value[5000,5005]}} #随机端口 | 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 | # status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/doc.html # ${server.port}为该服务的端口号 | 38 | # status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/doc.html # ${server.port}为该服务的端口号 |
| 39 | - hostname: localhost | 39 | +# hostname: localhost |
| 40 | # status-page-url: http://${spring.cloud.client.ip-address}:${randomServerPort.value[5000,5005]}/document.html # ${server.port}为该服务的端口号 | 40 | # status-page-url: http://${spring.cloud.client.ip-address}:${randomServerPort.value[5000,5005]}/document.html # ${server.port}为该服务的端口号 |
| 41 | \ No newline at end of file | 41 | \ No newline at end of file |
cloud/dahua/src/main/resources/logback-spring.xml
| @@ -8,7 +8,10 @@ | @@ -8,7 +8,10 @@ | ||
| 8 | <!--<include resource="org/springframework/boot/logging/logback/defaults.xml" />--> | 8 | <!--<include resource="org/springframework/boot/logging/logback/defaults.xml" />--> |
| 9 | 9 | ||
| 10 | <!--日志文件存储的基础路径: ${user.home} 为当前服务器用户主目录--> | 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 | <property name="BASE_FILE_NAME" value="dahua"/> | 17 | <property name="BASE_FILE_NAME" value="dahua"/> |
cloud/fIle-center/pom.xml
| @@ -89,7 +89,22 @@ | @@ -89,7 +89,22 @@ | ||
| 89 | </includes> | 89 | </includes> |
| 90 | </configuration> | 90 | </configuration> |
| 91 | </plugin> | 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 | </plugins> | 108 | </plugins> |
| 94 | <finalName>file-center</finalName> | 109 | <finalName>file-center</finalName> |
| 95 | </build> | 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,7 +6,7 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient; | ||
| 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; | 6 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; |
| 7 | import org.springframework.context.annotation.Configuration; | 7 | import org.springframework.context.annotation.Configuration; |
| 8 | 8 | ||
| 9 | -@EnableDiscoveryClient | 9 | +//@EnableDiscoveryClient |
| 10 | @SpringBootApplication | 10 | @SpringBootApplication |
| 11 | public class FileApplication { | 11 | public class FileApplication { |
| 12 | 12 |
cloud/fIle-center/src/main/resources/bootstrap.yml
| @@ -22,23 +22,23 @@ spring: | @@ -22,23 +22,23 @@ spring: | ||
| 22 | # show-details: always | 22 | # show-details: always |
| 23 | 23 | ||
| 24 | #eureka client配置 | 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 | \ No newline at end of file | 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 | \ No newline at end of file | 46 | \ No newline at end of file |
cloud/haikangface/pom.xml
| @@ -169,42 +169,37 @@ | @@ -169,42 +169,37 @@ | ||
| 169 | <plugin> | 169 | <plugin> |
| 170 | <groupId>org.springframework.boot</groupId> | 170 | <groupId>org.springframework.boot</groupId> |
| 171 | <artifactId>spring-boot-maven-plugin</artifactId> | 171 | <artifactId>spring-boot-maven-plugin</artifactId> |
| 172 | + <executions> | ||
| 173 | + <execution> | ||
| 174 | + <goals> | ||
| 175 | + <goal>repackage</goal> | ||
| 176 | + </goals> | ||
| 177 | + </execution> | ||
| 178 | + </executions> | ||
| 172 | <configuration> | 179 | <configuration> |
| 173 | <includeSystemScope>true</includeSystemScope> | 180 | <includeSystemScope>true</includeSystemScope> |
| 174 | <layout>ZIP</layout> | 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 | </configuration> | 189 | </configuration> |
| 191 | </plugin> | 190 | </plugin> |
| 192 | <plugin> | 191 | <plugin> |
| 193 | <groupId>org.apache.maven.plugins</groupId> | 192 | <groupId>org.apache.maven.plugins</groupId> |
| 194 | <artifactId>maven-dependency-plugin</artifactId> | 193 | <artifactId>maven-dependency-plugin</artifactId> |
| 195 | - <!-- <version>2.2</version><!–$NO-MVN-MAN-VER$ –>--> | ||
| 196 | <executions> | 194 | <executions> |
| 197 | <execution> | 195 | <execution> |
| 198 | - <id>copy-dependencies</id> | 196 | + <id>copy</id> |
| 199 | <phase>package</phase> | 197 | <phase>package</phase> |
| 200 | <goals> | 198 | <goals> |
| 201 | <goal>copy-dependencies</goal> | 199 | <goal>copy-dependencies</goal> |
| 202 | </goals> | 200 | </goals> |
| 203 | <configuration> | 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 | </configuration> | 203 | </configuration> |
| 209 | </execution> | 204 | </execution> |
| 210 | </executions> | 205 | </executions> |
cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java
| @@ -64,10 +64,10 @@ public class CMSServer implements ApplicationRunner { | @@ -64,10 +64,10 @@ public class CMSServer implements ApplicationRunner { | ||
| 64 | // 存储设备登录句柄 | 64 | // 存储设备登录句柄 |
| 65 | static Map<String, NativeLong> map = new HashMap<>(); | 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 | private String ip_cloud = "114.55.30.100"; | 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 | private String ip; | 72 | private String ip; |
| 73 | { | 73 | { |
| @@ -299,7 +299,6 @@ public class CMSServer implements ApplicationRunner { | @@ -299,7 +299,6 @@ public class CMSServer implements ApplicationRunner { | ||
| 299 | //文件保存回调函数(下载) | 299 | //文件保存回调函数(下载) |
| 300 | public class PSS_Storage_Callback implements HCEHomeSS.EHomeSSStorageCallBack { | 300 | public class PSS_Storage_Callback implements HCEHomeSS.EHomeSSStorageCallBack { |
| 301 | public boolean invoke(NativeLong iHandle, String pFileName, Pointer pFileBuf, int dwFileLen, Pointer pFilePath, Pointer pUser) { | 301 | public boolean invoke(NativeLong iHandle, String pFileName, Pointer pFileBuf, int dwFileLen, Pointer pFilePath, Pointer pUser) { |
| 302 | - String strPath = "E://EhomePicServer/"; | ||
| 303 | //若此目录不存在,则创建之 | 302 | //若此目录不存在,则创建之 |
| 304 | File myPath = new File(strPath); | 303 | File myPath = new File(strPath); |
| 305 | if (!myPath.exists()) { | 304 | if (!myPath.exists()) { |
| @@ -340,7 +339,7 @@ public class CMSServer implements ApplicationRunner { | @@ -340,7 +339,7 @@ public class CMSServer implements ApplicationRunner { | ||
| 340 | deviceId = isQJFileName.substring(start, end); | 339 | deviceId = isQJFileName.substring(start, end); |
| 341 | } | 340 | } |
| 342 | //发送看板 | 341 | //发送看板 |
| 343 | - sendUserInfoToKB(strFilePathFile, deviceId); | 342 | +// sendUserInfoToKB(strFilePathFile, deviceId); |
| 344 | } | 343 | } |
| 345 | } catch (FileNotFoundException e) { | 344 | } catch (FileNotFoundException e) { |
| 346 | log.error("处理人脸机抓拍文件异常,错误信息:{}",e); | 345 | log.error("处理人脸机抓拍文件异常,错误信息:{}",e); |
| @@ -353,6 +352,10 @@ public class CMSServer implements ApplicationRunner { | @@ -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 | private AlarmUtils alarmUtils;//报警工具类 | 359 | private AlarmUtils alarmUtils;//报警工具类 |
| 357 | /** | 360 | /** |
| 358 | * 报警监听回调 | 361 | * 报警监听回调 |
| @@ -375,7 +378,7 @@ public class CMSServer implements ApplicationRunner { | @@ -375,7 +378,7 @@ public class CMSServer implements ApplicationRunner { | ||
| 375 | @Override | 378 | @Override |
| 376 | public void callBack(String minorType, String deviceID, String cardNo, String time, String picDataUrlId, String currTemperature) { | 379 | public void callBack(String minorType, String deviceID, String cardNo, String time, String picDataUrlId, String currTemperature) { |
| 377 | saveAttendance(deviceID); | 380 | saveAttendance(deviceID); |
| 378 | - AttendanceBean attendanceBean = deviceDao.selectDevice(deviceID); | 381 | + AttendanceBean attendanceBean = deviceDao.selectDeviceInfo(deviceID); |
| 379 | int outOrIn = attendanceBean.getOutOrIn(); | 382 | int outOrIn = attendanceBean.getOutOrIn(); |
| 380 | String schoolId = attendanceBean.getSchool_id(); | 383 | String schoolId = attendanceBean.getSchool_id(); |
| 381 | switch (minorType) { | 384 | switch (minorType) { |
| @@ -385,6 +388,9 @@ public class CMSServer implements ApplicationRunner { | @@ -385,6 +388,9 @@ public class CMSServer implements ApplicationRunner { | ||
| 385 | saveFaceRecoder(deviceID, cardNo, time, picDataUrlId, currTemperature,outOrIn); | 388 | saveFaceRecoder(deviceID, cardNo, time, picDataUrlId, currTemperature,outOrIn); |
| 386 | //944柯桥实验幼儿园,海康一体机考勤签到 | 389 | //944柯桥实验幼儿园,海康一体机考勤签到 |
| 387 | if(StringUtils.isNotBlank(schoolId)){ | 390 | if(StringUtils.isNotBlank(schoolId)){ |
| 391 | + if(Integer.parseInt(schoolId)== 944){ | ||
| 392 | + log.info("柯桥实验考勤:考勤卡号:{} "+ cardNo); | ||
| 393 | + } | ||
| 388 | if(Integer.parseInt(schoolId)== 944 && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){ | 394 | if(Integer.parseInt(schoolId)== 944 && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){ |
| 389 | kaoQinRecord(outOrIn,cardNo,deviceID,time); | 395 | kaoQinRecord(outOrIn,cardNo,deviceID,time); |
| 390 | } | 396 | } |
| @@ -402,6 +408,9 @@ public class CMSServer implements ApplicationRunner { | @@ -402,6 +408,9 @@ public class CMSServer implements ApplicationRunner { | ||
| 402 | saveFaceRecoder(deviceID, cardNo, time, picDataUrlId, currTemperature,outOrIn); | 408 | saveFaceRecoder(deviceID, cardNo, time, picDataUrlId, currTemperature,outOrIn); |
| 403 | //944柯桥实验幼儿园,海康一体机考勤签到 | 409 | //944柯桥实验幼儿园,海康一体机考勤签到 |
| 404 | if(StringUtils.isNotBlank(schoolId)){ | 410 | if(StringUtils.isNotBlank(schoolId)){ |
| 411 | + if(Integer.parseInt(schoolId)== 944){ | ||
| 412 | + log.info("柯桥实验考勤:考勤卡号:{} "+ cardNo); | ||
| 413 | + } | ||
| 405 | if(Integer.parseInt(schoolId)== 944 && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){ | 414 | if(Integer.parseInt(schoolId)== 944 && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){ |
| 406 | kaoQinRecord(outOrIn,cardNo,deviceID,time); | 415 | kaoQinRecord(outOrIn,cardNo,deviceID,time); |
| 407 | } | 416 | } |
| @@ -412,6 +421,9 @@ public class CMSServer implements ApplicationRunner { | @@ -412,6 +421,9 @@ public class CMSServer implements ApplicationRunner { | ||
| 412 | saveFaceRecoder(deviceID, cardNo, time, picDataUrlId, currTemperature,outOrIn); | 421 | saveFaceRecoder(deviceID, cardNo, time, picDataUrlId, currTemperature,outOrIn); |
| 413 | //944柯桥实验幼儿园,海康一体机考勤签到 | 422 | //944柯桥实验幼儿园,海康一体机考勤签到 |
| 414 | if(StringUtils.isNotBlank(schoolId)){ | 423 | if(StringUtils.isNotBlank(schoolId)){ |
| 424 | + if(Integer.parseInt(schoolId)== 944){ | ||
| 425 | + log.info("柯桥实验考勤:考勤卡号:{} "+ cardNo); | ||
| 426 | + } | ||
| 415 | if(Integer.parseInt(schoolId)== 944 && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){ | 427 | if(Integer.parseInt(schoolId)== 944 && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){ |
| 416 | kaoQinRecord(outOrIn,cardNo,deviceID,time); | 428 | kaoQinRecord(outOrIn,cardNo,deviceID,time); |
| 417 | } | 429 | } |
| @@ -444,9 +456,9 @@ public class CMSServer implements ApplicationRunner { | @@ -444,9 +456,9 @@ public class CMSServer implements ApplicationRunner { | ||
| 444 | checkIn.setCheckTime(eventTime); | 456 | checkIn.setCheckTime(eventTime); |
| 445 | sendRecordDao.checkIn(checkIn); | 457 | sendRecordDao.checkIn(checkIn); |
| 446 | if (checkIn.getIsSuccess() == 1) { | 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 | } else { | 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,7 +506,7 @@ public class CMSServer implements ApplicationRunner { | ||
| 494 | } | 506 | } |
| 495 | //记录签到成功的流水 | 507 | //记录签到成功的流水 |
| 496 | sendRecordDao.addFaceRecoder(face_recoder.getDeviceId(), face_recoder.getUser_id(), face_recoder.getName(), | 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 | } else { | 510 | } else { |
| 499 | //教师点名 | 511 | //教师点名 |
| 500 | isTeacher(cardNo, deviceID,null); | 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,8 +13,8 @@ import org.springframework.scheduling.annotation.EnableAsync; | ||
| 13 | 13 | ||
| 14 | @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, MybatisAutoConfiguration.class}) | 14 | @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, MybatisAutoConfiguration.class}) |
| 15 | @SpringBootApplication | 15 | @SpringBootApplication |
| 16 | -@EnableDiscoveryClient | ||
| 17 | -@EnableFeignClients(basePackages = "com.sincere.haikangface.fegin") | 16 | +//@EnableDiscoveryClient |
| 17 | +//@EnableFeignClients(basePackages = "com.sincere.haikangface.fegin") | ||
| 18 | @EnableAsync | 18 | @EnableAsync |
| 19 | public class HaikangfaceApplication { | 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,7 +9,6 @@ import com.sincere.haikangface.bean.StudentBean; | ||
| 9 | import com.sincere.haikangface.bean.face.PermissionBean; | 9 | import com.sincere.haikangface.bean.face.PermissionBean; |
| 10 | import com.sincere.haikangface.bean.face.UserAndPermission; | 10 | import com.sincere.haikangface.bean.face.UserAndPermission; |
| 11 | import com.sincere.haikangface.dao.UserDao; | 11 | import com.sincere.haikangface.dao.UserDao; |
| 12 | -import com.sincere.haikangface.fegin.HaikangfaceFegin; | ||
| 13 | import com.sincere.haikangface.service.impl.BaseService; | 12 | import com.sincere.haikangface.service.impl.BaseService; |
| 14 | import com.sincere.haikangface.utils.CompressPic; | 13 | import com.sincere.haikangface.utils.CompressPic; |
| 15 | import com.sincere.haikangface.utils.FileUtils; | 14 | import com.sincere.haikangface.utils.FileUtils; |
| @@ -41,8 +40,8 @@ public class UserControl { | @@ -41,8 +40,8 @@ public class UserControl { | ||
| 41 | @Autowired | 40 | @Autowired |
| 42 | UserDao userDao; | 41 | UserDao userDao; |
| 43 | 42 | ||
| 44 | - @Autowired | ||
| 45 | - HaikangfaceFegin haikangfaceFegin; | 43 | +// @Autowired |
| 44 | +// HaikangfaceFegin haikangfaceFegin; | ||
| 46 | 45 | ||
| 47 | @Autowired | 46 | @Autowired |
| 48 | CMSServer cmsServer; | 47 | CMSServer cmsServer; |
cloud/haikangface/src/main/java/com/sincere/haikangface/control/UserOperateController.java
| @@ -101,8 +101,9 @@ public class UserOperateController { | @@ -101,8 +101,9 @@ public class UserOperateController { | ||
| 101 | public Result sendFaceForNoSend(@RequestParam("schoolId") Integer schoolId,@RequestParam("userType") Integer userType, | 101 | public Result sendFaceForNoSend(@RequestParam("schoolId") Integer schoolId,@RequestParam("userType") Integer userType, |
| 102 | @RequestParam(value = "studentType",required = false) Integer studentType, | 102 | @RequestParam(value = "studentType",required = false) Integer studentType, |
| 103 | @RequestParam(value = "sex",required = false) String sex, | 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 | @ApiOperation(value = "补发单个人脸至指定设备2.0") | 109 | @ApiOperation(value = "补发单个人脸至指定设备2.0") |
| @@ -139,6 +140,14 @@ public class UserOperateController { | @@ -139,6 +140,14 @@ public class UserOperateController { | ||
| 139 | return userOperateService.sendFaceByClassId(schoolId,classIds,deviceIds,studentType,sex,isCheck); | 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 | @ApiOperation(value = "删除指定学校下人脸照片") | 151 | @ApiOperation(value = "删除指定学校下人脸照片") |
| 143 | @RequestMapping(value = "deleteBySchoolId", method = RequestMethod.POST) | 152 | @RequestMapping(value = "deleteBySchoolId", method = RequestMethod.POST) |
| 144 | public Result exportFace(@RequestParam("schoolId") Integer schoolId, | 153 | public Result exportFace(@RequestParam("schoolId") Integer schoolId, |
| @@ -146,7 +155,6 @@ public class UserOperateController { | @@ -146,7 +155,6 @@ public class UserOperateController { | ||
| 146 | return userOperateService.deleteFaceBySchoolId(schoolId,deviceIds); | 155 | return userOperateService.deleteFaceBySchoolId(schoolId,deviceIds); |
| 147 | } | 156 | } |
| 148 | 157 | ||
| 149 | - @ApiOperation(value = "删除指定学校下无效人脸") | ||
| 150 | @RequestMapping(value = "checkFaceSend", method = RequestMethod.GET) | 158 | @RequestMapping(value = "checkFaceSend", method = RequestMethod.GET) |
| 151 | public void checkFaceSend(){ | 159 | public void checkFaceSend(){ |
| 152 | userOperateService.checkFaceSend(); | 160 | userOperateService.checkFaceSend(); |
cloud/haikangface/src/main/java/com/sincere/haikangface/dao/DeviceDao.java
| @@ -28,6 +28,9 @@ public interface DeviceDao { | @@ -28,6 +28,9 @@ public interface DeviceDao { | ||
| 28 | @Select("select clint_id from SZ_Attendance where clint_id = #{clint_id}") | 28 | @Select("select clint_id from SZ_Attendance where clint_id = #{clint_id}") |
| 29 | AttendanceBean selectDevice(@Param("clint_id") String clint_id); | 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 | // @Select("select * from SZ_Attendance where IsKaoqin = #{IsKaoqin}") | 34 | // @Select("select * from SZ_Attendance where IsKaoqin = #{IsKaoqin}") |
| 32 | // List<SZ_AttendanceDto> getAttensWithIsKaoqin(@Param("IsKaoqin")int IsKaoqin); | 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,7 +264,7 @@ public interface UserDao { | ||
| 264 | 264 | ||
| 265 | List<StudentBean> getStudentList(@Param("schoolId") Integer schoolId,@Param("studentType")Integer studentType,@Param("sex") List<Integer> sex); | 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 | List<StudentBean> getTeacherList(@Param("schoolId") Integer schoolId); | 269 | List<StudentBean> getTeacherList(@Param("schoolId") Integer schoolId); |
| 270 | 270 | ||
| @@ -294,4 +294,8 @@ public interface UserDao { | @@ -294,4 +294,8 @@ public interface UserDao { | ||
| 294 | void updateStudent(@Param("id") Integer id); | 294 | void updateStudent(@Param("id") Integer id); |
| 295 | 295 | ||
| 296 | List<SaveStudentBak> selectStudentList(); | 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,7 +91,7 @@ public interface UserOperateService { | ||
| 91 | * @param deviceIds | 91 | * @param deviceIds |
| 92 | * @return | 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,6 +131,8 @@ public interface UserOperateService { | ||
| 131 | */ | 131 | */ |
| 132 | Result sendFaceByClassId(Integer schoolId,String classIds,String deviceIds,Integer studentType,String sex,Integer isCheck); | 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 | * @param schoolId | 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,7 +2,6 @@ package com.sincere.haikangface.service.impl; | ||
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | import com.google.common.util.concurrent.ThreadFactoryBuilder; | 4 | import com.google.common.util.concurrent.ThreadFactoryBuilder; |
| 5 | -import com.google.gson.Gson; | ||
| 6 | import com.sincere.haikangface.CMSServer; | 5 | import com.sincere.haikangface.CMSServer; |
| 7 | import com.sincere.haikangface.async.AsyncTask; | 6 | import com.sincere.haikangface.async.AsyncTask; |
| 8 | import com.sincere.haikangface.async.SendUserAsync; | 7 | import com.sincere.haikangface.async.SendUserAsync; |
| @@ -15,7 +14,6 @@ import com.sincere.haikangface.enums.EnumSzBusinessType; | @@ -15,7 +14,6 @@ import com.sincere.haikangface.enums.EnumSzBusinessType; | ||
| 15 | import com.sincere.haikangface.utils.CompressPic; | 14 | import com.sincere.haikangface.utils.CompressPic; |
| 16 | import com.sincere.haikangface.utils.DateUtils; | 15 | import com.sincere.haikangface.utils.DateUtils; |
| 17 | import com.sincere.haikangface.utils.FileUtils; | 16 | import com.sincere.haikangface.utils.FileUtils; |
| 18 | -import com.sincere.haikangface.utils.HttpUtil; | ||
| 19 | import com.sincere.haikangface.xiananDao.SendRecordDao; | 17 | import com.sincere.haikangface.xiananDao.SendRecordDao; |
| 20 | import lombok.extern.slf4j.Slf4j; | 18 | import lombok.extern.slf4j.Slf4j; |
| 21 | import org.apache.commons.lang3.StringUtils; | 19 | import org.apache.commons.lang3.StringUtils; |
| @@ -28,8 +26,6 @@ import java.io.File; | @@ -28,8 +26,6 @@ import java.io.File; | ||
| 28 | import java.text.SimpleDateFormat; | 26 | import java.text.SimpleDateFormat; |
| 29 | import java.util.*; | 27 | import java.util.*; |
| 30 | import java.util.concurrent.*; | 28 | import java.util.concurrent.*; |
| 31 | -import java.util.function.Function; | ||
| 32 | -import java.util.function.Predicate; | ||
| 33 | import java.util.stream.Collectors; | 29 | import java.util.stream.Collectors; |
| 34 | 30 | ||
| 35 | /** | 31 | /** |
| @@ -518,13 +514,35 @@ public class BaseService { | @@ -518,13 +514,35 @@ public class BaseService { | ||
| 518 | * @return | 514 | * @return |
| 519 | */ | 515 | */ |
| 520 | public List<StudentBean> getStudentListByGroup(Integer schoolId,Integer studentType,String sex,Integer groupId) { | 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 | List<StudentBean> studentList = students.stream().collect(Collectors.collectingAndThen( | 526 | List<StudentBean> studentList = students.stream().collect(Collectors.collectingAndThen( |
| 524 | Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(StudentBean::getStudent_num))), ArrayList::new)); | 527 | Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(StudentBean::getStudent_num))), ArrayList::new)); |
| 525 | return studentList; | 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 | * @param schoolId | 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,15 +304,24 @@ public class UserOperateServiceImpl implements UserOperateService { | ||
| 304 | if (userType == EnumSzBusinessType.EnumUserType.STUDENT.code && groupId ==null) { | 304 | if (userType == EnumSzBusinessType.EnumUserType.STUDENT.code && groupId ==null) { |
| 305 | studentBeanList = baseService.getStudentList(schoolId,studentType,sex); | 305 | studentBeanList = baseService.getStudentList(schoolId,studentType,sex); |
| 306 | }else if(userType == EnumSzBusinessType.EnumUserType.STUDENT.code && groupId !=null){ | 306 | }else if(userType == EnumSzBusinessType.EnumUserType.STUDENT.code && groupId !=null){ |
| 307 | - sex = sex.split(",")[0]; | ||
| 308 | studentBeanList = baseService.getStudentListByGroup(schoolId,studentType,sex,groupId); | 307 | studentBeanList = baseService.getStudentListByGroup(schoolId,studentType,sex,groupId); |
| 309 | } | 308 | } |
| 310 | log.info("统计共有下发用户数量:{}",studentBeanList.size()); | 309 | log.info("统计共有下发用户数量:{}",studentBeanList.size()); |
| 311 | //设备类型 | 310 | //设备类型 |
| 312 | Integer clintType = userDao.getClintTypeByDeviceId(deviceList.get(0)); | 311 | Integer clintType = userDao.getClintTypeByDeviceId(deviceList.get(0)); |
| 313 | if(clintType.intValue()== 22 || clintType.intValue()== 29){ | 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 | if(clintType.intValue()== 18 || clintType.intValue()== 28){ | 326 | if(clintType.intValue()== 18 || clintType.intValue()== 28){ |
| 318 | //发送海康设备:异步执行 | 327 | //发送海康设备:异步执行 |
| @@ -618,7 +627,7 @@ public class UserOperateServiceImpl implements UserOperateService { | @@ -618,7 +627,7 @@ public class UserOperateServiceImpl implements UserOperateService { | ||
| 618 | } | 627 | } |
| 619 | 628 | ||
| 620 | @Override | 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 | List<String> idLists = null; | 633 | List<String> idLists = null; |
| @@ -628,18 +637,21 @@ public class UserOperateServiceImpl implements UserOperateService { | @@ -628,18 +637,21 @@ public class UserOperateServiceImpl implements UserOperateService { | ||
| 628 | String[] deviceArr = deviceIds.split(","); | 637 | String[] deviceArr = deviceIds.split(","); |
| 629 | idLists= new ArrayList<>(Arrays.asList(deviceArr)); | 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 | List<StudentBean> list = null; | 646 | List<StudentBean> list = null; |
| 633 | - if(userType.intValue() ==2){ | 647 | + if (userType == EnumSzBusinessType.EnumUserType.STUDENT.code && groupId ==null) { |
| 634 | list = baseService.getStudentList(schoolId,studentType,sex); | 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 | list = baseService.getTeacherList(schoolId); | 653 | list = baseService.getTeacherList(schoolId); |
| 638 | } | 654 | } |
| 639 | - if(StringUtils.isBlank(deviceIds)){ | ||
| 640 | - log.warn("该学校下未查询到下发设备"); | ||
| 641 | - return ResultGenerator.genFailResult("该学校下未查询到下发设备"); | ||
| 642 | - } | ||
| 643 | //异步执行下发 | 655 | //异步执行下发 |
| 644 | sendFaceForNoSend(schoolId,userType,list,idLists); | 656 | sendFaceForNoSend(schoolId,userType,list,idLists); |
| 645 | int fileSize = list.size(); | 657 | int fileSize = list.size(); |
| @@ -657,7 +669,7 @@ public class UserOperateServiceImpl implements UserOperateService { | @@ -657,7 +669,7 @@ public class UserOperateServiceImpl implements UserOperateService { | ||
| 657 | 669 | ||
| 658 | 670 | ||
| 659 | @Async | 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 | log.info("统计共有:"+studentList.size()+"张卡,"+deviceIds.size()+"台设备." ); | 673 | log.info("统计共有:"+studentList.size()+"张卡,"+deviceIds.size()+"台设备." ); |
| 662 | for(StudentBean studentBean : studentList){ | 674 | for(StudentBean studentBean : studentList){ |
| 663 | for(String sno : deviceIds){ | 675 | for(String sno : deviceIds){ |
| @@ -999,6 +1011,42 @@ public class UserOperateServiceImpl implements UserOperateService { | @@ -999,6 +1011,42 @@ public class UserOperateServiceImpl implements UserOperateService { | ||
| 999 | } | 1011 | } |
| 1000 | 1012 | ||
| 1001 | @Override | 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 | public Result deleteFaceBySchoolId(Integer schoolId, String deviceIds) { | 1050 | public Result deleteFaceBySchoolId(Integer schoolId, String deviceIds) { |
| 1003 | //下发设备集合 | 1051 | //下发设备集合 |
| 1004 | List<String> deviceList = null; | 1052 | List<String> deviceList = null; |
cloud/haikangface/src/main/java/com/sincere/haikangface/utils/HttpUtil.java
| @@ -114,7 +114,6 @@ public class HttpUtil { | @@ -114,7 +114,6 @@ public class HttpUtil { | ||
| 114 | } | 114 | } |
| 115 | try{ | 115 | try{ |
| 116 | String url = "http://120.26.116.253:8089/file/uploadImg"; | 116 | String url = "http://120.26.116.253:8089/file/uploadImg"; |
| 117 | -// String url = "http://127.0.0.1:8089/file/uploadImg"; | ||
| 118 | RestTemplate restTemplate = new RestTemplate(); | 117 | RestTemplate restTemplate = new RestTemplate(); |
| 119 | HttpHeaders headers = new HttpHeaders(); | 118 | HttpHeaders headers = new HttpHeaders(); |
| 120 | MediaType mediaType = MediaType.parseMediaType(MediaType.MULTIPART_FORM_DATA_VALUE); | 119 | MediaType mediaType = MediaType.parseMediaType(MediaType.MULTIPART_FORM_DATA_VALUE); |
| @@ -249,8 +248,7 @@ public class HttpUtil { | @@ -249,8 +248,7 @@ public class HttpUtil { | ||
| 249 | */ | 248 | */ |
| 250 | public static void sendDHPermission(PermissionDHBean permissionBean) { | 249 | public static void sendDHPermission(PermissionDHBean permissionBean) { |
| 251 | try{ | 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 | RestTemplate restTemplate = new RestTemplate(); | 252 | RestTemplate restTemplate = new RestTemplate(); |
| 255 | HttpHeaders headers = new HttpHeaders(); | 253 | HttpHeaders headers = new HttpHeaders(); |
| 256 | MediaType mediaType = MediaType.parseMediaType(MediaType.APPLICATION_JSON_UTF8_VALUE); | 254 | MediaType mediaType = MediaType.parseMediaType(MediaType.APPLICATION_JSON_UTF8_VALUE); |
| @@ -289,7 +287,6 @@ public class HttpUtil { | @@ -289,7 +287,6 @@ public class HttpUtil { | ||
| 289 | */ | 287 | */ |
| 290 | public static void uploadDHImg(String schoolId,Integer userType,String deviceIds,Integer studentType,String sex) { | 288 | public static void uploadDHImg(String schoolId,Integer userType,String deviceIds,Integer studentType,String sex) { |
| 291 | String api = "http://114.55.30.100:8991/operate/sendUserFaces"; | 289 | String api = "http://114.55.30.100:8991/operate/sendUserFaces"; |
| 292 | -// String api = "http://127.0.0.1:8991/user/sendFaces"; | ||
| 293 | try { | 290 | try { |
| 294 | String url = String.format(api +"?schoolId=%s&userType=%s&deviceIds=%s&studentType=%s&sex=%s",schoolId,userType,deviceIds,studentType,sex); | 291 | String url = String.format(api +"?schoolId=%s&userType=%s&deviceIds=%s&studentType=%s&sex=%s",schoolId,userType,deviceIds,studentType,sex); |
| 295 | RestTemplate restTemplate = new RestTemplate(); | 292 | RestTemplate restTemplate = new RestTemplate(); |
| @@ -319,7 +316,7 @@ public class HttpUtil { | @@ -319,7 +316,7 @@ public class HttpUtil { | ||
| 319 | * @param deviceId | 316 | * @param deviceId |
| 320 | */ | 317 | */ |
| 321 | public static void deleteDHFace(Integer schoolId,String cardNum,String deviceId) { | 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 | try { | 320 | try { |
| 324 | String url = String.format(api +"?schoolId=%s&cardNum=%s&deviceId=%s",schoolId,cardNum,deviceId); | 321 | String url = String.format(api +"?schoolId=%s&cardNum=%s&deviceId=%s",schoolId,cardNum,deviceId); |
| 325 | RestTemplate restTemplate = new RestTemplate(); | 322 | RestTemplate restTemplate = new RestTemplate(); |
cloud/haikangface/src/main/java/com/sincere/haikangface/xiananDao/SendRecordDao.java
| @@ -36,10 +36,10 @@ public interface SendRecordDao { | @@ -36,10 +36,10 @@ public interface SendRecordDao { | ||
| 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") | 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 | List<SendRecordBean> getSuccessAndFail(); | 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 | void addFaceRecoder(@Param("deviceId") String deviceId, @Param("user_id") String user_id, @Param("name") String name, | 40 | void addFaceRecoder(@Param("deviceId") String deviceId, @Param("user_id") String user_id, @Param("name") String name, |
| 41 | @Param("imgurl") String imgurl, @Param("inOrOut") int inOrOut, @Param("time") String time, | 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 | @Insert("insert into SZ_AttendanceRecordsSS201911 values(#{user_id},#{school_id},#{customerId},#{usertype},#{card_num},#{card_type},#{outof},#{intime},#{cid}," + | 44 | @Insert("insert into SZ_AttendanceRecordsSS201911 values(#{user_id},#{school_id},#{customerId},#{usertype},#{card_num},#{card_type},#{outof},#{intime},#{cid}," + |
| 45 | "#{func_no},#{head_image},#{classId},#{s},#{attendance_id},#{name},#{mobile},#{class_name},#{sex},#{student_type},#{systime})") | 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,14 +38,14 @@ ribbon: | ||
| 38 | ReadTimeout: 50000 | 38 | ReadTimeout: 50000 |
| 39 | ConnectTimeout: 5000 | 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 | # defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ | 49 | # defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ |
| 50 | 50 | ||
| 51 | mybatis: | 51 | mybatis: |
cloud/haikangface/src/main/resources/mapper/usermapper.xml
| @@ -102,8 +102,19 @@ | @@ -102,8 +102,19 @@ | ||
| 102 | </select> | 102 | </select> |
| 103 | 103 | ||
| 104 | <select id="getStudentCardGroup" resultType="com.sincere.haikangface.bean.StudentBean"> | 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 | </select> | 118 | </select> |
| 108 | 119 | ||
| 109 | <select id="getTeacherList" resultType="com.sincere.haikangface.bean.StudentBean"> | 120 | <select id="getTeacherList" resultType="com.sincere.haikangface.bean.StudentBean"> |
| @@ -188,4 +199,26 @@ | @@ -188,4 +199,26 @@ | ||
| 188 | <update id="updateStudent" parameterType="java.lang.Integer"> | 199 | <update id="updateStudent" parameterType="java.lang.Integer"> |
| 189 | update sz_student_bak set status = 1 where id = #{id} | 200 | update sz_student_bak set status = 1 where id = #{id} |
| 190 | </update> | 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 | </mapper> | 224 | </mapper> |
cloud/pom.xml
| @@ -27,24 +27,24 @@ | @@ -27,24 +27,24 @@ | ||
| 27 | <modules> | 27 | <modules> |
| 28 | <module>server1</module> | 28 | <module>server1</module> |
| 29 | <module>server2</module> | 29 | <module>server2</module> |
| 30 | - <module>autho</module> | 30 | +<!-- <module>autho</module>--> |
| 31 | <module>common</module> | 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 | <!-- <module>mypulsar</module>--> | 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 | <module>fIle-center</module> | 46 | <module>fIle-center</module> |
| 47 | - <module>RibbonConsume</module> | 47 | +<!-- <module>RibbonConsume</module>--> |
| 48 | </modules> | 48 | </modules> |
| 49 | 49 | ||
| 50 | <dependencies> | 50 | <dependencies> |
cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java
| @@ -23,7 +23,7 @@ public class SyncJob { | @@ -23,7 +23,7 @@ public class SyncJob { | ||
| 23 | YXYReadService yxyReadService ; | 23 | YXYReadService yxyReadService ; |
| 24 | 24 | ||
| 25 | @Scheduled(cron = "30 1 22 * * ? ") | 25 | @Scheduled(cron = "30 1 22 * * ? ") |
| 26 | -// @Scheduled(cron = "* 20 9 * * ? ") | 26 | +// @Scheduled(fixedDelay = 120 * 60 * 1000) |
| 27 | public void Sync(){ | 27 | public void Sync(){ |
| 28 | //翼校通的同步 之后还有钉钉的同步等等 | 28 | //翼校通的同步 之后还有钉钉的同步等等 |
| 29 | yxyReadService.sync(); | 29 | yxyReadService.sync(); |
cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java
| @@ -112,7 +112,8 @@ public class YXYReadService { | @@ -112,7 +112,8 @@ public class YXYReadService { | ||
| 112 | logger.info("------------------当天更新完成"); | 112 | logger.info("------------------当天更新完成"); |
| 113 | try{ | 113 | try{ |
| 114 | String today = DateUtils.getToday(DateUtils.format1)+" 22:00:00" ; | 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 | logger.info("开始执行删除同步数据------:时间:"+today); | 117 | logger.info("开始执行删除同步数据------:时间:"+today); |
| 117 | int count = yxyService.selectCount(today); | 118 | int count = yxyService.selectCount(today); |
| 118 | logger.info("跑批总数:count: "+ count); | 119 | logger.info("跑批总数:count: "+ count); |
cloud/quartz/src/main/resources/application.yaml
| @@ -32,12 +32,12 @@ mybatis: | @@ -32,12 +32,12 @@ mybatis: | ||
| 32 | ribbon: | 32 | ribbon: |
| 33 | ReadTimeout: 50000 | 33 | ReadTimeout: 50000 |
| 34 | ConnectTimeout: 5000 | 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 |