Commit a2a3d0700446fdb3c7066405f091185f0d906247

Authored by 陶汉栋
1 parent 3690b06b
Exists in master

大华和海康增加权限下发接口

cloud/dahua/src/main/java/com/example/dahua/bean/PermissionBean.java 0 → 100644
@@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
  1 +package com.example.dahua.bean;
  2 +
  3 +import java.io.Serializable;
  4 +import java.util.List;
  5 +
  6 +public class PermissionBean implements Serializable {
  7 +
  8 + private List<String> deviceIds;
  9 +
  10 + private List<WeekDay> weekDays;
  11 +
  12 + public List<String> getDeviceIds() {
  13 + return deviceIds;
  14 + }
  15 +
  16 + public void setDeviceIds(List<String> deviceIds) {
  17 + this.deviceIds = deviceIds;
  18 + }
  19 +
  20 + public List<WeekDay> getWeekDays() {
  21 + return weekDays;
  22 + }
  23 +
  24 + public void setWeekDays(List<WeekDay> weekDays) {
  25 + this.weekDays = weekDays;
  26 + }
  27 +}
cloud/dahua/src/main/java/com/example/dahua/bean/WeekDay.java 0 → 100644
@@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
  1 +package com.example.dahua.bean;
  2 +
  3 +import java.io.Serializable;
  4 +import java.util.List;
  5 +
  6 +public class WeekDay implements Serializable {
  7 +
  8 + private int weekDay;
  9 +
  10 + private List<WeekTime> weekTimes;
  11 +
  12 + public int getWeekDay() {
  13 + return weekDay;
  14 + }
  15 +
  16 + public void setWeekDay(int weekDay) {
  17 + this.weekDay = weekDay;
  18 + }
  19 +
  20 + public List<WeekTime> getWeekTimes() {
  21 + return weekTimes;
  22 + }
  23 +
  24 + public void setWeekTimes(List<WeekTime> weekTimes) {
  25 + this.weekTimes = weekTimes;
  26 + }
  27 +}
cloud/dahua/src/main/java/com/example/dahua/bean/WeekTime.java 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +package com.example.dahua.bean;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +public class WeekTime implements Serializable {
  6 +
  7 + private String startTime;
  8 +
  9 + private String endTime;
  10 +
  11 + public String getStartTime() {
  12 + return startTime;
  13 + }
  14 +
  15 + public void setStartTime(String startTime) {
  16 + this.startTime = startTime;
  17 + }
  18 +
  19 + public String getEndTime() {
  20 + return endTime;
  21 + }
  22 +
  23 + public void setEndTime(String endTime) {
  24 + this.endTime = endTime;
  25 + }
  26 +}
cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java
@@ -3,6 +3,7 @@ package com.example.dahua.control; @@ -3,6 +3,7 @@ package com.example.dahua.control;
3 import com.example.dahua.MyTask; 3 import com.example.dahua.MyTask;
4 import com.example.dahua.async.ImageUtils; 4 import com.example.dahua.async.ImageUtils;
5 import com.example.dahua.async.SendUserInfoTask; 5 import com.example.dahua.async.SendUserInfoTask;
  6 +import com.example.dahua.bean.PermissionBean;
6 import com.example.dahua.lib.CompressPic; 7 import com.example.dahua.lib.CompressPic;
7 import com.example.dahua.service.UserService; 8 import com.example.dahua.service.UserService;
8 import com.example.dahua.utils.*; 9 import com.example.dahua.utils.*;
@@ -56,6 +57,13 @@ public class UserControl { @@ -56,6 +57,13 @@ public class UserControl {
56 return HttpUtils.uploadImgs(new File(file), schoolId, studentCode, clint_type, file.contains("Teacher") ? 1 : 2); 57 return HttpUtils.uploadImgs(new File(file), schoolId, studentCode, clint_type, file.contains("Teacher") ? 1 : 2);
57 } 58 }
58 59
  60 + @RequestMapping(value = "sendPermission", method = RequestMethod.POST)
  61 + @ApiOperation(value = "设置权限")
  62 + public boolean sendPermission(@RequestBody PermissionBean permissionBean) {
  63 + userService.sendPermission(permissionBean);
  64 + return true;
  65 + }
  66 +
59 67
60 @RequestMapping(value = "imgsSend", method = RequestMethod.GET) 68 @RequestMapping(value = "imgsSend", method = RequestMethod.GET)
61 @ApiOperation(value = "照片下放") 69 @ApiOperation(value = "照片下放")
cloud/dahua/src/main/java/com/example/dahua/module/GateModule.java
1 package com.example.dahua.module; 1 package com.example.dahua.module;
2 2
3 import java.io.UnsupportedEncodingException; 3 import java.io.UnsupportedEncodingException;
  4 +import java.util.List;
4 5
  6 +import com.example.dahua.bean.PermissionBean;
  7 +import com.example.dahua.bean.WeekDay;
  8 +import com.example.dahua.bean.WeekTime;
5 import com.example.dahua.lib.NetSDKLib; 9 import com.example.dahua.lib.NetSDKLib;
6 import com.example.dahua.lib.NetSDKLib.*; 10 import com.example.dahua.lib.NetSDKLib.*;
7 import com.example.dahua.lib.ToolKits; 11 import com.example.dahua.lib.ToolKits;
@@ -247,6 +251,67 @@ public class GateModule { @@ -247,6 +251,67 @@ public class GateModule {
247 } 251 }
248 252
249 /** 253 /**
  254 + * 门禁刷卡时间段设置
  255 + */
  256 + public static void setAccessTimeSchedule(LLong lLong, PermissionBean permissionBean) {
  257 +
  258 + CFG_ACCESS_TIMESCHEDULE_INFO msg = new CFG_ACCESS_TIMESCHEDULE_INFO();
  259 + String strCmd = NetSDKLib.CFG_CMD_ACCESSTIMESCHEDULE;
  260 + int nChannel = 120; // 通道号
  261 +
  262 +// msg.stuTimeWeekDay[0].stuTimeSection[0].dwRecordMask
  263 + String name = "权限模板";
  264 + System.arraycopy(name.getBytes(), 0, msg.szName, 0, name.getBytes().length);
  265 +
  266 + List<WeekDay> weekDays = permissionBean.getWeekDays();
  267 +
  268 + for (WeekDay weekDay :
  269 + weekDays) {
  270 + List<WeekTime> weekTimes = weekDay.getWeekTimes();
  271 + for (int i = 0; i < weekTimes.size(); i++) {
  272 + WeekTime weekTime = weekTimes.get(i);
  273 + String startTime = weekTime.getStartTime();
  274 + String endTime = weekTime.getEndTime();
  275 + msg.stuTimeWeekDay[weekDay.getWeekDay()].stuTimeSection[i].nBeginHour = Integer.parseInt(startTime.split(":")[0]);
  276 + msg.stuTimeWeekDay[weekDay.getWeekDay()].stuTimeSection[i].nBeginMin = Integer.parseInt(startTime.split(":")[1]);
  277 + msg.stuTimeWeekDay[weekDay.getWeekDay()].stuTimeSection[i].nBeginSec = 0;
  278 +
  279 + msg.stuTimeWeekDay[weekDay.getWeekDay()].stuTimeSection[i].nEndHour = Integer.parseInt(endTime.split(":")[0]);
  280 + msg.stuTimeWeekDay[weekDay.getWeekDay()].stuTimeSection[i].nEndMin = Integer.parseInt(endTime.split(":")[1]);
  281 + msg.stuTimeWeekDay[weekDay.getWeekDay()].stuTimeSection[i].nEndSec = 0;
  282 +
  283 + }
  284 + }
  285 +
  286 +// 获取
  287 +// if (ToolKits.GetDevConfig(lLong, nChannel, strCmd, msg)) {
  288 + System.out.println("Enable:" + msg.bEnable);
  289 + try {
  290 + System.out.println("自定义名称:" + new String(msg.szName, "UTF-8").trim());
  291 + } catch (UnsupportedEncodingException e) {
  292 + e.printStackTrace();
  293 + }
  294 + for (int i = 0; i < 7; i++) {
  295 + for (int j = 0; j < 4; j++) {
  296 + System.out.println("dwRecordMask:" + msg.stuTimeWeekDay[i].stuTimeSection[j].dwRecordMask);
  297 + System.out.println(msg.stuTimeWeekDay[i].stuTimeSection[j].startTime() + "-" + msg.stuTimeWeekDay[i].stuTimeSection[j].endTime() + "\n");
  298 + }
  299 + }
  300 + msg.write();
  301 + boolean set = ToolKits.SetDevConfig(lLong, nChannel, strCmd, msg);
  302 + msg.read();
  303 + // 设置
  304 + if (set) {
  305 + System.out.println("Set AccessTimeSchedule Succeed!");
  306 + } else {
  307 + System.err.println("Set AccessTimeSchedule Failed!" + ToolKits.getErrorCodePrint());
  308 + }
  309 +// } else {
  310 +// System.err.println("Get AccessTimeSchedule Failed!" + ToolKits.getErrorCodePrint());
  311 +// }
  312 + }
  313 +
  314 + /**
250 * 修改卡信息 315 * 修改卡信息
251 * 316 *
252 * @param recordNo 记录集编号 317 * @param recordNo 记录集编号
@@ -908,4 +973,6 @@ public class GateModule { @@ -908,4 +973,6 @@ public class GateModule {
908 m_lFindHandle.setValue(0); 973 m_lFindHandle.setValue(0);
909 } 974 }
910 } 975 }
  976 +
  977 +
911 } 978 }
cloud/dahua/src/main/java/com/example/dahua/service/UserService.java
1 package com.example.dahua.service; 1 package com.example.dahua.service;
2 2
3 import com.example.dahua.bean.AttendanceBean; 3 import com.example.dahua.bean.AttendanceBean;
  4 +import com.example.dahua.bean.PermissionBean;
4 import com.example.dahua.bean.UserInfoBean; 5 import com.example.dahua.bean.UserInfoBean;
5 import org.springframework.scheduling.annotation.Async; 6 import org.springframework.scheduling.annotation.Async;
6 import org.springframework.web.multipart.MultipartFile; 7 import org.springframework.web.multipart.MultipartFile;
@@ -49,5 +50,11 @@ public interface UserService { @@ -49,5 +50,11 @@ public interface UserService {
49 */ 50 */
50 void sendUserInfos(String schoolId, String clint_type, int type); 51 void sendUserInfos(String schoolId, String clint_type, int type);
51 52
  53 + /**
  54 + * 下发权限
  55 + * @param permissionBean
  56 + * @return
  57 + */
  58 + boolean sendPermission(PermissionBean permissionBean);
52 59
53 } 60 }
cloud/dahua/src/main/java/com/example/dahua/service/UserServiceImp.java
1 package com.example.dahua.service; 1 package com.example.dahua.service;
2 2
  3 +import com.example.dahua.MyTask;
3 import com.example.dahua.async.SendUserInfoTask; 4 import com.example.dahua.async.SendUserInfoTask;
4 -import com.example.dahua.bean.AttendanceBean;  
5 -import com.example.dahua.bean.TeacherBean;  
6 -import com.example.dahua.bean.UserInfoBean; 5 +import com.example.dahua.bean.*;
7 import com.example.dahua.dao.UserDao; 6 import com.example.dahua.dao.UserDao;
  7 +import com.example.dahua.lib.NetSDKLib;
  8 +import com.example.dahua.module.GateModule;
8 import org.apache.commons.lang.StringUtils; 9 import org.apache.commons.lang.StringUtils;
9 import org.springframework.beans.factory.annotation.Autowired; 10 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.stereotype.Repository; 11 import org.springframework.stereotype.Repository;
@@ -99,4 +100,18 @@ public class UserServiceImp implements UserService { @@ -99,4 +100,18 @@ public class UserServiceImp implements UserService {
99 myTask.doTaskSendUserInfos(schoolId, clint_type, type, -1); 100 myTask.doTaskSendUserInfos(schoolId, clint_type, type, -1);
100 } 101 }
101 102
  103 + @Override
  104 + public boolean sendPermission(PermissionBean permissionBean) {
  105 +
  106 + List<String> deviceIds = permissionBean.getDeviceIds();
  107 + for (String deviceId :
  108 + deviceIds) {
  109 + NetSDKLib.LLong loginHandleLong = MyTask.lLongMap.get(deviceId);
  110 + GateModule.setAccessTimeSchedule(loginHandleLong,permissionBean);
  111 + }
  112 +
  113 +
  114 + return false;
  115 + }
  116 +
102 } 117 }
cloud/haikangface/src/main/java/com/sincere/haikangface/CMSServer.java
@@ -674,6 +674,8 @@ public class CMSServer implements ApplicationRunner { @@ -674,6 +674,8 @@ public class CMSServer implements ApplicationRunner {
674 * @param clint_id 674 * @param clint_id
675 */ 675 */
676 public void SetCardWeekPlan(String clint_id, String card, String userType, String strConfigXMLCard, String content) { 676 public void SetCardWeekPlan(String clint_id, String card, String userType, String strConfigXMLCard, String content) {
  677 + try {
  678 +
677 HCEHomeCMS.NET_EHOME_XML_CFG struXMLCard = new HCEHomeCMS.NET_EHOME_XML_CFG(); 679 HCEHomeCMS.NET_EHOME_XML_CFG struXMLCard = new HCEHomeCMS.NET_EHOME_XML_CFG();
678 680
679 HCEHomeCMS.NET_DVR_STRING_POINTER stringRequestCard = new HCEHomeCMS.NET_DVR_STRING_POINTER(); 681 HCEHomeCMS.NET_DVR_STRING_POINTER stringRequestCard = new HCEHomeCMS.NET_DVR_STRING_POINTER();
@@ -717,6 +719,9 @@ public class CMSServer implements ApplicationRunner { @@ -717,6 +719,9 @@ public class CMSServer implements ApplicationRunner {
717 } else { 719 } else {
718 System.out.println(content + "成功"); 720 System.out.println(content + "成功");
719 } 721 }
  722 + }catch (Exception e){
  723 + e.printStackTrace();
  724 + }
720 } 725 }
721 726
722 727
cloud/haikangface/src/main/java/com/sincere/haikangface/async/SendUserAsync.java
@@ -2,10 +2,15 @@ package com.sincere.haikangface.async; @@ -2,10 +2,15 @@ package com.sincere.haikangface.async;
2 2
3 3
4 import com.sincere.haikangface.CMSServer; 4 import com.sincere.haikangface.CMSServer;
  5 +import com.sincere.haikangface.bean.face.PermissionBean;
  6 +import com.sincere.haikangface.bean.face.WeekDay;
  7 +import com.sincere.haikangface.bean.face.WeekTime;
5 import com.sincere.haikangface.dao.DeviceDao; 8 import com.sincere.haikangface.dao.DeviceDao;
6 import com.sincere.haikangface.dao.UserDao; 9 import com.sincere.haikangface.dao.UserDao;
7 import com.sincere.haikangface.utils.*; 10 import com.sincere.haikangface.utils.*;
8 import com.sincere.haikangface.xiananDao.SendRecordDao; 11 import com.sincere.haikangface.xiananDao.SendRecordDao;
  12 +import lombok.extern.slf4j.Slf4j;
  13 +import org.apache.poi.ss.formula.functions.WeekdayFunc;
9 import org.json.JSONArray; 14 import org.json.JSONArray;
10 import org.json.JSONObject; 15 import org.json.JSONObject;
11 import org.springframework.beans.factory.annotation.Autowired; 16 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +25,7 @@ import java.net.URL; @@ -20,6 +25,7 @@ import java.net.URL;
20 import java.util.*; 25 import java.util.*;
21 26
22 @Component 27 @Component
  28 +@Slf4j
23 public class SendUserAsync { 29 public class SendUserAsync {
24 30
25 31
@@ -51,7 +57,7 @@ public class SendUserAsync { @@ -51,7 +57,7 @@ public class SendUserAsync {
51 cmsServer.SetCardWeekPlan(deviceId, card, userType, HKXmlUtils.getInstance().SetCardTemplate(), "设置卡权限计划模板"); 57 cmsServer.SetCardWeekPlan(deviceId, card, userType, HKXmlUtils.getInstance().SetCardTemplate(), "设置卡权限计划模板");
52 cmsServer.SetCardWeekPlan(deviceId, card, userType, HKXmlUtils.getInstance().SetCardWeekPlan(), "卡权限周计划"); 58 cmsServer.SetCardWeekPlan(deviceId, card, userType, HKXmlUtils.getInstance().SetCardWeekPlan(), "卡权限周计划");
53 for (int i = 0; i < 7; i++) { 59 for (int i = 0; i < 7; i++) {
54 - cmsServer.SetCardWeekPlan(deviceId, card, userType, HKXmlUtils.getInstance().SetCardWeekPlanTime("00:00:00", "23:00:00", "" + i), "设置卡权限周计划时间"); 60 + cmsServer.SetCardWeekPlan(deviceId, card, userType, HKXmlUtils.getInstance().SetCardWeekPlanTime(HKXmlUtils.getInstance().SetCardWeekPlanTimes("00:00:00", "23:00:00"), "" + i), "设置卡权限周计划时间");
55 } 61 }
56 cmsServer.SetCardWeekPlan(deviceId, card, userType, HKXmlUtils.getInstance().SetCardRightCfg(card), "设置卡权限"); 62 cmsServer.SetCardWeekPlan(deviceId, card, userType, HKXmlUtils.getInstance().SetCardRightCfg(card), "设置卡权限");
57 } 63 }
@@ -63,6 +69,56 @@ public class SendUserAsync { @@ -63,6 +69,56 @@ public class SendUserAsync {
63 69
64 } 70 }
65 71
  72 +
  73 + /**
  74 + * 下发权限
  75 + * @param permissionBean
  76 + */
  77 + public boolean sendPermiss(PermissionBean permissionBean) {
  78 +
  79 + String cardNum = permissionBean.getCardNum();
  80 + List<String> deviceIds = permissionBean.getDeviceIds();
  81 + String userType = permissionBean.getUserType();
  82 + List<WeekDay> weekDays = permissionBean.getWeekDays();
  83 +
  84 + for (String deviceId :
  85 + deviceIds) {
  86 + if (!cmsServer.getIsDeviceOnline(deviceId)){//设备在线
  87 + cmsServer.SetCardWeekPlan(deviceId, cardNum, userType, HKXmlUtils.getInstance().SetCardTemplate(), "设置卡权限计划模板");
  88 + cmsServer.SetCardWeekPlan(deviceId, cardNum, userType, HKXmlUtils.getInstance().SetCardWeekPlan(), "卡权限周计划");
  89 +
  90 + for (WeekDay weekDay:
  91 + weekDays) {
  92 +
  93 + List<WeekTime> weekTimes = weekDay.getWeekTimes();
  94 + int weekdayIndex = weekDay.getWeekDay();
  95 +
  96 + StringBuffer stringBuffer = new StringBuffer();//添加时间集
  97 +
  98 + for (WeekTime weetTime :
  99 + weekTimes) {
  100 +
  101 + String weekPlanTimes = HKXmlUtils.getInstance().SetCardWeekPlanTimes(weetTime.getStartTime(),weetTime.getEndTime());
  102 + log.error("weekPlanTimes:{}",weekPlanTimes);
  103 + stringBuffer.append(weekPlanTimes);
  104 +
  105 + }
  106 + String weekPlanTime = HKXmlUtils.getInstance().SetCardWeekPlanTime(stringBuffer.toString(), "" + weekdayIndex);
  107 + log.error("weekPlanTime:{}",weekPlanTime);
  108 + cmsServer.SetCardWeekPlan(deviceId, cardNum, userType, weekPlanTime, "设置卡权限周计划时间");
  109 + cmsServer.SetCardWeekPlan(deviceId, cardNum, userType, HKXmlUtils.getInstance().SetCardRightCfg(cardNum), "设置卡权限");
  110 + }
  111 + }else {//设备不在线
  112 + log.error("deviceId:{}",deviceId+"不在线");
  113 + }
  114 +
  115 + }
  116 +
  117 + return true;
  118 + }
  119 +
  120 +
  121 +
66 /** 122 /**
67 * 调用传图片接口 123 * 调用传图片接口
68 * 124 *
cloud/haikangface/src/main/java/com/sincere/haikangface/bean/face/FaceBean.java 0 → 100644
@@ -0,0 +1,118 @@ @@ -0,0 +1,118 @@
  1 +package com.sincere.haikangface.bean.face;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonInclude;
  4 +
  5 +import java.io.Serializable;
  6 +
  7 +/**
  8 + * 下发人脸参数对象
  9 + */
  10 +@JsonInclude(JsonInclude.Include.NON_EMPTY)
  11 +public class FaceBean implements Serializable {
  12 +
  13 +
  14 + private String srcFilePath;//源文件路径
  15 +
  16 + private String targetFilePath;//压缩后的目标文件路径
  17 +
  18 + private String cardNum;//卡号
  19 +
  20 + private String cardStartTime;//卡有效开始时间
  21 +
  22 + private String cardEndTime;//卡失效时间
  23 +
  24 + private String validTimeEnabled;//卡是否生效 1:生效 0:失效
  25 +
  26 + private String stuName;//学生名字
  27 +
  28 + private String deviceId;//设备id
  29 +
  30 + private String userType;//身份类型
  31 +
  32 + public String getSrcFilePath() {
  33 + return srcFilePath;
  34 + }
  35 +
  36 + public void setSrcFilePath(String srcFilePath) {
  37 + this.srcFilePath = srcFilePath;
  38 + }
  39 +
  40 + public String getTargetFilePath() {
  41 + return targetFilePath;
  42 + }
  43 +
  44 + public void setTargetFilePath(String targetFilePath) {
  45 + this.targetFilePath = targetFilePath;
  46 + }
  47 +
  48 + public String getCardNum() {
  49 + return cardNum;
  50 + }
  51 +
  52 + public void setCardNum(String cardNum) {
  53 + this.cardNum = cardNum;
  54 + }
  55 +
  56 + public String getCardStartTime() {
  57 + return cardStartTime;
  58 + }
  59 +
  60 + public void setCardStartTime(String cardStartTime) {
  61 + this.cardStartTime = cardStartTime;
  62 + }
  63 +
  64 + public String getCardEndTime() {
  65 + return cardEndTime;
  66 + }
  67 +
  68 + public void setCardEndTime(String cardEndTime) {
  69 + this.cardEndTime = cardEndTime;
  70 + }
  71 +
  72 + public String getValidTimeEnabled() {
  73 + return validTimeEnabled;
  74 + }
  75 +
  76 + public void setValidTimeEnabled(String validTimeEnabled) {
  77 + this.validTimeEnabled = validTimeEnabled;
  78 + }
  79 +
  80 + public String getStuName() {
  81 + return stuName;
  82 + }
  83 +
  84 + public void setStuName(String stuName) {
  85 + this.stuName = stuName;
  86 + }
  87 +
  88 + public String getDeviceId() {
  89 + return deviceId;
  90 + }
  91 +
  92 + public void setDeviceId(String deviceId) {
  93 + this.deviceId = deviceId;
  94 + }
  95 +
  96 + public String getUserType() {
  97 + return userType;
  98 + }
  99 +
  100 + public void setUserType(String userType) {
  101 + this.userType = userType;
  102 + }
  103 +
  104 + @Override
  105 + public String toString() {
  106 + return "FaceBean{" +
  107 + "srcFilePath='" + srcFilePath + '\'' +
  108 + ", targetFilePath='" + targetFilePath + '\'' +
  109 + ", cardNum='" + cardNum + '\'' +
  110 + ", cardStartTime='" + cardStartTime + '\'' +
  111 + ", cardEndTime='" + cardEndTime + '\'' +
  112 + ", validTimeEnabled='" + validTimeEnabled + '\'' +
  113 + ", stuName='" + stuName + '\'' +
  114 + ", deviceId='" + deviceId + '\'' +
  115 + ", userType='" + userType + '\'' +
  116 + '}';
  117 + }
  118 +}
cloud/haikangface/src/main/java/com/sincere/haikangface/bean/face/PermissionBean.java 0 → 100644
@@ -0,0 +1,47 @@ @@ -0,0 +1,47 @@
  1 +package com.sincere.haikangface.bean.face;
  2 +
  3 +import java.io.Serializable;
  4 +import java.util.List;
  5 +
  6 +public class PermissionBean implements Serializable {
  7 +
  8 + private List<String> deviceIds;
  9 +
  10 + private String cardNum;
  11 +
  12 + private String userType;//学生类型
  13 +
  14 + private List<WeekDay> weekDays;
  15 +
  16 + public List<String> getDeviceIds() {
  17 + return deviceIds;
  18 + }
  19 +
  20 + public void setDeviceIds(List<String> deviceIds) {
  21 + this.deviceIds = deviceIds;
  22 + }
  23 +
  24 + public String getCardNum() {
  25 + return cardNum;
  26 + }
  27 +
  28 + public void setCardNum(String cardNum) {
  29 + this.cardNum = cardNum;
  30 + }
  31 +
  32 + public String getUserType() {
  33 + return userType;
  34 + }
  35 +
  36 + public void setUserType(String userType) {
  37 + this.userType = userType;
  38 + }
  39 +
  40 + public List<WeekDay> getWeekDays() {
  41 + return weekDays;
  42 + }
  43 +
  44 + public void setWeekDays(List<WeekDay> weekDays) {
  45 + this.weekDays = weekDays;
  46 + }
  47 +}
cloud/haikangface/src/main/java/com/sincere/haikangface/bean/face/WeekDay.java 0 → 100644
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 +package com.sincere.haikangface.bean.face;
  2 +
  3 +import java.io.Serializable;
  4 +import java.util.List;
  5 +
  6 +public class WeekDay implements Serializable {
  7 +
  8 +
  9 + private int weekDay;
  10 +
  11 + private List<WeekTime> weekTimes;
  12 +
  13 + public int getWeekDay() {
  14 + return weekDay;
  15 + }
  16 +
  17 + public void setWeekDay(int weekDay) {
  18 + this.weekDay = weekDay;
  19 + }
  20 +
  21 + public List<WeekTime> getWeekTimes() {
  22 + return weekTimes;
  23 + }
  24 +
  25 + public void setWeekTimes(List<WeekTime> weekTimes) {
  26 + this.weekTimes = weekTimes;
  27 + }
  28 +}
cloud/haikangface/src/main/java/com/sincere/haikangface/bean/face/WeekTime.java 0 → 100644
@@ -0,0 +1,27 @@ @@ -0,0 +1,27 @@
  1 +package com.sincere.haikangface.bean.face;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +public class WeekTime implements Serializable {
  6 +
  7 + private String startTime;
  8 +
  9 + private String endTime;
  10 +
  11 +
  12 + public String getStartTime() {
  13 + return startTime;
  14 + }
  15 +
  16 + public void setStartTime(String startTime) {
  17 + this.startTime = startTime;
  18 + }
  19 +
  20 + public String getEndTime() {
  21 + return endTime;
  22 + }
  23 +
  24 + public void setEndTime(String endTime) {
  25 + this.endTime = endTime;
  26 + }
  27 +}
cloud/haikangface/src/main/java/com/sincere/haikangface/control/UserControl.java
@@ -8,6 +8,7 @@ import com.sincere.haikangface.CMSServer; @@ -8,6 +8,7 @@ import com.sincere.haikangface.CMSServer;
8 import com.sincere.haikangface.async.SendUserAsync; 8 import com.sincere.haikangface.async.SendUserAsync;
9 import com.sincere.haikangface.bean.StudentBean; 9 import com.sincere.haikangface.bean.StudentBean;
10 import com.sincere.haikangface.bean.StudentInfo; 10 import com.sincere.haikangface.bean.StudentInfo;
  11 +import com.sincere.haikangface.bean.face.PermissionBean;
11 import com.sincere.haikangface.dao.UserDao; 12 import com.sincere.haikangface.dao.UserDao;
12 import com.sincere.haikangface.fegin.HaikangfaceFegin; 13 import com.sincere.haikangface.fegin.HaikangfaceFegin;
13 import com.sincere.haikangface.utils.*; 14 import com.sincere.haikangface.utils.*;
@@ -53,6 +54,18 @@ public class UserControl { @@ -53,6 +54,18 @@ public class UserControl {
53 54
54 SendRecoderUtils sendRecoderUtils; 55 SendRecoderUtils sendRecoderUtils;
55 56
  57 +
  58 + @RequestMapping(value = "sendPermiss", method = RequestMethod.POST)
  59 + @ApiOperation("下发权限给设备")
  60 + public boolean sendPermiss(@RequestBody PermissionBean permissionBean) {
  61 +
  62 + if (!StringUtils.isEmpty(permissionBean)) {
  63 + return sendUserAsync.sendPermiss(permissionBean);
  64 + }
  65 + return false;
  66 + }
  67 +
  68 +
56 @RequestMapping(value = "sendStuCardAndImg", method = RequestMethod.GET) 69 @RequestMapping(value = "sendStuCardAndImg", method = RequestMethod.GET)
57 @ApiOperation("下发人脸给设备") 70 @ApiOperation("下发人脸给设备")
58 public boolean sendCardAndImg(@RequestParam("filePath") String filePath, @RequestParam("card") String card 71 public boolean sendCardAndImg(@RequestParam("filePath") String filePath, @RequestParam("card") String card
cloud/haikangface/src/main/java/com/sincere/haikangface/utils/HKXmlUtils.java
@@ -114,7 +114,7 @@ public class HKXmlUtils { @@ -114,7 +114,7 @@ public class HKXmlUtils {
114 /** 114 /**
115 * 设置卡权限周计划时间 115 * 设置卡权限周计划时间
116 */ 116 */
117 - public String SetCardWeekPlanTime(String startTime, String endTime, String weekDay) { 117 + public String SetCardWeekPlanTime(String weekPlanTime, String weekDay) {
118 return "<Params>\n" + 118 return "<Params>\n" +
119 "<ConfigCmd>SetCardWeekPlanTime</ConfigCmd>\n" + 119 "<ConfigCmd>SetCardWeekPlanTime</ConfigCmd>\n" +
120 "<ConfigParam1>1</ConfigParam1>\n" + 120 "<ConfigParam1>1</ConfigParam1>\n" +
@@ -122,11 +122,36 @@ public class HKXmlUtils { @@ -122,11 +122,36 @@ public class HKXmlUtils {
122 "<ConfigXML>\n" + 122 "<ConfigXML>\n" +
123 "<WeekPlanTimeList>\n" + 123 "<WeekPlanTimeList>\n" +
124 "<WeekPlanTime>\n" + 124 "<WeekPlanTime>\n" +
125 - "<startTime>" + startTime + "</startTime>\n" +  
126 - "<endTime>" + endTime + "</endTime>\n" + 125 + weekPlanTime + "\n" +
127 "</WeekPlanTime>\n" + 126 "</WeekPlanTime>\n" +
128 "</WeekPlanTimeList>\n" + 127 "</WeekPlanTimeList>\n" +
129 "</ConfigXML>\n" + 128 "</ConfigXML>\n" +
130 "</Params>"; 129 "</Params>";
  130 +// return "<Params>\n" +
  131 +// "<ConfigCmd>SetCardWeekPlanTime</ConfigCmd>\n" +
  132 +// "<ConfigParam1>1</ConfigParam1>\n" +
  133 +// "<ConfigParam2>" + weekDay + "</ConfigParam2>\n" +
  134 +// "<ConfigXML>\n" +
  135 +// "<WeekPlanTimeList>\n" +
  136 +// "<WeekPlanTime>\n" +
  137 +// "<startTime>" + startTime + "</startTime>\n" +
  138 +// "<endTime>" + endTime + "</endTime>\n" +
  139 +// "</WeekPlanTime>\n" +
  140 +// "</WeekPlanTimeList>\n" +
  141 +// "</ConfigXML>\n" +
  142 +// "</Params>";
  143 + }
  144 +
  145 +
  146 + /**
  147 + * 设置多个周计划时间段
  148 + *
  149 + * @param startTime
  150 + * @param endTime
  151 + * @return
  152 + */
  153 + public String SetCardWeekPlanTimes(String startTime, String endTime) {
  154 + return "<startTime>" + startTime + "</startTime>\n" +
  155 + "<endTime>" + endTime + "</endTime>\n";
131 } 156 }
132 } 157 }