Commit 84e52044ac349d95b21f298d6df8b591e93403ab
1 parent
0a43b0af
Exists in
master
下发权限修改
Showing
11 changed files
with
185 additions
and
48 deletions
Show diff stats
cloud/dahua/src/main/java/com/example/dahua/async/SendUserInfoTask.java
... | ... | @@ -4,10 +4,7 @@ package com.example.dahua.async; |
4 | 4 | |
5 | 5 | import com.alibaba.fastjson.JSON; |
6 | 6 | import com.example.dahua.MyTask; |
7 | -import com.example.dahua.bean.AttendanceBean; | |
8 | -import com.example.dahua.bean.SendRecordBean; | |
9 | -import com.example.dahua.bean.TeacherBean; | |
10 | -import com.example.dahua.bean.UserInfoBean; | |
7 | +import com.example.dahua.bean.*; | |
11 | 8 | import com.example.dahua.common.Res; |
12 | 9 | import com.example.dahua.dao.UserDao; |
13 | 10 | import com.example.dahua.enums.*; |
... | ... | @@ -16,10 +13,13 @@ import com.example.dahua.lib.FilePath; |
16 | 13 | import com.example.dahua.lib.NetSDKLib; |
17 | 14 | import com.example.dahua.lib.ToolKits; |
18 | 15 | import com.example.dahua.module.GateModule; |
16 | +import com.example.dahua.service.PermissFaceService; | |
19 | 17 | import com.example.dahua.utils.FileUtils; |
20 | 18 | import com.example.dahua.utils.HttpUtils; |
19 | +import com.example.dahua.utils.JsonUtils; | |
21 | 20 | import com.example.dahua.xiananDao.SendRecordDao; |
22 | 21 | import com.sun.jna.Memory; |
22 | +import io.swagger.models.auth.In; | |
23 | 23 | import lombok.extern.slf4j.Slf4j; |
24 | 24 | import org.springframework.beans.factory.annotation.Autowired; |
25 | 25 | import org.springframework.http.ResponseEntity; |
... | ... | @@ -44,6 +44,8 @@ public class SendUserInfoTask { |
44 | 44 | |
45 | 45 | @Autowired |
46 | 46 | SendRecordDao sendRecordDao; |
47 | + @Autowired | |
48 | + PermissFaceService permissFaceService; | |
47 | 49 | |
48 | 50 | /** |
49 | 51 | * 下发单个用户人脸任务 |
... | ... | @@ -301,6 +303,7 @@ public class SendUserInfoTask { |
301 | 303 | } |
302 | 304 | } |
303 | 305 | |
306 | + | |
304 | 307 | /** |
305 | 308 | * 下发人脸/卡信息 |
306 | 309 | * @param attendanceBean |
... | ... | @@ -323,6 +326,10 @@ public class SendUserInfoTask { |
323 | 326 | calendar.add(Calendar.YEAR, 4); |
324 | 327 | String endTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()); |
325 | 328 | |
329 | + String studentType = userDao.getStudentType(attendanceBean.getSchool_id(),sendRecordBean.getCustomerid()); | |
330 | + //通道号 | |
331 | + int channel = analysisPermission(Integer.parseInt(attendanceBean.getSchool_id()),studentType); | |
332 | + | |
326 | 333 | /** |
327 | 334 | * 注:用户下发逻辑 |
328 | 335 | * 下发时,先从下发记录表:SZ_Student_RecoderNo 获取当前用户下发记录集编号,存在于设备的,新增卡号时返回, |
... | ... | @@ -371,7 +378,7 @@ public class SendUserInfoTask { |
371 | 378 | if (bCardFlags) { |
372 | 379 | //修改设备卡信息 |
373 | 380 | boolean isEditCard = GateModule.modifyCard(Integer.parseInt(recordNo),cardNum, user_id, name, "123456", Res.string().getCardStatusInt(1), |
374 | - Res.string().getCardTypeInt(1), 0, 0, 1, startTime, endTime, loginHandleLong, userType,cardErrNum); | |
381 | + Res.string().getCardTypeInt(1), 0, 0, 1, startTime, endTime, loginHandleLong, userType,cardErrNum,channel); | |
375 | 382 | |
376 | 383 | if (isEditCard) { |
377 | 384 | //修改卡成功, 更新下发记录集编号表 |
... | ... | @@ -387,7 +394,7 @@ public class SendUserInfoTask { |
387 | 394 | userDao.deleteRecordNo(user_id, Integer.parseInt(recordNo)); |
388 | 395 | //重新下发卡号至设备 |
389 | 396 | newRecordNo = GateModule.insertCard(cardNum, user_id, name, "123456", Res.string().getCardStatusInt(1), |
390 | - Res.string().getCardTypeInt(1), 0, 1, 1, startTime, endTime, loginHandleLong,userType,cardErrNum); | |
397 | + Res.string().getCardTypeInt(1), 0, 1, 1, startTime, endTime, loginHandleLong,userType,cardErrNum,channel); | |
391 | 398 | |
392 | 399 | //下发卡至设备,返回值不为-1为下发成功,保存下发记录集编号表 |
393 | 400 | if (newRecordNo != -1) { |
... | ... | @@ -401,7 +408,7 @@ public class SendUserInfoTask { |
401 | 408 | //新增卡信息, 新增人脸信息至设备 |
402 | 409 | newRecordNo = GateModule.insertCard(cardNum, user_id, name, "123456" |
403 | 410 | , Res.string().getCardStatusInt(1), Res.string().getCardTypeInt(1), 0, 1 |
404 | - , 1, startTime, endTime, loginHandleLong,userType,cardErrNum); | |
411 | + , 1, startTime, endTime, loginHandleLong,userType,cardErrNum,channel); | |
405 | 412 | |
406 | 413 | //下发卡至设备,返回值不为-1为下发成功,保存下发记录集编号表 |
407 | 414 | if (newRecordNo != -1) { |
... | ... | @@ -419,7 +426,7 @@ public class SendUserInfoTask { |
419 | 426 | log.info("下发人脸和卡号成功, sendRecordBean: "+ JSON.toJSONString(sendRecordBean)); |
420 | 427 | |
421 | 428 | //人脸下发成功记录, 先判断是否已经存在了 |
422 | - List<SendRecordBean> sendRecordBeanList = sendRecordDao.getFaceSucceIsexit(sendRecordBean.getDeviceID(), String.valueOf(sendRecordBean.getSchoolId()), sendRecordBean.getCustomerid()); | |
429 | + List<SendRecordBean> sendRecordBeanList = sendRecordDao.getFaceSucceIsexit(sendRecordBean.getDeviceID(), String.valueOf(sendRecordBean.getSchoolId()), sendRecordBean.getNum()); | |
423 | 430 | if (sendRecordBeanList.size() > 0) { |
424 | 431 | //删除重复数据 |
425 | 432 | for (int i = 0; i < sendRecordBeanList.size(); i++) { |
... | ... | @@ -475,6 +482,41 @@ public class SendUserInfoTask { |
475 | 482 | } |
476 | 483 | } |
477 | 484 | |
485 | + private static JsonUtils objectMapper = JsonUtils.nonEmptyMapper(); | |
486 | + | |
487 | + /** | |
488 | + * 解析权限模板、获取下发通道号 | |
489 | + * @param schoolId | |
490 | + * @param studentType | |
491 | + * @return | |
492 | + */ | |
493 | + private int analysisPermission(int schoolId, String studentType){ | |
494 | + List<PermissionFaceBean> permissionFaceBeans = permissFaceService.getPermissionList(schoolId); | |
495 | + String channel =""; | |
496 | + if(permissionFaceBeans.size()>0){ | |
497 | + for(PermissionFaceBean permissionFaceBean : permissionFaceBeans){ | |
498 | + String json = permissionFaceBean.getPermissionJson(); | |
499 | + PermissionBean permissionBean = objectMapper.fromJson(json,PermissionBean.class); | |
500 | + //学生考勤类型 1:通校生,2:住校生,3:全部 | |
501 | + String studentTypeStr = permissionBean.getStudentType(); | |
502 | + if(studentTypeStr.indexOf(studentType)!=-1){ | |
503 | + channel= permissionFaceBean.getChannel(); | |
504 | + } | |
505 | + } | |
506 | + } | |
507 | + return Integer.parseInt(channel); | |
508 | + } | |
509 | + | |
510 | + | |
511 | + public static void main(String[] args) { | |
512 | + String json ="{\"studentType\":\"1,2\",\"deviceIds\":[\"aaa\"],\"weekDays\":[{\"weekTimes\":[{\"startTime\":\"12:00\",\"endTime\":\"06:00\"}],\"sex\":\"1,2\",\"weekDay\":\"0,1,2\"}]}"; | |
513 | + PermissionBean permissionBean = objectMapper.fromJson(json,PermissionBean.class); | |
514 | + String studentType = permissionBean.getStudentType(); | |
515 | + if(studentType.indexOf("1")!=-1){ | |
516 | + System.out.println(true); | |
517 | + } | |
518 | + } | |
519 | + | |
478 | 520 | /** |
479 | 521 | * 解析下发异常信息 |
480 | 522 | * @param cardErrNum |
... | ... | @@ -506,9 +548,6 @@ public class SendUserInfoTask { |
506 | 548 | return sb.toString(); |
507 | 549 | } |
508 | 550 | |
509 | - public static void main(String[] args) { | |
510 | - System.out.println(new SendUserInfoTask().analysisErrorMsg("","")); | |
511 | - } | |
512 | 551 | |
513 | 552 | /** |
514 | 553 | * 添加人脸下发失败记录 | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/bean/PermissionBean.java
... | ... | @@ -15,6 +15,12 @@ public class PermissionBean implements Serializable { |
15 | 15 | @ApiModelProperty("用逗号隔开,1:通校生,2:住校生,3:全部") |
16 | 16 | private String studentType; |
17 | 17 | |
18 | + @ApiModelProperty("权限通道号") | |
19 | + private String channel; | |
20 | + | |
21 | + @ApiModelProperty("权限自定义名成") | |
22 | + private String customName; | |
23 | + | |
18 | 24 | public String getStudentType() { |
19 | 25 | return studentType; |
20 | 26 | } |
... | ... | @@ -38,4 +44,20 @@ public class PermissionBean implements Serializable { |
38 | 44 | public void setWeekDays(List<WeekDay> weekDays) { |
39 | 45 | this.weekDays = weekDays; |
40 | 46 | } |
47 | + | |
48 | + public String getChannel() { | |
49 | + return channel; | |
50 | + } | |
51 | + | |
52 | + public void setChannel(String channel) { | |
53 | + this.channel = channel; | |
54 | + } | |
55 | + | |
56 | + public String getCustomName() { | |
57 | + return customName; | |
58 | + } | |
59 | + | |
60 | + public void setCustomName(String customName) { | |
61 | + this.customName = customName; | |
62 | + } | |
41 | 63 | } | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/bean/PermissionFaceBean.java
... | ... | @@ -42,6 +42,11 @@ public class PermissionFaceBean implements Serializable { |
42 | 42 | @ApiModelProperty(value = "0-新增;1-编辑;2-删除",required = true) |
43 | 43 | private int type; |
44 | 44 | |
45 | + @ApiModelProperty("权限通道号") | |
46 | + private String channel; | |
47 | + @ApiModelProperty("权限自定义名成") | |
48 | + private String customName; | |
49 | + | |
45 | 50 | public int getType() { |
46 | 51 | return type; |
47 | 52 | } |
... | ... | @@ -105,4 +110,20 @@ public class PermissionFaceBean implements Serializable { |
105 | 110 | public void setPermissionJson(String permissionJson) { |
106 | 111 | this.permissionJson = permissionJson; |
107 | 112 | } |
113 | + | |
114 | + public String getChannel() { | |
115 | + return channel; | |
116 | + } | |
117 | + | |
118 | + public void setChannel(String channel) { | |
119 | + this.channel = channel; | |
120 | + } | |
121 | + | |
122 | + public String getCustomName() { | |
123 | + return customName; | |
124 | + } | |
125 | + | |
126 | + public void setCustomName(String customName) { | |
127 | + this.customName = customName; | |
128 | + } | |
108 | 129 | } | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/dao/UserDao.java
... | ... | @@ -44,6 +44,15 @@ public interface UserDao { |
44 | 44 | @Select("select top 1 recordNo from SZ_Student_RecoderNo where user_id = #{user_id} and deviceId = #{deviceId}") |
45 | 45 | String getRecordNo(@Param("user_id") String user_id, @Param("deviceId") String deviceId); |
46 | 46 | |
47 | + /** | |
48 | + * 获取学生考勤类型 | |
49 | + * @param school_id | |
50 | + * @param customerid | |
51 | + * @return | |
52 | + */ | |
53 | + @Select(" select Top(1)* student_type from SZ_V_School_Student where school_id = #{school_id} and student_id = #{customerid}") | |
54 | + String getStudentType(@Param("school_id") String school_id, @Param("customerid") String customerid); | |
55 | + | |
47 | 56 | @Insert("insert into SZ_Student_RecoderNo values(#{user_id},#{recordNo},#{student_name},#{deviceId})") |
48 | 57 | int saveRecordNo(@Param("user_id") String user_id, @Param("recordNo") int recordNo, @Param("student_name") String student_name, @Param("deviceId") String deviceId); |
49 | 58 | |
... | ... | @@ -104,7 +113,7 @@ public interface UserDao { |
104 | 113 | @Select("select StudentId from SS_RoomNumber where Pid in (select id from SS_Room where SchoolId = 479)") |
105 | 114 | List<String> getStudentIds(); |
106 | 115 | |
107 | - @Select("select * from SZ_V_Card where num=#{num}") | |
116 | + @Select("select Top(1) * from SZ_V_Card where num=#{num}") | |
108 | 117 | CardBean getCards(@Param("num") String num); |
109 | 118 | |
110 | 119 | @Select("select clint_id from SZ_Attendance where school_id = #{schoolId} and (clint_type = 8 or clint_type = 9 or clint_type = 10)") | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/enums/EnumSzBusinessType.java
... | ... | @@ -29,21 +29,22 @@ public interface EnumSzBusinessType { |
29 | 29 | } |
30 | 30 | } |
31 | 31 | |
32 | -// public enum EnumCardType { | |
33 | -// | |
34 | -// STUDENT(1, "student","学生"), | |
35 | -// TEACHER(2, "teacher","老师"); | |
36 | -//// PARENT(3, "parent","家长"); | |
37 | -// | |
38 | -// public final int code; | |
39 | -// public final String enName; | |
40 | -// public final String cnName; | |
41 | -// | |
42 | -// EnumUserType(int code, String enName,String cnName) { | |
43 | -// this.code = code; | |
44 | -// this.enName = enName; | |
45 | -// this.cnName = cnName; | |
46 | -// } | |
47 | -// } | |
32 | + /** | |
33 | + * 学生出入类型 | |
34 | + */ | |
35 | + public enum EnumStudentType { | |
36 | + | |
37 | + GO_OUT(1, "通校"), | |
38 | + LIVING(2, "住校"), | |
39 | + ALL(3, "全部"); | |
40 | + | |
41 | + public final int code; | |
42 | + public final String name; | |
43 | + | |
44 | + EnumStudentType(int code, String name) { | |
45 | + this.code = code; | |
46 | + this.name = name; | |
47 | + } | |
48 | + } | |
48 | 49 | |
49 | 50 | } | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/module/GateModule.java
... | ... | @@ -5,6 +5,7 @@ import com.example.dahua.bean.WeekDay; |
5 | 5 | import com.example.dahua.bean.WeekTime; |
6 | 6 | import com.example.dahua.enums.EnumSendCardErrorType; |
7 | 7 | import com.example.dahua.enums.EnumSendFaceErrorType; |
8 | +import com.example.dahua.enums.EnumSzBusinessType; | |
8 | 9 | import com.example.dahua.lib.NetSDKLib; |
9 | 10 | import com.example.dahua.lib.NetSDKLib.*; |
10 | 11 | import com.example.dahua.lib.ToolKits; |
... | ... | @@ -203,7 +204,7 @@ public class GateModule { |
203 | 204 | public static synchronized int insertCard(String cardNo, String userId, String cardName, String cardPwd, |
204 | 205 | int cardStatus, int cardType, int useTimes, int isFirstEnter, |
205 | 206 | int isValid, String startValidTime, String endValidTime, LLong lLong, |
206 | - String userType,String cardErrNum) { | |
207 | + String userType,String cardErrNum,int channel) { | |
207 | 208 | /** |
208 | 209 | * 门禁卡记录集信息 |
209 | 210 | */ |
... | ... | @@ -230,13 +231,13 @@ public class GateModule { |
230 | 231 | accessCardInfo.sznDoors[0] = 0; |
231 | 232 | accessCardInfo.sznDoors[1] = 1; |
232 | 233 | accessCardInfo.nTimeSectionNum = 2; // 与门数对应 |
233 | -// if (userType.equals("1")){ | |
234 | + if (userType.equals("1")){ | |
234 | 235 | accessCardInfo.sznTimeSectionNo[0] = 255; // 表示第一个门全天有效 |
235 | 236 | accessCardInfo.sznTimeSectionNo[1] = 255; // 表示第二个门全天有效 |
236 | -// }else { | |
237 | -// accessCardInfo.sznTimeSectionNo[0] = 120; // 表示第一个门全天有效 | |
238 | -// accessCardInfo.sznTimeSectionNo[1] = 120; // 表示第二个门全天有效 | |
239 | -// } | |
237 | + }else { | |
238 | + accessCardInfo.sznTimeSectionNo[0] = channel; // 表示第一个门全天有效 | |
239 | + accessCardInfo.sznTimeSectionNo[1] = channel; // 表示第二个门全天有效 | |
240 | + } | |
240 | 241 | |
241 | 242 | // 卡状态 |
242 | 243 | accessCardInfo.emStatus = cardStatus; |
... | ... | @@ -291,14 +292,13 @@ public class GateModule { |
291 | 292 | log.info("添加卡信息失败,错误信息:{} ,错误码:{} ",ret,number); |
292 | 293 | cardErrNum = number; |
293 | 294 | //146用户已存在,21对返回数据的校验出错,1162未知错误 |
294 | - if(number.equals(EnumSendCardErrorType.CHECK_DATA_ERR_21.code)|| number.equals(EnumSendCardErrorType.EXIST_USER_146.code)|| | |
295 | - number.equals(EnumSendCardErrorType.UNKNOWN_1162.code)) { | |
295 | + if(number.equals(EnumSendCardErrorType.CHECK_DATA_ERR_21.code)||number.equals(EnumSendCardErrorType.EXIST_USER_146.code)) { | |
296 | 296 | //用户已存在/返回数据校验出错时,执行删除用户 |
297 | 297 | deleteUser( userId, lLong); |
298 | 298 | //重新下发卡至设备 |
299 | 299 | cardErrNum = ""; |
300 | 300 | return insertCard(cardNo, userId, cardName, cardPwd, cardStatus, cardType, useTimes, isFirstEnter, |
301 | - isValid, startValidTime, endValidTime, lLong, userType,cardErrNum); | |
301 | + isValid, startValidTime, endValidTime, lLong, userType,cardErrNum,channel); | |
302 | 302 | } |
303 | 303 | //新增卡失败,错误码,返回-1 |
304 | 304 | return -1; |
... | ... | @@ -414,10 +414,12 @@ public class GateModule { |
414 | 414 | CFG_ACCESS_TIMESCHEDULE_INFO msg = new CFG_ACCESS_TIMESCHEDULE_INFO(); |
415 | 415 | String strCmd = NetSDKLib.CFG_CMD_ACCESSTIMESCHEDULE; |
416 | 416 | // 通道号 |
417 | - int nChannel = 120; | |
417 | + int nChannel = Integer.parseInt(permissionBean.getChannel()); | |
418 | 418 | // msg.stuTimeWeekDay[0].stuTimeSection[0].dwRecordMask |
419 | - String name = "3"; | |
419 | + //自定义名称 | |
420 | + String name = permissionBean.getCustomName(); | |
420 | 421 | System.arraycopy(name.getBytes(), 0, msg.szName, 0, name.getBytes().length); |
422 | + //时间段使能开关, 1-true; 0-false | |
421 | 423 | msg.bEnable = 1; |
422 | 424 | |
423 | 425 | List<WeekDay> weekDays = permissionBean.getWeekDays(); |
... | ... | @@ -525,10 +527,11 @@ public class GateModule { |
525 | 527 | |
526 | 528 | } |
527 | 529 | |
528 | - public static void getAccessTimeSchedule1(LLong lLong) { | |
530 | + public static void getAccessTimeSchedule1(LLong lLong,String channel) { | |
529 | 531 | CFG_ACCESS_TIMESCHEDULE_INFO msg = new CFG_ACCESS_TIMESCHEDULE_INFO(); |
530 | 532 | String strCmd = NetSDKLib.CFG_CMD_ACCESSTIMESCHEDULE; |
531 | - int nChannel = 120; // 通道号 | |
533 | + // 通道号 | |
534 | + int nChannel = Integer.parseInt(channel); | |
532 | 535 | |
533 | 536 | // 获取 |
534 | 537 | if (ToolKits.GetDevConfig(lLong, nChannel, strCmd, msg)) { |
... | ... | @@ -687,7 +690,7 @@ public class GateModule { |
687 | 690 | public static boolean modifyCard(int recordNo, String cardNo, String userId, String cardName, String cardPwd, |
688 | 691 | int cardStatus, int cardType, int useTimes, int isFirstEnter, |
689 | 692 | int isValid, String startValidTime, String endValidTime, LLong lLong, |
690 | - String userType,String cardErrNum) { | |
693 | + String userType,String cardErrNum,int channel) { | |
691 | 694 | /** |
692 | 695 | * 门禁卡记录集信息 |
693 | 696 | */ |
... | ... | @@ -715,13 +718,14 @@ public class GateModule { |
715 | 718 | accessCardInfo.nDoorNum = 2; |
716 | 719 | accessCardInfo.sznDoors[0] = 0; |
717 | 720 | accessCardInfo.sznDoors[1] = 1; |
718 | - accessCardInfo.nTimeSectionNum = 2; // 与门数对应 | |
719 | - if (userType.equals("1")){ | |
721 | + // 有效的的开门时间段数目 ,与设备门数保持一至 | |
722 | + accessCardInfo.nTimeSectionNum = 2; | |
723 | + if (userType.equals(EnumSzBusinessType.EnumUserType.TEACHER.code)){ | |
720 | 724 | accessCardInfo.sznTimeSectionNo[0] = 255; // 表示第一个门全天有效 |
721 | 725 | accessCardInfo.sznTimeSectionNo[1] = 255; // 表示第二个门全天有效 |
722 | 726 | }else { |
723 | - accessCardInfo.sznTimeSectionNo[0] = 120; // 表示第一个门全天有效 | |
724 | - accessCardInfo.sznTimeSectionNo[1] = 120; // 表示第二个门全天有效 | |
727 | + accessCardInfo.sznTimeSectionNo[0] = channel; // 表示第一个门全天有效 | |
728 | + accessCardInfo.sznTimeSectionNo[1] = channel; // 表示第二个门全天有效 | |
725 | 729 | } |
726 | 730 | |
727 | 731 | // 卡状态 | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/service/PermissFaceService.java
cloud/dahua/src/main/java/com/example/dahua/service/imp/PermissFaceServiceImp.java
... | ... | @@ -41,7 +41,14 @@ public class PermissFaceServiceImp implements PermissFaceService { |
41 | 41 | |
42 | 42 | int schoolId = permissionFaceBean.getSchoolId(); |
43 | 43 | |
44 | + //编辑设置 | |
44 | 45 | PermissionBean permissionBean = permissionFaceBean.getPermissionBean(); |
46 | + if(!StringUtils.isEmpty(permissionFaceBean.getChannel())){ | |
47 | + permissionBean.setChannel(permissionFaceBean.getChannel()); | |
48 | + } | |
49 | + if(!StringUtils.isEmpty(permissionFaceBean.getCustomName())){ | |
50 | + permissionBean.setChannel(permissionFaceBean.getCustomName()); | |
51 | + } | |
45 | 52 | |
46 | 53 | int type = permissionFaceBean.getType(); |
47 | 54 | if (null != permissionBean) |
... | ... | @@ -56,9 +63,19 @@ public class PermissFaceServiceImp implements PermissFaceService { |
56 | 63 | } |
57 | 64 | switch (type) { |
58 | 65 | case 0://新增 |
66 | + /**通道号**/ | |
67 | + String channel = Rand(); | |
68 | + /**通道自定义名称**/ | |
69 | + String customName = Rand(); | |
70 | + permissionBean.setChannel(channel); | |
71 | + permissionBean.setCustomName(customName); | |
72 | + permissionFaceBean.setChannel(channel); | |
73 | + permissionFaceBean.setCustomName(customName); | |
74 | + | |
59 | 75 | permissionFaceDao.addPermissionFace(permissionFaceBean); |
60 | 76 | responseBean.setMessage("添加权限模板成功"); |
61 | 77 | responseBean.setData(null); |
78 | + //下发权限 | |
62 | 79 | sendPermiss2Dev(permissionFaceBean); |
63 | 80 | responseBean.setStatus(1); |
64 | 81 | break; |
... | ... | @@ -94,6 +111,16 @@ public class PermissFaceServiceImp implements PermissFaceService { |
94 | 111 | } |
95 | 112 | |
96 | 113 | /** |
114 | + * 取100以内随机数 | |
115 | + * @return | |
116 | + */ | |
117 | + public static String Rand() { | |
118 | + int rand = (int) (Math.random() * 100000) % 100; | |
119 | + return String.valueOf(rand); | |
120 | + } | |
121 | + | |
122 | + | |
123 | + /** | |
97 | 124 | * 下发权限到设备 |
98 | 125 | * |
99 | 126 | * @param permissionFaceBean |
... | ... | @@ -140,6 +167,12 @@ public class PermissFaceServiceImp implements PermissFaceService { |
140 | 167 | } |
141 | 168 | |
142 | 169 | @Override |
170 | + public List<PermissionFaceBean> getPermissionList(int schoolId) { | |
171 | + List<PermissionFaceBean> permissionFaceBeans = permissionFaceDao.getPermissFaces(schoolId); | |
172 | + return permissionFaceBeans; | |
173 | + } | |
174 | + | |
175 | + @Override | |
143 | 176 | public ResponseBeanList<PermissionFaceBean> getPermissionDetail(int permissionId) { |
144 | 177 | ResponseBeanList responseBeanList = new ResponseBeanList(); |
145 | 178 | try { | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/service/imp/UserServiceImp.java
... | ... | @@ -129,7 +129,7 @@ public class UserServiceImp implements UserService { |
129 | 129 | NetSDKLib.LLong loginHandleLong = MyTask.lLongMap.get(deviceId); |
130 | 130 | //下发权限 |
131 | 131 | GateModule.setAccessTimeSchedule(loginHandleLong, permissionBean); |
132 | - GateModule.getAccessTimeSchedule1(loginHandleLong); | |
132 | + GateModule.getAccessTimeSchedule1(loginHandleLong,permissionBean.getChannel()); | |
133 | 133 | } |
134 | 134 | |
135 | 135 | ... | ... |
cloud/dahua/src/main/resources/mapper/PermissionFaceMapper.xml
... | ... | @@ -23,7 +23,7 @@ |
23 | 23 | |
24 | 24 | <insert id="addPermissionFace" parameterType="com.example.dahua.bean.PermissionFaceBean"> |
25 | 25 | |
26 | - insert into PermissionFace values (#{permissionJson},#{schoolId},#{perrmissName},#{createTime},#{updateTime}) | |
26 | + insert into PermissionFace values (#{permissionJson},#{schoolId},#{perrmissName},#{createTime},#{updateTime},#{channel},#{customName}) | |
27 | 27 | |
28 | 28 | </insert> |
29 | 29 | ... | ... |
cloud/dahua/src/test/java/com/example/dahua/mapper/SearchMapperTest.java
... | ... | @@ -5,6 +5,7 @@ import com.example.dahua.Tester; |
5 | 5 | import com.example.dahua.bean.CheckIn; |
6 | 6 | import com.example.dahua.bean.ShortMsg; |
7 | 7 | import com.example.dahua.dao.UserDao; |
8 | +import com.example.dahua.service.UserService; | |
8 | 9 | import com.example.dahua.utils.DateUtils; |
9 | 10 | import com.example.dahua.xiananDao.SearchMapper; |
10 | 11 | import org.junit.Test; |
... | ... | @@ -27,6 +28,9 @@ public class SearchMapperTest extends Tester { |
27 | 28 | @Autowired |
28 | 29 | private UserDao userDao; |
29 | 30 | |
31 | + @Autowired | |
32 | + private UserService userService; | |
33 | + | |
30 | 34 | @Test |
31 | 35 | public void test(){ |
32 | 36 | //有效刷卡调考勤存储过程 |
... | ... | @@ -61,4 +65,6 @@ public class SearchMapperTest extends Tester { |
61 | 65 | // System.out.println(JSON.toJSON(userDao.checkLeave("234232"))); |
62 | 66 | |
63 | 67 | } |
68 | + | |
69 | +// boolean uploadImgAndUserInfo(String file, String schoolId, String studentCode, String clint_type, int userType, String devid); | |
64 | 70 | } | ... | ... |