From 84e52044ac349d95b21f298d6df8b591e93403ab Mon Sep 17 00:00:00 2001 From: 1099815072@qq.com <1099815072@qq.com> Date: Fri, 13 Nov 2020 09:32:32 +0800 Subject: [PATCH] 下发权限修改 --- cloud/dahua/src/main/java/com/example/dahua/async/SendUserInfoTask.java | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++----------- cloud/dahua/src/main/java/com/example/dahua/bean/PermissionBean.java | 22 ++++++++++++++++++++++ cloud/dahua/src/main/java/com/example/dahua/bean/PermissionFaceBean.java | 21 +++++++++++++++++++++ cloud/dahua/src/main/java/com/example/dahua/dao/UserDao.java | 11 ++++++++++- cloud/dahua/src/main/java/com/example/dahua/enums/EnumSzBusinessType.java | 33 +++++++++++++++++---------------- cloud/dahua/src/main/java/com/example/dahua/module/GateModule.java | 40 ++++++++++++++++++++++------------------ cloud/dahua/src/main/java/com/example/dahua/service/PermissFaceService.java | 2 ++ cloud/dahua/src/main/java/com/example/dahua/service/imp/PermissFaceServiceImp.java | 33 +++++++++++++++++++++++++++++++++ cloud/dahua/src/main/java/com/example/dahua/service/imp/UserServiceImp.java | 2 +- cloud/dahua/src/main/resources/mapper/PermissionFaceMapper.xml | 2 +- cloud/dahua/src/test/java/com/example/dahua/mapper/SearchMapperTest.java | 6 ++++++ 11 files changed, 185 insertions(+), 48 deletions(-) diff --git a/cloud/dahua/src/main/java/com/example/dahua/async/SendUserInfoTask.java b/cloud/dahua/src/main/java/com/example/dahua/async/SendUserInfoTask.java index 6f2a61d..c344378 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/async/SendUserInfoTask.java +++ b/cloud/dahua/src/main/java/com/example/dahua/async/SendUserInfoTask.java @@ -4,10 +4,7 @@ package com.example.dahua.async; import com.alibaba.fastjson.JSON; import com.example.dahua.MyTask; -import com.example.dahua.bean.AttendanceBean; -import com.example.dahua.bean.SendRecordBean; -import com.example.dahua.bean.TeacherBean; -import com.example.dahua.bean.UserInfoBean; +import com.example.dahua.bean.*; import com.example.dahua.common.Res; import com.example.dahua.dao.UserDao; import com.example.dahua.enums.*; @@ -16,10 +13,13 @@ import com.example.dahua.lib.FilePath; import com.example.dahua.lib.NetSDKLib; import com.example.dahua.lib.ToolKits; import com.example.dahua.module.GateModule; +import com.example.dahua.service.PermissFaceService; import com.example.dahua.utils.FileUtils; import com.example.dahua.utils.HttpUtils; +import com.example.dahua.utils.JsonUtils; import com.example.dahua.xiananDao.SendRecordDao; import com.sun.jna.Memory; +import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; @@ -44,6 +44,8 @@ public class SendUserInfoTask { @Autowired SendRecordDao sendRecordDao; + @Autowired + PermissFaceService permissFaceService; /** * 下发单个用户人脸任务 @@ -301,6 +303,7 @@ public class SendUserInfoTask { } } + /** * 下发人脸/卡信息 * @param attendanceBean @@ -323,6 +326,10 @@ public class SendUserInfoTask { calendar.add(Calendar.YEAR, 4); String endTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()); + String studentType = userDao.getStudentType(attendanceBean.getSchool_id(),sendRecordBean.getCustomerid()); + //通道号 + int channel = analysisPermission(Integer.parseInt(attendanceBean.getSchool_id()),studentType); + /** * 注:用户下发逻辑 * 下发时,先从下发记录表:SZ_Student_RecoderNo 获取当前用户下发记录集编号,存在于设备的,新增卡号时返回, @@ -371,7 +378,7 @@ public class SendUserInfoTask { if (bCardFlags) { //修改设备卡信息 boolean isEditCard = GateModule.modifyCard(Integer.parseInt(recordNo),cardNum, user_id, name, "123456", Res.string().getCardStatusInt(1), - Res.string().getCardTypeInt(1), 0, 0, 1, startTime, endTime, loginHandleLong, userType,cardErrNum); + Res.string().getCardTypeInt(1), 0, 0, 1, startTime, endTime, loginHandleLong, userType,cardErrNum,channel); if (isEditCard) { //修改卡成功, 更新下发记录集编号表 @@ -387,7 +394,7 @@ public class SendUserInfoTask { userDao.deleteRecordNo(user_id, Integer.parseInt(recordNo)); //重新下发卡号至设备 newRecordNo = GateModule.insertCard(cardNum, user_id, name, "123456", Res.string().getCardStatusInt(1), - Res.string().getCardTypeInt(1), 0, 1, 1, startTime, endTime, loginHandleLong,userType,cardErrNum); + Res.string().getCardTypeInt(1), 0, 1, 1, startTime, endTime, loginHandleLong,userType,cardErrNum,channel); //下发卡至设备,返回值不为-1为下发成功,保存下发记录集编号表 if (newRecordNo != -1) { @@ -401,7 +408,7 @@ public class SendUserInfoTask { //新增卡信息, 新增人脸信息至设备 newRecordNo = GateModule.insertCard(cardNum, user_id, name, "123456" , Res.string().getCardStatusInt(1), Res.string().getCardTypeInt(1), 0, 1 - , 1, startTime, endTime, loginHandleLong,userType,cardErrNum); + , 1, startTime, endTime, loginHandleLong,userType,cardErrNum,channel); //下发卡至设备,返回值不为-1为下发成功,保存下发记录集编号表 if (newRecordNo != -1) { @@ -419,7 +426,7 @@ public class SendUserInfoTask { log.info("下发人脸和卡号成功, sendRecordBean: "+ JSON.toJSONString(sendRecordBean)); //人脸下发成功记录, 先判断是否已经存在了 - List sendRecordBeanList = sendRecordDao.getFaceSucceIsexit(sendRecordBean.getDeviceID(), String.valueOf(sendRecordBean.getSchoolId()), sendRecordBean.getCustomerid()); + List sendRecordBeanList = sendRecordDao.getFaceSucceIsexit(sendRecordBean.getDeviceID(), String.valueOf(sendRecordBean.getSchoolId()), sendRecordBean.getNum()); if (sendRecordBeanList.size() > 0) { //删除重复数据 for (int i = 0; i < sendRecordBeanList.size(); i++) { @@ -475,6 +482,41 @@ public class SendUserInfoTask { } } + private static JsonUtils objectMapper = JsonUtils.nonEmptyMapper(); + + /** + * 解析权限模板、获取下发通道号 + * @param schoolId + * @param studentType + * @return + */ + private int analysisPermission(int schoolId, String studentType){ + List permissionFaceBeans = permissFaceService.getPermissionList(schoolId); + String channel =""; + if(permissionFaceBeans.size()>0){ + for(PermissionFaceBean permissionFaceBean : permissionFaceBeans){ + String json = permissionFaceBean.getPermissionJson(); + PermissionBean permissionBean = objectMapper.fromJson(json,PermissionBean.class); + //学生考勤类型 1:通校生,2:住校生,3:全部 + String studentTypeStr = permissionBean.getStudentType(); + if(studentTypeStr.indexOf(studentType)!=-1){ + channel= permissionFaceBean.getChannel(); + } + } + } + return Integer.parseInt(channel); + } + + + public static void main(String[] args) { + String json ="{\"studentType\":\"1,2\",\"deviceIds\":[\"aaa\"],\"weekDays\":[{\"weekTimes\":[{\"startTime\":\"12:00\",\"endTime\":\"06:00\"}],\"sex\":\"1,2\",\"weekDay\":\"0,1,2\"}]}"; + PermissionBean permissionBean = objectMapper.fromJson(json,PermissionBean.class); + String studentType = permissionBean.getStudentType(); + if(studentType.indexOf("1")!=-1){ + System.out.println(true); + } + } + /** * 解析下发异常信息 * @param cardErrNum @@ -506,9 +548,6 @@ public class SendUserInfoTask { return sb.toString(); } - public static void main(String[] args) { - System.out.println(new SendUserInfoTask().analysisErrorMsg("","")); - } /** * 添加人脸下发失败记录 diff --git a/cloud/dahua/src/main/java/com/example/dahua/bean/PermissionBean.java b/cloud/dahua/src/main/java/com/example/dahua/bean/PermissionBean.java index 215d722..09ae39a 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/bean/PermissionBean.java +++ b/cloud/dahua/src/main/java/com/example/dahua/bean/PermissionBean.java @@ -15,6 +15,12 @@ public class PermissionBean implements Serializable { @ApiModelProperty("用逗号隔开,1:通校生,2:住校生,3:全部") private String studentType; + @ApiModelProperty("权限通道号") + private String channel; + + @ApiModelProperty("权限自定义名成") + private String customName; + public String getStudentType() { return studentType; } @@ -38,4 +44,20 @@ public class PermissionBean implements Serializable { public void setWeekDays(List weekDays) { this.weekDays = weekDays; } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + + public String getCustomName() { + return customName; + } + + public void setCustomName(String customName) { + this.customName = customName; + } } diff --git a/cloud/dahua/src/main/java/com/example/dahua/bean/PermissionFaceBean.java b/cloud/dahua/src/main/java/com/example/dahua/bean/PermissionFaceBean.java index e166521..713e6ab 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/bean/PermissionFaceBean.java +++ b/cloud/dahua/src/main/java/com/example/dahua/bean/PermissionFaceBean.java @@ -42,6 +42,11 @@ public class PermissionFaceBean implements Serializable { @ApiModelProperty(value = "0-新增;1-编辑;2-删除",required = true) private int type; + @ApiModelProperty("权限通道号") + private String channel; + @ApiModelProperty("权限自定义名成") + private String customName; + public int getType() { return type; } @@ -105,4 +110,20 @@ public class PermissionFaceBean implements Serializable { public void setPermissionJson(String permissionJson) { this.permissionJson = permissionJson; } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + + public String getCustomName() { + return customName; + } + + public void setCustomName(String customName) { + this.customName = customName; + } } diff --git a/cloud/dahua/src/main/java/com/example/dahua/dao/UserDao.java b/cloud/dahua/src/main/java/com/example/dahua/dao/UserDao.java index 547fb6a..17e5045 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/dao/UserDao.java +++ b/cloud/dahua/src/main/java/com/example/dahua/dao/UserDao.java @@ -44,6 +44,15 @@ public interface UserDao { @Select("select top 1 recordNo from SZ_Student_RecoderNo where user_id = #{user_id} and deviceId = #{deviceId}") String getRecordNo(@Param("user_id") String user_id, @Param("deviceId") String deviceId); + /** + * 获取学生考勤类型 + * @param school_id + * @param customerid + * @return + */ + @Select(" select Top(1)* student_type from SZ_V_School_Student where school_id = #{school_id} and student_id = #{customerid}") + String getStudentType(@Param("school_id") String school_id, @Param("customerid") String customerid); + @Insert("insert into SZ_Student_RecoderNo values(#{user_id},#{recordNo},#{student_name},#{deviceId})") int saveRecordNo(@Param("user_id") String user_id, @Param("recordNo") int recordNo, @Param("student_name") String student_name, @Param("deviceId") String deviceId); @@ -104,7 +113,7 @@ public interface UserDao { @Select("select StudentId from SS_RoomNumber where Pid in (select id from SS_Room where SchoolId = 479)") List getStudentIds(); - @Select("select * from SZ_V_Card where num=#{num}") + @Select("select Top(1) * from SZ_V_Card where num=#{num}") CardBean getCards(@Param("num") String num); @Select("select clint_id from SZ_Attendance where school_id = #{schoolId} and (clint_type = 8 or clint_type = 9 or clint_type = 10)") diff --git a/cloud/dahua/src/main/java/com/example/dahua/enums/EnumSzBusinessType.java b/cloud/dahua/src/main/java/com/example/dahua/enums/EnumSzBusinessType.java index ff7dd3b..cee6afd 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/enums/EnumSzBusinessType.java +++ b/cloud/dahua/src/main/java/com/example/dahua/enums/EnumSzBusinessType.java @@ -29,21 +29,22 @@ public interface EnumSzBusinessType { } } -// public enum EnumCardType { -// -// STUDENT(1, "student","学生"), -// TEACHER(2, "teacher","老师"); -//// PARENT(3, "parent","家长"); -// -// public final int code; -// public final String enName; -// public final String cnName; -// -// EnumUserType(int code, String enName,String cnName) { -// this.code = code; -// this.enName = enName; -// this.cnName = cnName; -// } -// } + /** + * 学生出入类型 + */ + public enum EnumStudentType { + + GO_OUT(1, "通校"), + LIVING(2, "住校"), + ALL(3, "全部"); + + public final int code; + public final String name; + + EnumStudentType(int code, String name) { + this.code = code; + this.name = name; + } + } } diff --git a/cloud/dahua/src/main/java/com/example/dahua/module/GateModule.java b/cloud/dahua/src/main/java/com/example/dahua/module/GateModule.java index 7e043ec..31691ca 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/module/GateModule.java +++ b/cloud/dahua/src/main/java/com/example/dahua/module/GateModule.java @@ -5,6 +5,7 @@ import com.example.dahua.bean.WeekDay; import com.example.dahua.bean.WeekTime; import com.example.dahua.enums.EnumSendCardErrorType; import com.example.dahua.enums.EnumSendFaceErrorType; +import com.example.dahua.enums.EnumSzBusinessType; import com.example.dahua.lib.NetSDKLib; import com.example.dahua.lib.NetSDKLib.*; import com.example.dahua.lib.ToolKits; @@ -203,7 +204,7 @@ public class GateModule { public static synchronized int insertCard(String cardNo, String userId, String cardName, String cardPwd, int cardStatus, int cardType, int useTimes, int isFirstEnter, int isValid, String startValidTime, String endValidTime, LLong lLong, - String userType,String cardErrNum) { + String userType,String cardErrNum,int channel) { /** * 门禁卡记录集信息 */ @@ -230,13 +231,13 @@ public class GateModule { accessCardInfo.sznDoors[0] = 0; accessCardInfo.sznDoors[1] = 1; accessCardInfo.nTimeSectionNum = 2; // 与门数对应 -// if (userType.equals("1")){ + if (userType.equals("1")){ accessCardInfo.sznTimeSectionNo[0] = 255; // 表示第一个门全天有效 accessCardInfo.sznTimeSectionNo[1] = 255; // 表示第二个门全天有效 -// }else { -// accessCardInfo.sznTimeSectionNo[0] = 120; // 表示第一个门全天有效 -// accessCardInfo.sznTimeSectionNo[1] = 120; // 表示第二个门全天有效 -// } + }else { + accessCardInfo.sznTimeSectionNo[0] = channel; // 表示第一个门全天有效 + accessCardInfo.sznTimeSectionNo[1] = channel; // 表示第二个门全天有效 + } // 卡状态 accessCardInfo.emStatus = cardStatus; @@ -291,14 +292,13 @@ public class GateModule { log.info("添加卡信息失败,错误信息:{} ,错误码:{} ",ret,number); cardErrNum = number; //146用户已存在,21对返回数据的校验出错,1162未知错误 - if(number.equals(EnumSendCardErrorType.CHECK_DATA_ERR_21.code)|| number.equals(EnumSendCardErrorType.EXIST_USER_146.code)|| - number.equals(EnumSendCardErrorType.UNKNOWN_1162.code)) { + if(number.equals(EnumSendCardErrorType.CHECK_DATA_ERR_21.code)||number.equals(EnumSendCardErrorType.EXIST_USER_146.code)) { //用户已存在/返回数据校验出错时,执行删除用户 deleteUser( userId, lLong); //重新下发卡至设备 cardErrNum = ""; return insertCard(cardNo, userId, cardName, cardPwd, cardStatus, cardType, useTimes, isFirstEnter, - isValid, startValidTime, endValidTime, lLong, userType,cardErrNum); + isValid, startValidTime, endValidTime, lLong, userType,cardErrNum,channel); } //新增卡失败,错误码,返回-1 return -1; @@ -414,10 +414,12 @@ public class GateModule { CFG_ACCESS_TIMESCHEDULE_INFO msg = new CFG_ACCESS_TIMESCHEDULE_INFO(); String strCmd = NetSDKLib.CFG_CMD_ACCESSTIMESCHEDULE; // 通道号 - int nChannel = 120; + int nChannel = Integer.parseInt(permissionBean.getChannel()); // msg.stuTimeWeekDay[0].stuTimeSection[0].dwRecordMask - String name = "3"; + //自定义名称 + String name = permissionBean.getCustomName(); System.arraycopy(name.getBytes(), 0, msg.szName, 0, name.getBytes().length); + //时间段使能开关, 1-true; 0-false msg.bEnable = 1; List weekDays = permissionBean.getWeekDays(); @@ -525,10 +527,11 @@ public class GateModule { } - public static void getAccessTimeSchedule1(LLong lLong) { + public static void getAccessTimeSchedule1(LLong lLong,String channel) { CFG_ACCESS_TIMESCHEDULE_INFO msg = new CFG_ACCESS_TIMESCHEDULE_INFO(); String strCmd = NetSDKLib.CFG_CMD_ACCESSTIMESCHEDULE; - int nChannel = 120; // 通道号 + // 通道号 + int nChannel = Integer.parseInt(channel); // 获取 if (ToolKits.GetDevConfig(lLong, nChannel, strCmd, msg)) { @@ -687,7 +690,7 @@ public class GateModule { public static boolean modifyCard(int recordNo, String cardNo, String userId, String cardName, String cardPwd, int cardStatus, int cardType, int useTimes, int isFirstEnter, int isValid, String startValidTime, String endValidTime, LLong lLong, - String userType,String cardErrNum) { + String userType,String cardErrNum,int channel) { /** * 门禁卡记录集信息 */ @@ -715,13 +718,14 @@ public class GateModule { accessCardInfo.nDoorNum = 2; accessCardInfo.sznDoors[0] = 0; accessCardInfo.sznDoors[1] = 1; - accessCardInfo.nTimeSectionNum = 2; // 与门数对应 - if (userType.equals("1")){ + // 有效的的开门时间段数目 ,与设备门数保持一至 + accessCardInfo.nTimeSectionNum = 2; + if (userType.equals(EnumSzBusinessType.EnumUserType.TEACHER.code)){ accessCardInfo.sznTimeSectionNo[0] = 255; // 表示第一个门全天有效 accessCardInfo.sznTimeSectionNo[1] = 255; // 表示第二个门全天有效 }else { - accessCardInfo.sznTimeSectionNo[0] = 120; // 表示第一个门全天有效 - accessCardInfo.sznTimeSectionNo[1] = 120; // 表示第二个门全天有效 + accessCardInfo.sznTimeSectionNo[0] = channel; // 表示第一个门全天有效 + accessCardInfo.sznTimeSectionNo[1] = channel; // 表示第二个门全天有效 } // 卡状态 diff --git a/cloud/dahua/src/main/java/com/example/dahua/service/PermissFaceService.java b/cloud/dahua/src/main/java/com/example/dahua/service/PermissFaceService.java index 6d99566..696537c 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/service/PermissFaceService.java +++ b/cloud/dahua/src/main/java/com/example/dahua/service/PermissFaceService.java @@ -17,4 +17,6 @@ public interface PermissFaceService { ResponseBean addFace(String imgUrl, String userId); + + public List getPermissionList(int schoolId); } diff --git a/cloud/dahua/src/main/java/com/example/dahua/service/imp/PermissFaceServiceImp.java b/cloud/dahua/src/main/java/com/example/dahua/service/imp/PermissFaceServiceImp.java index e5b9000..fd39bc8 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/service/imp/PermissFaceServiceImp.java +++ b/cloud/dahua/src/main/java/com/example/dahua/service/imp/PermissFaceServiceImp.java @@ -41,7 +41,14 @@ public class PermissFaceServiceImp implements PermissFaceService { int schoolId = permissionFaceBean.getSchoolId(); + //编辑设置 PermissionBean permissionBean = permissionFaceBean.getPermissionBean(); + if(!StringUtils.isEmpty(permissionFaceBean.getChannel())){ + permissionBean.setChannel(permissionFaceBean.getChannel()); + } + if(!StringUtils.isEmpty(permissionFaceBean.getCustomName())){ + permissionBean.setChannel(permissionFaceBean.getCustomName()); + } int type = permissionFaceBean.getType(); if (null != permissionBean) @@ -56,9 +63,19 @@ public class PermissFaceServiceImp implements PermissFaceService { } switch (type) { case 0://新增 + /**通道号**/ + String channel = Rand(); + /**通道自定义名称**/ + String customName = Rand(); + permissionBean.setChannel(channel); + permissionBean.setCustomName(customName); + permissionFaceBean.setChannel(channel); + permissionFaceBean.setCustomName(customName); + permissionFaceDao.addPermissionFace(permissionFaceBean); responseBean.setMessage("添加权限模板成功"); responseBean.setData(null); + //下发权限 sendPermiss2Dev(permissionFaceBean); responseBean.setStatus(1); break; @@ -94,6 +111,16 @@ public class PermissFaceServiceImp implements PermissFaceService { } /** + * 取100以内随机数 + * @return + */ + public static String Rand() { + int rand = (int) (Math.random() * 100000) % 100; + return String.valueOf(rand); + } + + + /** * 下发权限到设备 * * @param permissionFaceBean @@ -140,6 +167,12 @@ public class PermissFaceServiceImp implements PermissFaceService { } @Override + public List getPermissionList(int schoolId) { + List permissionFaceBeans = permissionFaceDao.getPermissFaces(schoolId); + return permissionFaceBeans; + } + + @Override public ResponseBeanList getPermissionDetail(int permissionId) { ResponseBeanList responseBeanList = new ResponseBeanList(); try { diff --git a/cloud/dahua/src/main/java/com/example/dahua/service/imp/UserServiceImp.java b/cloud/dahua/src/main/java/com/example/dahua/service/imp/UserServiceImp.java index d542939..bbd911b 100644 --- a/cloud/dahua/src/main/java/com/example/dahua/service/imp/UserServiceImp.java +++ b/cloud/dahua/src/main/java/com/example/dahua/service/imp/UserServiceImp.java @@ -129,7 +129,7 @@ public class UserServiceImp implements UserService { NetSDKLib.LLong loginHandleLong = MyTask.lLongMap.get(deviceId); //下发权限 GateModule.setAccessTimeSchedule(loginHandleLong, permissionBean); - GateModule.getAccessTimeSchedule1(loginHandleLong); + GateModule.getAccessTimeSchedule1(loginHandleLong,permissionBean.getChannel()); } diff --git a/cloud/dahua/src/main/resources/mapper/PermissionFaceMapper.xml b/cloud/dahua/src/main/resources/mapper/PermissionFaceMapper.xml index 6f4833e..f180f3f 100644 --- a/cloud/dahua/src/main/resources/mapper/PermissionFaceMapper.xml +++ b/cloud/dahua/src/main/resources/mapper/PermissionFaceMapper.xml @@ -23,7 +23,7 @@ - insert into PermissionFace values (#{permissionJson},#{schoolId},#{perrmissName},#{createTime},#{updateTime}) + insert into PermissionFace values (#{permissionJson},#{schoolId},#{perrmissName},#{createTime},#{updateTime},#{channel},#{customName}) diff --git a/cloud/dahua/src/test/java/com/example/dahua/mapper/SearchMapperTest.java b/cloud/dahua/src/test/java/com/example/dahua/mapper/SearchMapperTest.java index a6fd3c4..bc9184d 100644 --- a/cloud/dahua/src/test/java/com/example/dahua/mapper/SearchMapperTest.java +++ b/cloud/dahua/src/test/java/com/example/dahua/mapper/SearchMapperTest.java @@ -5,6 +5,7 @@ import com.example.dahua.Tester; import com.example.dahua.bean.CheckIn; import com.example.dahua.bean.ShortMsg; import com.example.dahua.dao.UserDao; +import com.example.dahua.service.UserService; import com.example.dahua.utils.DateUtils; import com.example.dahua.xiananDao.SearchMapper; import org.junit.Test; @@ -27,6 +28,9 @@ public class SearchMapperTest extends Tester { @Autowired private UserDao userDao; + @Autowired + private UserService userService; + @Test public void test(){ //有效刷卡调考勤存储过程 @@ -61,4 +65,6 @@ public class SearchMapperTest extends Tester { // System.out.println(JSON.toJSON(userDao.checkLeave("234232"))); } + +// boolean uploadImgAndUserInfo(String file, String schoolId, String studentCode, String clint_type, int userType, String devid); } -- libgit2 0.21.0