Commit 623099fe3b1eefc4c587adbb1038f01e833caba4
1 parent
c28016fb
Exists in
master
大华设备对接艺校考勤
Showing
7 changed files
with
278 additions
and
63 deletions
Show diff stats
cloud/dahua/src/main/java/com/example/dahua/MyTask.java
| 1 | 1 | package com.example.dahua; |
| 2 | 2 | |
| 3 | +import com.alibaba.fastjson.JSON; | |
| 4 | +import com.alibaba.fastjson.JSONObject; | |
| 3 | 5 | import com.example.dahua.bean.*; |
| 4 | 6 | import com.example.dahua.dao.UserDao; |
| 5 | 7 | import com.example.dahua.enums.EnumDeviceType; |
| ... | ... | @@ -25,8 +27,15 @@ import lombok.extern.slf4j.Slf4j; |
| 25 | 27 | import org.springframework.beans.factory.annotation.Autowired; |
| 26 | 28 | import org.springframework.boot.ApplicationArguments; |
| 27 | 29 | import org.springframework.boot.ApplicationRunner; |
| 30 | +import org.springframework.http.HttpEntity; | |
| 31 | +import org.springframework.http.HttpHeaders; | |
| 32 | +import org.springframework.http.MediaType; | |
| 33 | +import org.springframework.http.ResponseEntity; | |
| 28 | 34 | import org.springframework.stereotype.Component; |
| 35 | +import org.springframework.util.LinkedMultiValueMap; | |
| 36 | +import org.springframework.util.MultiValueMap; | |
| 29 | 37 | import org.springframework.util.StringUtils; |
| 38 | +import org.springframework.web.client.RestTemplate; | |
| 30 | 39 | |
| 31 | 40 | import javax.annotation.PostConstruct; |
| 32 | 41 | import javax.imageio.ImageIO; |
| ... | ... | @@ -38,6 +47,7 @@ import java.io.UnsupportedEncodingException; |
| 38 | 47 | import java.text.SimpleDateFormat; |
| 39 | 48 | import java.util.*; |
| 40 | 49 | import java.util.concurrent.CopyOnWriteArrayList; |
| 50 | +import java.util.stream.Collectors; | |
| 41 | 51 | |
| 42 | 52 | @Component |
| 43 | 53 | @Slf4j |
| ... | ... | @@ -388,7 +398,6 @@ public class MyTask implements ApplicationRunner { |
| 388 | 398 | if (lAnalyzerHandle.longValue() == 0 || pAlarmInfo == null) { |
| 389 | 399 | return -1; |
| 390 | 400 | } |
| 391 | - | |
| 392 | 401 | byte[] bufferBytes = new byte[dwBufSize]; |
| 393 | 402 | pBuffer.read(0, bufferBytes, 0, dwBufSize); |
| 394 | 403 | File path = new File(".\\FaceRecoder"); |
| ... | ... | @@ -399,14 +408,6 @@ public class MyTask implements ApplicationRunner { |
| 399 | 408 | CDevInfo data = new CDevInfo(); |
| 400 | 409 | ToolKits.GetPointerData(dwUser, data); |
| 401 | 410 | String szSn = new String(data.szSN).trim(); |
| 402 | -// if(dwAlarmType == NetSDKLib.EVENT_IVS_FACERECOGNITION){ | |
| 403 | -//// ToolKits.GetPointerData(pAlarmInfo, msg); | |
| 404 | -//// //卡号 | |
| 405 | -//// String card = new String(msg.szCardNo).trim(); | |
| 406 | -//// //开门用户 | |
| 407 | -//// String userId = new String(msg.szUID).trim(); | |
| 408 | -//// log.info("你来了。。。。"); | |
| 409 | -// } | |
| 410 | 411 | ///< 门禁事件 |
| 411 | 412 | if (dwAlarmType == NetSDKLib.EVENT_IVS_ACCESS_CTL) { |
| 412 | 413 | NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO msg = new NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO(); |
| ... | ... | @@ -423,66 +424,70 @@ public class MyTask implements ApplicationRunner { |
| 423 | 424 | saveAttendanceService(szSn,"",0,1); |
| 424 | 425 | try { |
| 425 | 426 | if (!StringUtils.isEmpty(card)) { |
| 426 | - // 保存图片,获取图片缓存 | |
| 427 | - // 图片服务器路径 | |
| 428 | - String snapPicPath = path + "\\" + System.currentTimeMillis() + ".png"; | |
| 427 | + //根据卡号获取卡身份信息 | |
| 428 | + CardBean cardBean = myTaskUtil.userDao.getCards(card); | |
| 429 | + if(cardBean ==null){ | |
| 430 | + card = cardNo(card); | |
| 431 | + cardBean = myTaskUtil.userDao.getCards(card); | |
| 432 | + } | |
| 433 | + if(cardBean ==null){ | |
| 434 | + return -1; | |
| 435 | + } | |
| 436 | + | |
| 437 | + // 缓存抓拍人脸 | |
| 438 | + String fileName = StringUtils.isEmpty(userId)? card + ".png" : userId + ".png"; | |
| 439 | + String snapPicPath = path + "\\" + fileName; | |
| 429 | 440 | byte[] buffer = pBuffer.getByteArray(0, dwBufSize); |
| 430 | 441 | ByteArrayInputStream byteArrInputGlobal = new ByteArrayInputStream(buffer); |
| 431 | 442 | gateBufferedImage = ImageIO.read(byteArrInputGlobal); |
| 432 | 443 | if (gateBufferedImage != null) { |
| 433 | 444 | ImageIO.write(gateBufferedImage, "png", new File(snapPicPath)); |
| 434 | 445 | } |
| 435 | - int schoolId=0; | |
| 436 | - int outOrIn =0; | |
| 437 | - AttendanceBean attendanceBean = myTaskUtil.userDao.getTypeByClint_id(szSn); | |
| 438 | - if(attendanceBean !=null){ | |
| 439 | - if(org.apache.commons.lang.StringUtils.isNotBlank(attendanceBean.getSchool_id())){ | |
| 440 | - schoolId=Integer.parseInt(attendanceBean.getSchool_id()); | |
| 441 | - outOrIn= StringUtils.isEmpty(attendanceBean.getOutOrIn())?0:Integer.parseInt(attendanceBean.getOutOrIn()); | |
| 442 | - } | |
| 443 | - } | |
| 444 | - /** | |
| 445 | - * 卡号取反(大写) | |
| 446 | - * 注:若设备为一体机、且非"126上虞城东小学、393上虞实验中学"学校,卡则取反 | |
| 447 | - */ | |
| 448 | - if(szSn.startsWith("ytj")&&schoolId!=126&&schoolId!=393){ | |
| 449 | - card = card; | |
| 450 | - } else{ | |
| 451 | - card = cardNo(card); | |
| 452 | - } | |
| 453 | - //根据卡号获取卡身份信息 | |
| 454 | - CardBean cardBean = myTaskUtil.userDao.getCards(card); | |
| 455 | - String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); | |
| 456 | 446 | snapPicPath = snapPicPath.replaceFirst("\\.", "http://121.40.109.21:8991"); |
| 457 | 447 | snapPicPath = snapPicPath.replace("FaceRecoder", "image"); |
| 458 | - if (null != cardBean && cardBean.getType() == 0) { | |
| 459 | - //老师人脸信息,保存人脸记录表 | |
| 460 | - TeacherBean teacherBean = myTaskUtil.userDao.getTeacherWithId(cardBean.getUser_id()); | |
| 461 | - myTaskUtil.sendRecordDao.addFaceRecoder(szSn, teacherBean.getUser_id(), teacherBean.getName(), snapPicPath,outOrIn, | |
| 462 | - time, card,messageCode ==20?EnumSendFaceType.TIME_INTERVAL_ERROR.message:""); | |
| 463 | - } else if (null != cardBean && cardBean.getType() == 2) { | |
| 464 | - //学生人脸信息,保存人脸记录表 | |
| 465 | - UserInfoBean userInfoBean = myTaskUtil.userDao.getStudentWithid(cardBean.getUser_id()); | |
| 466 | - myTaskUtil.sendRecordDao.addFaceRecoder(szSn, userInfoBean.getUser_id(), userInfoBean.getName(), snapPicPath,outOrIn, | |
| 467 | - time, card,messageCode ==20?EnumSendFaceType.TIME_INTERVAL_ERROR.message:""); | |
| 468 | - } | |
| 469 | - if(szSn.startsWith("ytj")) { | |
| 470 | - //门禁进出类型:1进0出 | |
| 471 | - int eventType = EnumSzBusinessType.EnumDeviceInAndOut.INT.code; | |
| 472 | - if(StringUtils.isEmpty(attendanceBean.getOutOrIn())){ | |
| 473 | - eventType = EnumSzBusinessType.EnumDeviceInAndOut.INT.code; | |
| 474 | - } | |
| 475 | - if(Integer.parseInt(attendanceBean.getOutOrIn()) != EnumSzBusinessType.EnumDeviceInAndOut.INT.code){ | |
| 476 | - eventType = EnumSzBusinessType.EnumDeviceInAndOut.OUT.code; | |
| 448 | + //关联设备信息 | |
| 449 | + AttendanceBean attendanceBean = myTaskUtil.userDao.getTypeByClint_id(szSn); | |
| 450 | + if(attendanceBean !=null){ | |
| 451 | + if(StringUtils.isEmpty(attendanceBean.getSchool_id())){ | |
| 452 | + int schoolId = Integer.parseInt(attendanceBean.getSchool_id()); | |
| 453 | + //门禁进出类型:1进0出 | |
| 454 | + int eventType = 0; | |
| 455 | + if(StringUtils.isEmpty(attendanceBean.getOutOrIn())){ | |
| 456 | + eventType = EnumSzBusinessType.EnumDeviceInAndOut.OUT.code; | |
| 457 | + }else{ | |
| 458 | + eventType = Integer.parseInt(attendanceBean.getOutOrIn()); | |
| 459 | + } | |
| 460 | + //刷卡时间 | |
| 461 | + String eventTime = DateUtils.date2String(new Date(), DateUtils.format2); | |
| 462 | + //老师 | |
| 463 | + if (cardBean.getType() == 0) { | |
| 464 | + //老师人脸信息,保存人脸记录表 | |
| 465 | + TeacherBean teacherBean = myTaskUtil.userDao.getTeacherWithId(cardBean.getUser_id()); | |
| 466 | + myTaskUtil.sendRecordDao.addFaceRecoder(szSn, teacherBean.getUser_id(), teacherBean.getName(), snapPicPath,eventType, | |
| 467 | + eventTime, card,messageCode ==20?EnumSendFaceType.TIME_INTERVAL_ERROR.message:""); | |
| 468 | + } | |
| 469 | + UserInfoBean userInfoBean = null; | |
| 470 | + if (cardBean.getType() == 2) { | |
| 471 | + //学生人脸信息,保存人脸记录表 | |
| 472 | + userInfoBean = myTaskUtil.userDao.getStudentWithid(cardBean.getUser_id()); | |
| 473 | + myTaskUtil.sendRecordDao.addFaceRecoder(szSn, userInfoBean.getUser_id(), userInfoBean.getName(), snapPicPath,eventType, | |
| 474 | + eventTime, card,messageCode ==20?EnumSendFaceType.TIME_INTERVAL_ERROR.message:""); | |
| 475 | + } | |
| 476 | + | |
| 477 | + // TODO 考勤记录 | |
| 478 | + //刷卡结果,1表示成功, 0表示失败 | |
| 479 | + int status = msg.bStatus; | |
| 480 | + | |
| 481 | + if(szSn.startsWith("ytj")) { | |
| 482 | + //保存考勤记录 | |
| 483 | + kaoQinRecord(status, eventType, card, szSn, eventTime,lAnalyzerHandle); | |
| 484 | + // 艺校考勤 | |
| 485 | + if(schoolId ==12 && status ==1){ | |
| 486 | + int intOrOut = eventType ==1? 1 : 2; | |
| 487 | + sendRecordToSXYX(userInfoBean.getName(),userInfoBean.getUser_id(),intOrOut,eventTime); | |
| 488 | + } | |
| 489 | + } | |
| 477 | 490 | } |
| 478 | - // TODO 考勤记录 | |
| 479 | - //刷卡结果,1表示成功, 0表示失败 | |
| 480 | - int status = msg.bStatus; | |
| 481 | - //刷卡时间 | |
| 482 | - String eventTime = DateUtils.date2String(new Date(), DateUtils.format2); | |
| 483 | - | |
| 484 | - //保存考勤记录 | |
| 485 | - kaoQinRecord(status, eventType, card, szSn, eventTime,lAnalyzerHandle); | |
| 486 | 491 | } |
| 487 | 492 | } |
| 488 | 493 | } catch (IOException e2) { |
| ... | ... | @@ -765,6 +770,25 @@ public class MyTask implements ApplicationRunner { |
| 765 | 770 | return true; |
| 766 | 771 | } |
| 767 | 772 | |
| 773 | + public static void sendRecordToSXYX(String name,String userId,int intOrOut,String eventTime) { | |
| 774 | + try { | |
| 775 | + String api = "http://yixiao.198.hmkj.com.cn/index.php/Attend/send"; | |
| 776 | + RestTemplate restTemplate = new RestTemplate(); | |
| 777 | + MultiValueMap<String, Object> map = new LinkedMultiValueMap<>(); | |
| 778 | + map.add("name", name); | |
| 779 | + map.add("xuehao", userId); | |
| 780 | + map.add("time", eventTime); | |
| 781 | + map.add("state", intOrOut); | |
| 782 | + HttpHeaders headers = new HttpHeaders(); | |
| 783 | + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); | |
| 784 | + HttpEntity<MultiValueMap<String, Object>> param = new HttpEntity<>(map, headers); | |
| 785 | + ResponseEntity<String> response = restTemplate.postForEntity(api, param, String.class); | |
| 786 | + String body = response.getBody(); | |
| 787 | + System.out.println(body); | |
| 788 | + } catch (Exception e) { | |
| 789 | + sendRecordToSXYX(name,userId,intOrOut,eventTime); | |
| 790 | + } | |
| 791 | + } | |
| 768 | 792 | } |
| 769 | 793 | |
| 770 | 794 | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java
| ... | ... | @@ -2,9 +2,10 @@ package com.example.dahua.control; |
| 2 | 2 | |
| 3 | 3 | import com.example.dahua.MyTask; |
| 4 | 4 | import com.example.dahua.async.SendUserInfoTask; |
| 5 | -import com.example.dahua.bean.PermissionBean; | |
| 6 | -import com.example.dahua.bean.SendRecordBean; | |
| 7 | -import com.example.dahua.bean.StudentBean; | |
| 5 | +import com.example.dahua.bean.*; | |
| 6 | +import com.example.dahua.bean.yx.Result; | |
| 7 | +import com.example.dahua.bean.yx.ResultGenerator; | |
| 8 | +import com.example.dahua.bean.yx.StudentInfo; | |
| 8 | 9 | import com.example.dahua.dao.UserDao; |
| 9 | 10 | import com.example.dahua.enums.EnumSzBusinessType; |
| 10 | 11 | import com.example.dahua.lib.CompressPic; |
| ... | ... | @@ -13,6 +14,7 @@ import com.example.dahua.service.UserService; |
| 13 | 14 | import com.example.dahua.service.imp.BaseService; |
| 14 | 15 | import com.example.dahua.utils.*; |
| 15 | 16 | import com.example.dahua.xiananDao.SendRecordDao; |
| 17 | +import com.google.gson.Gson; | |
| 16 | 18 | import io.swagger.annotations.Api; |
| 17 | 19 | import io.swagger.annotations.ApiImplicitParam; |
| 18 | 20 | import io.swagger.annotations.ApiImplicitParams; |
| ... | ... | @@ -21,7 +23,13 @@ import lombok.extern.slf4j.Slf4j; |
| 21 | 23 | import org.json.JSONException; |
| 22 | 24 | import org.json.JSONObject; |
| 23 | 25 | import org.springframework.beans.factory.annotation.Autowired; |
| 26 | +import org.springframework.http.HttpEntity; | |
| 27 | +import org.springframework.http.HttpHeaders; | |
| 24 | 28 | import org.springframework.http.MediaType; |
| 29 | +import org.springframework.http.ResponseEntity; | |
| 30 | +import org.springframework.util.CollectionUtils; | |
| 31 | +import org.springframework.util.LinkedMultiValueMap; | |
| 32 | +import org.springframework.util.MultiValueMap; | |
| 25 | 33 | import org.springframework.util.StringUtils; |
| 26 | 34 | import org.springframework.web.bind.annotation.*; |
| 27 | 35 | import org.springframework.web.client.RestTemplate; |
| ... | ... | @@ -455,4 +463,63 @@ public class UserControl { |
| 455 | 463 | } |
| 456 | 464 | } |
| 457 | 465 | |
| 466 | + @RequestMapping(value = "getStudent", method = RequestMethod.GET) | |
| 467 | + @ApiOperation("艺校对账查询") | |
| 468 | + @ResponseBody | |
| 469 | + public Result queryStudent(@RequestHeader("code") String code) { | |
| 470 | + if(StringUtils.isEmpty(code) || !code.equals("sxyx")){ | |
| 471 | + return ResultGenerator.genFailResult("请求标识匹配错误"); | |
| 472 | + } | |
| 473 | + List<UserInfoBean> students = userService.getStudent(12); | |
| 474 | + if(CollectionUtils.isEmpty(students)){ | |
| 475 | + return ResultGenerator.genSuccessResult(); | |
| 476 | + } | |
| 477 | + StudentInfo info = new StudentInfo(); | |
| 478 | + List<StudentInfo.Student> studentList = new ArrayList<>(); | |
| 479 | + students.stream().distinct().forEach(s->{ | |
| 480 | + StudentInfo.Student student = new StudentInfo.Student(); | |
| 481 | + student.setUserName(s.getName()); | |
| 482 | + student.setStudentCode(s.getUser_id()); | |
| 483 | + studentList.add(student); | |
| 484 | + }); | |
| 485 | + info.setTotal(students.size()); | |
| 486 | + info.setStudentList(studentList); | |
| 487 | + return ResultGenerator.genSuccessResult(new Gson().toJson(info)); | |
| 488 | + } | |
| 489 | + | |
| 490 | + @RequestMapping(value = "syncStudent", method = RequestMethod.GET) | |
| 491 | + @ApiOperation("艺校对账新增") | |
| 492 | + @ResponseBody | |
| 493 | + public Result syncStudent(@RequestParam("userId") String userId) { | |
| 494 | + if(StringUtils.isEmpty(userId)){ | |
| 495 | + return ResultGenerator.genFailResult("参数为空"); | |
| 496 | + } | |
| 497 | + UserInfoBean student = userService.getStudentByUserId(userId); | |
| 498 | + if(student ==null){ | |
| 499 | + return ResultGenerator.genFailResult("此学生不存在"); | |
| 500 | + } | |
| 501 | + sendRecordToSXYX(student.getName(),userId); | |
| 502 | + return ResultGenerator.genSuccessResult(); | |
| 503 | + } | |
| 504 | + | |
| 505 | + public static String sendRecordToSXYX(String name,String userId) { | |
| 506 | + String result = ""; | |
| 507 | + try { | |
| 508 | + String api = "http://yixiao.198.hmkj.com.cn/index.php/Attend/student"; | |
| 509 | + RestTemplate restTemplate = new RestTemplate(); | |
| 510 | + MultiValueMap<String, Object> map = new LinkedMultiValueMap<>(); | |
| 511 | + map.add("name", name); | |
| 512 | + map.add("xuehao", userId); | |
| 513 | + HttpHeaders headers = new HttpHeaders(); | |
| 514 | + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); | |
| 515 | + HttpEntity<MultiValueMap<String, Object>> param = new HttpEntity<>(map, headers); | |
| 516 | + ResponseEntity<String> response = restTemplate.postForEntity(api, param, String.class); | |
| 517 | + result = response.getBody(); | |
| 518 | + System.out.println(result); | |
| 519 | + } catch (Exception e) { | |
| 520 | + sendRecordToSXYX(name,userId); | |
| 521 | + } | |
| 522 | + return result; | |
| 523 | + } | |
| 524 | + | |
| 458 | 525 | } | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/control/sxyx/SxyxOaControl.java
0 → 100644
| ... | ... | @@ -0,0 +1,95 @@ |
| 1 | +package com.example.dahua.control.sxyx; | |
| 2 | + | |
| 3 | +import com.example.dahua.bean.UserInfoBean; | |
| 4 | +import com.example.dahua.bean.yx.Result; | |
| 5 | +import com.example.dahua.bean.yx.ResultGenerator; | |
| 6 | +import com.example.dahua.bean.yx.StudentInfo; | |
| 7 | +import com.example.dahua.service.UserService; | |
| 8 | +import com.google.gson.Gson; | |
| 9 | +import io.swagger.annotations.Api; | |
| 10 | +import io.swagger.annotations.ApiOperation; | |
| 11 | +import lombok.extern.slf4j.Slf4j; | |
| 12 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 13 | +import org.springframework.http.HttpEntity; | |
| 14 | +import org.springframework.http.HttpHeaders; | |
| 15 | +import org.springframework.http.MediaType; | |
| 16 | +import org.springframework.http.ResponseEntity; | |
| 17 | +import org.springframework.util.CollectionUtils; | |
| 18 | +import org.springframework.util.LinkedMultiValueMap; | |
| 19 | +import org.springframework.util.MultiValueMap; | |
| 20 | +import org.springframework.util.StringUtils; | |
| 21 | +import org.springframework.web.bind.annotation.*; | |
| 22 | +import org.springframework.web.client.RestTemplate; | |
| 23 | + | |
| 24 | +import java.util.ArrayList; | |
| 25 | +import java.util.List; | |
| 26 | + | |
| 27 | +@Slf4j | |
| 28 | +@RestController | |
| 29 | +@Api(tags = "绍兴艺校对外接口") | |
| 30 | +@RequestMapping("/sxyx/student") | |
| 31 | +public class SxyxOaControl { | |
| 32 | + | |
| 33 | + @Autowired | |
| 34 | + UserService userService; | |
| 35 | + | |
| 36 | + @RequestMapping(value = "/getStudent", method = RequestMethod.GET) | |
| 37 | + @ApiOperation("艺校对账查询") | |
| 38 | + @ResponseBody | |
| 39 | + public Result queryStudent(@RequestHeader("code") String code) { | |
| 40 | + if(StringUtils.isEmpty(code) || !code.equals("sxyx")){ | |
| 41 | + return ResultGenerator.genFailResult("请求标识匹配错误"); | |
| 42 | + } | |
| 43 | + List<UserInfoBean> students = userService.getStudent(12); | |
| 44 | + if(CollectionUtils.isEmpty(students)){ | |
| 45 | + return ResultGenerator.genSuccessResult(); | |
| 46 | + } | |
| 47 | + StudentInfo info = new StudentInfo(); | |
| 48 | + List<StudentInfo.Student> studentList = new ArrayList<>(); | |
| 49 | + students.stream().distinct().forEach(s->{ | |
| 50 | + StudentInfo.Student student = new StudentInfo.Student(); | |
| 51 | + student.setUserName(s.getName()); | |
| 52 | + student.setStudentCode(s.getUser_id()); | |
| 53 | + studentList.add(student); | |
| 54 | + }); | |
| 55 | + info.setTotal(students.size()); | |
| 56 | + info.setStudentList(studentList); | |
| 57 | + return ResultGenerator.genSuccessResult(new Gson().toJson(info)); | |
| 58 | + } | |
| 59 | + | |
| 60 | + @RequestMapping(value = "/syncStudent", method = RequestMethod.GET) | |
| 61 | + @ApiOperation("艺校对账新增") | |
| 62 | + @ResponseBody | |
| 63 | + public Result syncStudent(@RequestParam("userId") String userId) { | |
| 64 | + if(StringUtils.isEmpty(userId)){ | |
| 65 | + return ResultGenerator.genFailResult("参数为空"); | |
| 66 | + } | |
| 67 | + UserInfoBean student = userService.getStudentByUserId(userId); | |
| 68 | + if(student ==null){ | |
| 69 | + return ResultGenerator.genFailResult("此学生不存在"); | |
| 70 | + } | |
| 71 | + sendRecordToSXYX(student.getName(),userId); | |
| 72 | + return ResultGenerator.genSuccessResult(); | |
| 73 | + } | |
| 74 | + | |
| 75 | + public static String sendRecordToSXYX(String name,String userId) { | |
| 76 | + String result = ""; | |
| 77 | + try { | |
| 78 | + String api = "http://yixiao.198.hmkj.com.cn/index.php/Attend/student"; | |
| 79 | + RestTemplate restTemplate = new RestTemplate(); | |
| 80 | + MultiValueMap<String, Object> map = new LinkedMultiValueMap<>(); | |
| 81 | + map.add("name", name); | |
| 82 | + map.add("xuehao", userId); | |
| 83 | + HttpHeaders headers = new HttpHeaders(); | |
| 84 | + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); | |
| 85 | + HttpEntity<MultiValueMap<String, Object>> param = new HttpEntity<>(map, headers); | |
| 86 | + ResponseEntity<String> response = restTemplate.postForEntity(api, param, String.class); | |
| 87 | + result = response.getBody(); | |
| 88 | + System.out.println(result); | |
| 89 | + } catch (Exception e) { | |
| 90 | + sendRecordToSXYX(name,userId); | |
| 91 | + } | |
| 92 | + return result; | |
| 93 | + } | |
| 94 | + | |
| 95 | +} | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/dao/UserDao.java
| ... | ... | @@ -94,12 +94,18 @@ public interface UserDao { |
| 94 | 94 | @Select(" select top 1* from SZ_V_School_Student where student_id = #{student_id}") |
| 95 | 95 | UserInfoBean getStudentWithid(@Param("student_id") String student_id); |
| 96 | 96 | |
| 97 | + @Select(" select top 1* from SZ_V_School_Student where user_id = #{userId}") | |
| 98 | + UserInfoBean getStudentByUserId(@Param("userId") String userId); | |
| 99 | + | |
| 97 | 100 | @Select(" select * from SZ_V_School_Student where student_num = #{student_num} and name = #{name}") |
| 98 | 101 | UserInfoBean getStudent(@Param("student_num") String student_num, @Param("name") String name); |
| 99 | 102 | |
| 100 | 103 | @Select(" select * from SZ_V_School_Student where school_id = #{school_id} and sex = #{sex} and student_type = #{student_type}") |
| 101 | 104 | List<UserInfoBean> getStudentWithSchoolId(@Param("school_id") String school_id, @Param("sex") String sex, @Param("student_type") String student_type); |
| 102 | 105 | |
| 106 | + @Select(" select * from SZ_V_School_Student where school_id = #{school_id}") | |
| 107 | + List<UserInfoBean> getStudentBySchoolId(@Param("school_id") Integer school_id); | |
| 108 | + | |
| 103 | 109 | @Select("select * from SZ_V_School_Student where school_id = 479 and student_type = 2") |
| 104 | 110 | List<UserInfoBean> getUsers(); |
| 105 | 111 | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/service/UserService.java
cloud/dahua/src/main/java/com/example/dahua/service/imp/UserServiceImp.java
| ... | ... | @@ -182,4 +182,14 @@ public class UserServiceImp implements UserService { |
| 182 | 182 | } |
| 183 | 183 | } |
| 184 | 184 | } |
| 185 | + | |
| 186 | + @Override | |
| 187 | + public List<UserInfoBean> getStudent(Integer schoolId) { | |
| 188 | + return userDao.getStudentBySchoolId(schoolId); | |
| 189 | + } | |
| 190 | + | |
| 191 | + @Override | |
| 192 | + public UserInfoBean getStudentByUserId(String userId) { | |
| 193 | + return userDao.getStudentByUserId(userId); | |
| 194 | + } | |
| 185 | 195 | } | ... | ... |
cloud/haikangface/src/main/java/com/sincere/haikangface/control/UserOperateController.java
| ... | ... | @@ -145,4 +145,13 @@ public class UserOperateController { |
| 145 | 145 | @RequestParam(value = "deviceIds",required = false) String deviceIds){ |
| 146 | 146 | return userOperateService.deleteFaceBySchoolId(schoolId,deviceIds); |
| 147 | 147 | } |
| 148 | + | |
| 149 | + | |
| 150 | + public static void main(String[] args) { | |
| 151 | + String photo = "http://campus.myjxt.com//f0i5l7e5/0/alluser/20171008/aa26754eb6f24fceb8881d50ee37cdf3.jpg"; | |
| 152 | + //以学籍号为名的文件名 | |
| 153 | + String fileName = photo.substring(photo.lastIndexOf("/") + 1,photo.length()); | |
| 154 | + System.out.println(fileName); | |
| 155 | + System.out.println(fileName.split(".")[0]); | |
| 156 | + } | |
| 148 | 157 | } | ... | ... |