Commit 38841d26587e26db1af3f96923126de6a646532c

Authored by 徐泉
1 parent f1e0c386
Exists in master

修改提交

cloud/dahua/src/main/java/com/example/dahua/control/UserOperateController.java
... ... @@ -91,15 +91,25 @@ public class UserOperateController {
91 91 }
92 92  
93 93 @ApiOperation(value = "按班级指定下发")
94   - @RequestMapping(value = "sendFaceByClassId", method = RequestMethod.POST)
  94 + @RequestMapping(value = "sendFaceByClassId", method = RequestMethod.GET)
95 95 public void exportFace(@RequestParam("schoolId") Integer schoolId,
96 96 @RequestParam(value = "classIds",required = false) String classIds,
97 97 @RequestParam(value = "deviceIds",required = false) String deviceIds){
98   - userOperateService.sendFaceByClassId(schoolId,classIds,deviceIds);
  98 + userOperateService.sendFaceByClassId(schoolId,classIds,deviceIds,"",null);
  99 + }
  100 +
  101 + @ApiOperation(value = "按班级指定下发")
  102 + @RequestMapping(value = "sendFaceByClassId2", method = RequestMethod.GET)
  103 + public void sendFaceByClassId2(@RequestParam("schoolId") Integer schoolId,
  104 + @RequestParam(value = "classIds",required = false) String classIds,
  105 + @RequestParam(value = "studentType",required = false) Integer studentType,
  106 + @RequestParam(value = "sex",required = false) String sex,
  107 + @RequestParam(value = "deviceIds",required = false) String deviceIds){
  108 + userOperateService.sendFaceByClassId(schoolId,classIds,deviceIds,sex,studentType);
99 109 }
100 110  
101 111 @ApiOperation(value = "删除指定学校下无效人脸")
102   - @RequestMapping(value = "deleteFaceByClassId", method = RequestMethod.POST)
  112 + @RequestMapping(value = "deleteFaceByClassId", method = RequestMethod.GET)
103 113 public void exportFace(@RequestParam("schoolId") Integer schoolId,
104 114 @RequestParam(value = "deviceIds",required = false) String deviceIds){
105 115 userOperateService.deleteFaceByClassId(schoolId,deviceIds);
... ... @@ -133,7 +143,7 @@ public class UserOperateController {
133 143 public void importExcel(@RequestParam("schoolId") Integer schoolId,
134 144 HttpServletRequest request, HttpServletResponse response){
135 145  
136   - List<Map<String, Object>> sheetList = userOperateService.exportStudent(schoolId,"188368,188369,188370,188371");
  146 + List<Map<String, Object>> sheetList = userOperateService.exportStudent(schoolId,"188368,188369,188370,188371",null,"");
137 147 ExcelUtil2.exportExcelByEasyPoi(sheetList,"中意",request,response);
138 148 }
139 149  
... ... @@ -144,18 +154,25 @@ public class UserOperateController {
144 154 }
145 155  
146 156 @ApiOperation(value = "下方指定卡号")
147   - @RequestMapping(value = "sendCard", method = RequestMethod.POST)
  157 + @RequestMapping(value = "sendCard", method = RequestMethod.GET)
148 158 public void exportFace(@RequestParam("cardNum") String cardNum,@RequestParam("schoolId") Integer schoolId,
149 159 @RequestParam("deviceIds") String deviceIds){
150 160 userOperateService.sendCard(cardNum,schoolId,deviceIds);
151 161 }
152   -// @ApiOperation(value = "按班级指定下发")
153   -// @RequestMapping(value = "sendFaceByRoomId", method = RequestMethod.POST)
154   -// public void exportFace(@RequestParam("schoolId") Integer schoolId,
155   -// @RequestParam(value = "classIds",required = false) String classIds,
156   -// @RequestParam(value = "deviceIds",required = false) String deviceIds){
157   -//// userOperateService.sendFaceByRoomId(schoolId,classIds,deviceIds);
158   -// r
159   -// }
160 162  
  163 + @ApiOperation(value = "按班级指定下发")
  164 + @RequestMapping(value = "sendFaceByRoomId", method = RequestMethod.GET)
  165 + public void exportFace(@RequestParam("schoolId") Integer schoolId,
  166 + @RequestParam("roomId") Integer roomId,
  167 + @RequestParam(value = "deviceIds",required = false) String deviceIds){
  168 + userOperateService.sendFaceByRoomId(schoolId,roomId,deviceIds);
  169 + }
  170 +
  171 + @ApiOperation(value = "按关键字指定下发")
  172 + @RequestMapping(value = "sendFaceByKeyword", method = RequestMethod.GET)
  173 + public void sendFaceByKeyword(@RequestParam("schoolId") Integer schoolId,
  174 + @RequestParam("keyword") String keyword,
  175 + @RequestParam(value = "deviceIds",required = false) String deviceIds){
  176 + userOperateService.sendFaceByKeyword(schoolId,keyword,deviceIds);
  177 + }
161 178 }
... ...
cloud/dahua/src/main/java/com/example/dahua/dao/UserDao.java
... ... @@ -282,10 +282,17 @@ public interface UserDao {
282 282  
283 283 List<String> queryStudentIdList(@Param("schoolId") Integer schoolId,@Param("roomId")Integer roomId);
284 284  
285   - List<StudentBean> getStudentByClassId(@Param("schoolId") int schoolId,@Param("classIds") List<Integer> classIds);
  285 + List<StudentBean> getStudentByClassId(@Param("schoolId") int schoolId,@Param("classIds") List<String> classIds,
  286 + @Param("studentType")Integer studentType,@Param("sexList") List<Integer> sexList);
  287 +
  288 + List<StudentBean> getStudentByKeyword(@Param("schoolId") int schoolId, @Param("keyword") String keyword);
286 289  
287 290 List<Integer> getGroupByClassId(@Param("classId") Integer classId);
288 291  
  292 + List<Integer> getRoomBySchoolId(@Param("schoolId") Integer schoolId,@Param("groupId") Integer groupId);
  293 +
  294 + List<StudentBean> getStudentByRoomIds(@Param("schoolId") Integer schoolId,@Param("pIdList") List<Integer> pIdList);
  295 +
289 296 void insertStudent(ImportStudent studentBak);
290 297  
291 298 List<ImportStudent> selectYxStudentList(@Param("sceneName") String sceneName,@Param("schoolId") Integer schoolId);
... ...
cloud/dahua/src/main/java/com/example/dahua/service/UserOperateService.java
... ... @@ -25,7 +25,11 @@ public interface UserOperateService {
25 25 * @param classIds
26 26 * @param deviceIds
27 27 */
28   - void sendFaceByClassId(Integer schoolId,String classIds,String deviceIds);
  28 + void sendFaceByClassId(Integer schoolId,String classIds,String deviceIds,String sex,Integer studentType);
  29 +
  30 + void sendFaceByRoomId(Integer schoolId,Integer roomId,String deviceIds);
  31 +
  32 + void sendFaceByKeyword(Integer schoolId,String keyword,String deviceIds);
29 33  
30 34 void deleteFaceByClassId(Integer schoolId,String deviceIds);
31 35  
... ... @@ -42,5 +46,5 @@ public interface UserOperateService {
42 46  
43 47 void sendCard(String cardNum,Integer schoolId,String deviceIds);
44 48  
45   - List<Map<String, Object>> exportStudent(Integer schoolId, String deviceIds);
  49 + List<Map<String, Object>> exportStudent(Integer schoolId, String deviceIds,Integer studentType,String sex);
46 50 }
... ...
cloud/dahua/src/main/java/com/example/dahua/service/imp/BaseService.java
... ... @@ -9,6 +9,7 @@ import com.example.dahua.xiananDao.SendRecordDao;
9 9 import lombok.extern.slf4j.Slf4j;
10 10 import org.springframework.beans.factory.annotation.Autowired;
11 11 import org.springframework.stereotype.Service;
  12 +import org.springframework.util.CollectionUtils;
12 13 import org.springframework.util.StringUtils;
13 14  
14 15 import java.text.SimpleDateFormat;
... ... @@ -132,15 +133,17 @@ public class BaseService {
132 133 }
133 134 }
134 135  
135   - public List<StudentBean> getStudentByClassId(Integer schoolId,String classIds) {
136   - List<Integer> list = new ArrayList<>();
  136 + public List<StudentBean> getStudentByClassId(Integer schoolId,String classIds,Integer studentType,String sex) {
  137 + List<String> classList = null;
137 138 if(!StringUtils.isEmpty(classIds)){
138   - String[] msg = classIds.split(",");
139   - for(String s : msg){
140   - list.add(Integer.valueOf(s));
141   - }
  139 + classList = Arrays.asList(classIds.split(","));
  140 + }
  141 + List<Integer> sexList = null;
  142 + if(org.apache.commons.lang3.StringUtils.isNotBlank(sex)){
  143 + sexList = Arrays.asList(sex.split(","))
  144 + .stream().map(Integer::parseInt).collect(Collectors.toList());
142 145 }
143   - List<StudentBean> students = userDao.getStudentByClassId(schoolId,list);
  146 + List<StudentBean> students = userDao.getStudentByClassId(schoolId,classList,studentType,sexList);
144 147 //去重重复数据
145 148 List<StudentBean> studentList = students.stream().collect(Collectors.collectingAndThen(
146 149 Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(StudentBean::getStudent_num))), ArrayList::new));
... ... @@ -176,4 +179,37 @@ public class BaseService {
176 179 Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ImportStudent::getCardNum))), ArrayList::new));
177 180 return teacherist;
178 181 }
  182 +
  183 + /**
  184 + * 获取宿舍分组管理学生
  185 + * @param schoolId
  186 + * @param roomId
  187 + * @return
  188 + */
  189 + public List<StudentBean> getStudentListByRoomId(Integer schoolId,Integer roomId) {
  190 + List<Integer> rooms = userDao.getRoomBySchoolId(schoolId,roomId);
  191 + if(!CollectionUtils.isEmpty(rooms)) {
  192 + List<Integer> pIdlIst = rooms.stream().distinct().collect(Collectors.toList());
  193 + List<StudentBean> studentBeans = userDao.getStudentByRoomIds(schoolId,pIdlIst);
  194 + //去重重复数据
  195 + List<StudentBean> studentList = studentBeans.stream().collect(Collectors.collectingAndThen(
  196 + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(StudentBean::getStudent_num))), ArrayList::new));
  197 + return studentList;
  198 + }
  199 + return null;
  200 + }
  201 +
  202 + /**
  203 + * 根据班级关键字获取学生数据信息
  204 + * @param schoolId
  205 + * @param keyword
  206 + * @return
  207 + */
  208 + public List<StudentBean> getStudentByKeyword(Integer schoolId,String keyword) {
  209 + List<StudentBean> students = userDao.getStudentByKeyword(schoolId,keyword);
  210 + //去重重复数据
  211 + List<StudentBean> studentList = students.stream().collect(Collectors.collectingAndThen(
  212 + Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(StudentBean::getStudent_num))), ArrayList::new));
  213 + return studentList;
  214 + }
179 215 }
... ...
cloud/dahua/src/main/java/com/example/dahua/service/imp/UserOperateServiceImpl.java
... ... @@ -70,7 +70,7 @@ public class UserOperateServiceImpl implements UserOperateService {
70 70  
71 71  
72 72 @Override
73   - public void sendFaceByClassId(Integer schoolId,String classIds,String deviceIds) {
  73 + public void sendFaceByClassId(Integer schoolId,String classIds,String deviceIds,String sex,Integer studentType) {
74 74 //下发设备集合
75 75 List<String> deviceList = new ArrayList<>();
76 76 if(StringUtils.isEmpty(deviceIds)){
... ... @@ -80,7 +80,39 @@ public class UserOperateServiceImpl implements UserOperateService {
80 80 deviceList= new ArrayList<>(Arrays.asList(deviceArr));
81 81 }
82 82 //根据类型获取下发用户信息
83   - List<StudentBean> studentBeanList = baseService.getStudentByClassId(schoolId,classIds);
  83 + List<StudentBean> studentBeanList = baseService.getStudentByClassId(schoolId,classIds,studentType,sex);
  84 + log.info("统计共有下发用户数量:{}",studentBeanList.size());
  85 + //下發人臉
  86 + sendFace(studentBeanList,deviceList,schoolId,2);
  87 + }
  88 +
  89 + @Override
  90 + public void sendFaceByRoomId(Integer schoolId,Integer roomId,String deviceIds) {
  91 + //下发设备集合
  92 + List<String> deviceList = null;
  93 + if(StringUtils.isEmpty(deviceIds)){
  94 + deviceList = userDao.selectDeviceBySchoolId(schoolId);
  95 + }else{
  96 + deviceList= Arrays.asList( deviceIds.split(","));
  97 + }
  98 + //根据类型获取下发用户信息
  99 + List<StudentBean> studentBeanList = baseService.getStudentListByRoomId(schoolId,roomId);
  100 + log.info("统计共有下发用户数量:{}",studentBeanList.size());
  101 + //下發人臉
  102 + sendFace(studentBeanList,deviceList,schoolId,2);
  103 + }
  104 +
  105 + @Override
  106 + public void sendFaceByKeyword(Integer schoolId,String keyword,String deviceIds) {
  107 + //下发设备集合
  108 + List<String> deviceList = null;
  109 + if(StringUtils.isEmpty(deviceIds)){
  110 + deviceList = userDao.selectDeviceBySchoolId(schoolId);
  111 + }else{
  112 + deviceList= Arrays.asList( deviceIds.split(","));
  113 + }
  114 + //根据类型获取下发用户信息
  115 + List<StudentBean> studentBeanList = baseService.getStudentByKeyword(schoolId,keyword);
84 116 log.info("统计共有下发用户数量:{}",studentBeanList.size());
85 117 //下發人臉
86 118 sendFace(studentBeanList,deviceList,schoolId,2);
... ... @@ -325,11 +357,11 @@ public class UserOperateServiceImpl implements UserOperateService {
325 357  
326 358  
327 359 @Override
328   - public List<Map<String, Object>> exportStudent(Integer schoolId,String classIds) {
  360 + public List<Map<String, Object>> exportStudent(Integer schoolId,String classIds,Integer studentType,String sex) {
329 361 // 将sheet1、sheet2使用得map进行包装
330 362 List<Map<String, Object>> sheetsList = new ArrayList<>();
331 363 //根据类型获取下发用户信息
332   - List<StudentBean> studentBeanList = baseService.getStudentByClassId(schoolId,classIds);
  364 + List<StudentBean> studentBeanList = baseService.getStudentByClassId(schoolId,classIds,studentType,sex);
333 365 log.info("统计共有下发用户数量:{}",studentBeanList.size());
334 366  
335 367 List<ExportStudentBean> studentBeans = studentBeanList.stream().map(s->{
... ...
cloud/dahua/src/main/resources/mapper/usermapper.xml
... ... @@ -49,8 +49,39 @@
49 49 and StudentId in (select student_id from SZ_V_School_Student where school_id= #{schoolId}) order by newid()
50 50 </select>
51 51  
  52 + <select id="getRoomBySchoolId" resultType="java.lang.Integer">
  53 + select Id from ss_room where schoolId = #{schoolId} and pId = #{groupId}
  54 + </select>
  55 +
  56 + <select id="getStudentByRoomIds" resultType="com.example.dahua.bean.StudentBean">
  57 + SELECT
  58 + ssu.*
  59 + from SS_RoomNumber ssr
  60 + LEFT JOIN SZ_V_School_Student ssu ON ssr.studentId = ssu.student_id
  61 + <where>
  62 + <if test="schoolId != null">
  63 + and ssr.schoolId = #{schoolId}
  64 + </if>
  65 + <if test="pIdList != null and pIdList.size()>0">
  66 + and ssr.Pid in
  67 + <foreach item="item" collection="pIdList" open="(" separator="," close=")" index="">
  68 + #{item}
  69 + </foreach>
  70 + </if>
  71 + </where>
  72 + </select>
  73 +
52 74 <select id="getStudentByClassId" resultType="com.example.dahua.bean.StudentBean">
53 75 select * from SZ_V_School_Student where school_id = #{schoolId}
  76 + <if test="studentType != null">
  77 + and student_type = #{studentType}
  78 + </if>
  79 + <if test="sexList != null and sexList.size() >0">
  80 + and sex in
  81 + <foreach item="item" collection="sexList" separator="," open="(" close=")" index="">
  82 + #{item}
  83 + </foreach>
  84 + </if>
54 85 <if test="classIds != null and classIds.size() >0">
55 86 and class_id in
56 87 <foreach item="item" collection="classIds" separator="," open="(" close=")" index="">
... ... @@ -60,6 +91,14 @@
60 91 and student_num != '' and photo !=''
61 92 </select>
62 93  
  94 + <select id="getStudentByKeyword" resultType="com.example.dahua.bean.StudentBean">
  95 + select * from SZ_V_School_Student where school_id = #{schoolId}
  96 + <if test="keyword != null and keyword !=''">
  97 + and class_name like concat('%', #{keyword}, '%')
  98 + </if>
  99 + and student_num != '' and photo !=''
  100 + </select>
  101 +
63 102 <select id="getGroupByClassId" resultType="java.lang.Integer">
64 103 SELECT
65 104 Pid
... ...
cloud/fIle-center/src/main/resources/application.yml
1 1 #阿里云文件上传
2 2 aliyun:
3 3 oss:
4   - access-key: QiuM3PwHTnVotcGy
5   - accessKeySecret: Yqs7RlaC1MioZu2YYJ6u0TdeO13VFC
  4 + access-key: LTAI5t9bvWV4Rnu9CvWNRL6J
  5 + accessKeySecret: YGs4fH0BYTqMM26vXJ74lk3ce1Ha5A
6 6 endpoint: http://oss-cn-hangzhou.aliyuncs.com
7 7 bucketName: szyundisk
8 8 domain: https://szyundisk.oss-cn-hangzhou.aliyuncs.com
... ...
cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java
... ... @@ -37,10 +37,7 @@ import java.net.InetAddress;
37 37 import java.net.UnknownHostException;
38 38 import java.nio.ByteBuffer;
39 39 import java.text.SimpleDateFormat;
40   -import java.util.Date;
41   -import java.util.HashMap;
42   -import java.util.List;
43   -import java.util.Map;
  40 +import java.util.*;
44 41 import java.util.regex.Pattern;
45 42  
46 43 @Component
... ... @@ -64,10 +61,10 @@ public class CMSServer implements ApplicationRunner {
64 61 // 存储设备登录句柄
65 62 static Map<String, NativeLong> map = new HashMap<>();
66 63  
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/";
  64 +// private String ip_cloud = "114.55.30.100";
  65 +// private String strPath = "E://EhomePicServer/";
  66 + private String ip_cloud = "120.26.116.253";
  67 + private String strPath = "D://EhomePicServer/";
71 68  
72 69 private String ip;
73 70 {
... ... @@ -388,10 +385,8 @@ public class CMSServer implements ApplicationRunner {
388 385 saveFaceRecoder(deviceID, cardNo, time, picDataUrlId, currTemperature,outOrIn);
389 386 //944柯桥实验幼儿园,海康一体机考勤签到
390 387 if(StringUtils.isNotBlank(schoolId)){
391   - if(Integer.parseInt(schoolId)== 944){
392   - log.info("柯桥实验考勤:考勤卡号:{} "+ cardNo);
393   - }
394   - if(Integer.parseInt(schoolId)== 944 && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){
  388 + if((Objects.equals(schoolId,"1066") || Objects.equals(schoolId,"944") )
  389 + && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){
395 390 kaoQinRecord(outOrIn,cardNo,deviceID,time);
396 391 }
397 392 }
... ... @@ -408,10 +403,8 @@ public class CMSServer implements ApplicationRunner {
408 403 saveFaceRecoder(deviceID, cardNo, time, picDataUrlId, currTemperature,outOrIn);
409 404 //944柯桥实验幼儿园,海康一体机考勤签到
410 405 if(StringUtils.isNotBlank(schoolId)){
411   - if(Integer.parseInt(schoolId)== 944){
412   - log.info("柯桥实验考勤:考勤卡号:{} "+ cardNo);
413   - }
414   - if(Integer.parseInt(schoolId)== 944 && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){
  406 + if((Objects.equals(schoolId,"1066") || Objects.equals(schoolId,"944") )
  407 + && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){
415 408 kaoQinRecord(outOrIn,cardNo,deviceID,time);
416 409 }
417 410 }
... ... @@ -421,10 +414,8 @@ public class CMSServer implements ApplicationRunner {
421 414 saveFaceRecoder(deviceID, cardNo, time, picDataUrlId, currTemperature,outOrIn);
422 415 //944柯桥实验幼儿园,海康一体机考勤签到
423 416 if(StringUtils.isNotBlank(schoolId)){
424   - if(Integer.parseInt(schoolId)== 944){
425   - log.info("柯桥实验考勤:考勤卡号:{} "+ cardNo);
426   - }
427   - if(Integer.parseInt(schoolId)== 944 && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){
  417 + if((Objects.equals(schoolId,"1066") || Objects.equals(schoolId,"944") )
  418 + && !StringUtils.isEmpty(cardNo) && isNumeric(cardNo)){
428 419 kaoQinRecord(outOrIn,cardNo,deviceID,time);
429 420 }
430 421 }
... ... @@ -456,9 +447,9 @@ public class CMSServer implements ApplicationRunner {
456 447 checkIn.setCheckTime(eventTime);
457 448 sendRecordDao.checkIn(checkIn);
458 449 if (checkIn.getIsSuccess() == 1) {
459   - log.info("柯桥实验幼儿园考勤成功: checkIn: {}, 方向:{}", JsonUtils.nonDefaultMapper().toJson(checkIn),outOrIn == 1 ? "门" : "出门");
  450 + log.info("考勤成功: checkIn: {}, 方向:{}",JSON.toJSONString(checkIn),outOrIn == 1 ? "门" : "出门");
460 451 } else {
461   - log.info("柯桥实验幼儿园考勤失败: checkIn: {}, 方向:{}",JsonUtils.nonDefaultMapper().toJson(checkIn),outOrIn == 1 ? "进门" : "出门");
  452 + log.info("考勤失败: checkIn: {}, 方向:{}",JSON.toJSONString(checkIn),outOrIn == 1 ? "进门" : "出门");
462 453 }
463 454 }
464 455  
... ...
cloud/haikangface/src/main/java/com/sincere/haikangface/control/UserOperateController.java
... ... @@ -100,7 +100,8 @@ public class UserOperateController {
100 100  
101 101 @ApiOperation(value = "下发未下发的人脸至指定设备2.0")
102 102 @RequestMapping(value = "sendFaceForNoSend", method = RequestMethod.POST)
103   - public Result sendFaceForNoSend(@RequestParam("schoolId") Integer schoolId,@RequestParam("userType") Integer userType,
  103 + public Result sendFaceForNoSend(@RequestParam("schoolId") Integer schoolId,
  104 + @RequestParam("userType") Integer userType,
104 105 @RequestParam(value = "studentType",required = false) Integer studentType,
105 106 @RequestParam(value = "sex",required = false) String sex,
106 107 @RequestParam(value = "deviceIds",required = false) String deviceIds,
... ... @@ -153,6 +154,14 @@ public class UserOperateController {
153 154 return userOperateService.sendFaceByKeyword(schoolId,deviceIds,keyword,studentType,sex,isCheck);
154 155 }
155 156  
  157 + @ApiOperation(value = "指定班级下发未下发人脸")
  158 + @RequestMapping(value = "noSendByKeyword", method = RequestMethod.POST)
  159 + public Result noSendByKeyword(@RequestParam("schoolId") Integer schoolId,
  160 + @RequestParam(value = "keyword",required = false) String keyword,
  161 + @RequestParam(value = "deviceIds",required = false) String deviceIds) {
  162 + return userOperateService.noSendByKeyword(schoolId,keyword,deviceIds);
  163 + }
  164 +
156 165 @ApiOperation(value = "根据宿舍分组下发")
157 166 @RequestMapping(value = "sendFaceByRoomId", method = RequestMethod.POST)
158 167 public Result sendFaceByRoomId(@RequestParam("schoolId") Integer schoolId,
... ...
cloud/haikangface/src/main/java/com/sincere/haikangface/service/UserOperateService.java
... ... @@ -143,6 +143,15 @@ public interface UserOperateService {
143 143 */
144 144 Result sendFaceByKeyword(Integer schoolId,String deviceIds,String keyword,Integer studentType,String sex,Integer isCheck);
145 145  
  146 + Result noSendByKeyword(Integer schoolId,String keyword,String deviceIds);
  147 +
  148 + /**
  149 + * 根据寝室号下发人脸
  150 + * @param schoolId
  151 + * @param groupId
  152 + * @param deviceIds
  153 + * @return
  154 + */
146 155 Result sendFaceByRoomId(Integer schoolId,Integer groupId,String deviceIds);
147 156  
148 157 /**
... ...
cloud/haikangface/src/main/java/com/sincere/haikangface/service/impl/UserOperateServiceImpl.java
... ... @@ -641,7 +641,6 @@ public class UserOperateServiceImpl implements UserOperateService {
641 641 log.warn("该学校下未查询到下发设备");
642 642 return ResultGenerator.genFailResult("该学校下未查询到下发设备");
643 643 }
644   -
645 644 //下发用户集合
646 645 List<StudentBean> list = null;
647 646 if (userType == EnumSzBusinessType.EnumUserType.STUDENT.code && groupId ==null) {
... ... @@ -667,7 +666,6 @@ public class UserOperateServiceImpl implements UserOperateService {
667 666 return ResultGenerator.genSuccessResult(objectMapper.toJson(map));
668 667 }
669 668  
670   -
671 669 @Async
672 670 public void sendFaceForNoSend(Integer schoolId,Integer userType,List<StudentBean> studentList,List<String> deviceIds){
673 671 log.info("统计共有:"+studentList.size()+"张卡,"+deviceIds.size()+"台设备." );
... ... @@ -1071,7 +1069,28 @@ public class UserOperateServiceImpl implements UserOperateService {
1071 1069 return ResultGenerator.genSuccessResult(objectMapper.toJson(map));
1072 1070 }
1073 1071  
  1072 + @Override
  1073 + public Result noSendByKeyword(Integer schoolId,String keyword,String deviceIds) {
  1074 + //下发设备集合
  1075 + List<String> deviceList = Arrays.asList(deviceIds.split(","));
  1076 + //根据类型获取下发用户信息
  1077 + List<StudentBean> studentBeanList = baseService.getStudentByKeyword(schoolId,keyword,null,null);
  1078 +
  1079 + //异步执行下发
  1080 + sendFaceForNoSend(schoolId,2,studentBeanList,deviceList);
1074 1081  
  1082 + int fileSize = studentBeanList.size();
  1083 + int clintNum = deviceList.size();
  1084 + //下发所用时长
  1085 + int timeLength = new Double(clintNum * fileSize * 0.06).intValue();
  1086 + //下发截止时间
  1087 + String dateStr = baseService.getTime(fileSize,clintNum,timeLength);
  1088 + Map map = new HashMap();
  1089 + map.put("timeLength",timeLength);
  1090 + map.put("afterDate",dateStr);
  1091 + map.put("fileSize",fileSize);
  1092 + return ResultGenerator.genSuccessResult(objectMapper.toJson(map));
  1093 + }
1075 1094  
1076 1095 @Override
1077 1096 public Result sendFaceByRoomId(Integer schoolId,Integer roomId,String deviceIds) {
... ... @@ -1090,7 +1109,7 @@ public class UserOperateServiceImpl implements UserOperateService {
1090 1109 Integer clintType = userDao.getClintTypeByDeviceId(deviceList.get(0));
1091 1110 // if(clintType.intValue()== 22 || clintType.intValue()== 29){
1092 1111 // //发送大华设备
1093   -// HttpUtil.uploadDHImgByClassId(String.valueOf(schoolId),deviceIds);
  1112 +// HttpUtil.uploadDHImgByClassId(String.valueOf(schoolId),deviceIds,roomId);
1094 1113 // }
1095 1114 if(clintType.intValue()== 18 || clintType.intValue()== 28){
1096 1115 //发送海康设备:异步执行
... ...
cloud/haikangface/src/main/resources/application.yaml
... ... @@ -31,6 +31,22 @@ spring:
31 31 username: szjxtuser
32 32 password: RQminVCJota3H1u8bBYH
33 33 driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  34 + hikari:
  35 + #连接池名
  36 + pool-name: SzDateHikari
  37 + #最小空闲连接数
  38 + minimum-idle: 20
  39 + # 空闲连接存活最大时间,默认600000(10分钟)
  40 + idle-timeout: 180000
  41 + # 连接池最大连接数,默认是10
  42 + maximum-pool-size: 200
  43 + # 此属性控制从池返回的连接的默认自动提交行为,默认值:true
  44 + auto-commit: true
  45 + # 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
  46 + max-lifetime: 1800000
  47 + # 数据库连接超时时间,默认30秒,即30000
  48 + connection-timeout: 30000
  49 + connection-test-query: SELECT 1
34 50 # resources:
35 51 # static-locations: classpath:/META-INF/resources/,classpath:/resources/, classpath:/static/, classpath:/public/, file:C:/EhomePicServer/
36 52  
... ...
cloud/haikangface/src/main/resources/mapper/usermapper.xml
... ... @@ -117,7 +117,7 @@
117 117 </foreach>
118 118 </if>
119 119 <if test="keyword != null and keyword !=''">
120   - and class_name concat('%', #{keyword}, '%')
  120 + and class_name like concat('%', #{keyword}, '%')
121 121 </if>
122 122 and student_num != '' and photo !=''
123 123 </select>
... ...
cloud/quartz/src/main/resources/application.yaml
... ... @@ -4,26 +4,23 @@ server:
4 4 spring:
5 5 application:
6 6 name: quartz-server
  7 + datasource:
  8 + master: ## 查询
  9 + username: szjxtuser
  10 + password: RQminVCJota3H1u8bBYH
  11 + jdbc-url: jdbc:sqlserver://116.62.155.137:33419;database=SmartAdmin
  12 + driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  13 + slave: ## 短信
  14 + username: sa
  15 + password: qaz!@#0401
  16 + jdbc-url: jdbc:sqlserver://60.190.202.38:49469;database=XST
  17 + driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  18 + yxy: ## 翼学云
  19 + username: szyxt
  20 + password: QWer123$%^
  21 + jdbc-url: jdbc:sqlserver://47.110.50.251:33419;database=SZYXT
  22 + driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
7 23  
8   -datasource:
9   - master: ## 查询
10   - username: szjxtuser
11   - password: RQminVCJota3H1u8bBYH
12   - jdbcUrl: jdbc:sqlserver://116.62.155.137:33419;database=SmartAdmin
13   - driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
14   - slave: ## 短信
15   - username: sa
16   - password: qaz!@#0401
17   - jdbcUrl: jdbc:sqlserver://60.190.202.38:49469;database=XST
18   - driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
19   - yxy: ## 翼学云
20   - username: szyxt
21   - password: QWer123$%^
22   - jdbcUrl: jdbc:sqlserver://47.110.50.251:33419;database=SZYXT
23   -# username: SZJXTUSER
24   -# password: xst200919
25   -# jdbcUrl: jdbc:sqlserver://60.190.202.57:14333;database=SZYXT
26   - driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
27 24 ##mybatis
28 25 mybatis:
29 26 mapper-locations: classpath:mapper/*.xml
... ... @@ -32,12 +29,12 @@ mybatis:
32 29 ribbon:
33 30 ReadTimeout: 50000
34 31 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/
  32 +eureka:
  33 + instance:
  34 + hostname: localhost
  35 + lease-expiration-duration-in-seconds: 60
  36 + lease-renewal-interval-in-seconds: 10
  37 + client:
  38 + service-url:
  39 + defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
43 40  
... ...