Commit 0e6455b5ce20ff2aacb9fcb18732a89c013d1139
1 parent
0135242b
Exists in
master
sss
Showing
6 changed files
with
277 additions
and
275 deletions
Show diff stats
cloud/dahua/src/main/java/com/example/dahua/async/SendUserInfoTask2.java
| 1 | 1 | package com.example.dahua.async; |
| 2 | 2 | |
| 3 | 3 | import com.alibaba.fastjson.JSON; |
| 4 | +import com.alibaba.fastjson.JSONObject; | |
| 4 | 5 | import com.example.dahua.MyTask; |
| 5 | 6 | import com.example.dahua.bean.*; |
| 6 | 7 | import com.example.dahua.dao.UserDao; |
| ... | ... | @@ -116,7 +117,7 @@ public class SendUserInfoTask2 { |
| 116 | 117 | */ |
| 117 | 118 | pushCardAndFace(file, userInfoBean, deviceList,sendRecordBean.getUserType()+"",sendRecordBean.getFailType()); |
| 118 | 119 | } catch (Exception e) { |
| 119 | - log.error("下发失败"); | |
| 120 | + log.error("下发失败:{}",e); | |
| 120 | 121 | return false; |
| 121 | 122 | } |
| 122 | 123 | return false; |
| ... | ... | @@ -150,7 +151,7 @@ public class SendUserInfoTask2 { |
| 150 | 151 | * @param failType |
| 151 | 152 | */ |
| 152 | 153 | private synchronized void pushCardAndFace(String picSrc, UserInfoBean userInfoBean,List<String> deviceList,String userType, int failType) { |
| 153 | - log.info("下发人脸设备总数,size: "+ deviceList.size()); | |
| 154 | + log.info("下发人脸设备总数,size:{},用户信息:{}",deviceList.size(), JSONObject.toJSONString(userInfoBean)); | |
| 154 | 155 | String facePath = compressPic(picSrc,userInfoBean.getStudentcode()); |
| 155 | 156 | if(StringUtils.isEmpty(facePath)){ |
| 156 | 157 | log.warn("压缩后图片路径为空!"); | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/service/imp/BaseService.java
| ... | ... | @@ -216,7 +216,7 @@ public class BaseService { |
| 216 | 216 | } |
| 217 | 217 | |
| 218 | 218 | public List<String> getDeviceList(String deviceIds,Integer schoolId){ |
| 219 | - if(StringUtils.isEmpty(deviceIds)) return Arrays.asList(deviceIds.split(",")); | |
| 219 | + if(!StringUtils.isEmpty(deviceIds)) return Arrays.asList(deviceIds.split(",")); | |
| 220 | 220 | return userDao.selectDeviceBySchoolId(schoolId); |
| 221 | 221 | } |
| 222 | 222 | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/service/imp/UserOperateServiceImpl.java
| ... | ... | @@ -70,7 +70,7 @@ public class UserOperateServiceImpl implements UserOperateService { |
| 70 | 70 | if(Objects.equals(faceBean.getUserType(),2)) studentBeans = baseService.getStudentByClassId(faceBean); |
| 71 | 71 | else studentBeans = baseService.getTeacherList(faceBean.getSchoolId()); |
| 72 | 72 | if(CollectionUtils.isEmpty(studentBeans)) return; |
| 73 | - log.info("统计共有下发用户数量:{}",studentBeans.size()); | |
| 73 | + log.info("统计共有下发用户数量:{},下发设备数量:{}",studentBeans.size(),deviceList.size()); | |
| 74 | 74 | //下发人脸 |
| 75 | 75 | sendFace(studentBeans,deviceList, faceBean.getSchoolId(), faceBean.getUserType()); |
| 76 | 76 | } |
| ... | ... | @@ -80,7 +80,7 @@ public class UserOperateServiceImpl implements UserOperateService { |
| 80 | 80 | List<String> deviceList = baseService.getDeviceList(faceBean.getDeviceIds(),faceBean.getSchoolId()); |
| 81 | 81 | //根据类型获取下发用户信息 |
| 82 | 82 | List<StudentBean> studentBeans = baseService.getStudentByRoomId(faceBean.getSchoolId(),faceBean.getRoomId()); |
| 83 | - log.info("统计共有下发用户数量:{}",studentBeans.size()); | |
| 83 | + log.info("统计共有下发用户数量:{},下发设备数量:{}",studentBeans.size(),deviceList.size()); | |
| 84 | 84 | //下發人臉 |
| 85 | 85 | sendFace(studentBeans,deviceList, faceBean.getSchoolId(),faceBean.getUserType()); |
| 86 | 86 | } | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/service/imp/UserServiceImp.java
| ... | ... | @@ -81,6 +81,7 @@ public class UserServiceImp implements UserService { |
| 81 | 81 | userInfoBean.setUser_id(teacher.getUser_id()); |
| 82 | 82 | userInfoBean.setStudentcode(teacher.getNum()); |
| 83 | 83 | userInfoBean.setStudent_id(teacher.getTeacher_id()); |
| 84 | + userInfoBean.setSchool_id(schoolId+""); | |
| 84 | 85 | } |
| 85 | 86 | } |
| 86 | 87 | //下发任务 | ... | ... |
cloud/dahua/src/main/java/com/example/dahua/utils/HttpUtils.java
| ... | ... | @@ -47,7 +47,7 @@ public class HttpUtils { |
| 47 | 47 | multivaluedMap.add("studentCode", studentCode); |
| 48 | 48 | multivaluedMap.add("userType", userType); |
| 49 | 49 | if(!StringUtils.isEmpty(deviceId)){ |
| 50 | - multivaluedMap.add("deviceIds", deviceId); | |
| 50 | + multivaluedMap.add("deviceId", deviceId); | |
| 51 | 51 | } |
| 52 | 52 | httpEntity = new HttpEntity<>(multivaluedMap, headers); |
| 53 | 53 | responseEntity = restTemplate.postForEntity(url, httpEntity, String.class); | ... | ... |
cloud/haikangface/src/test/java/com/sincere/haikangface/HaikangfaceApplicationTests.java
| 1 | -package com.sincere.haikangface; | |
| 2 | - | |
| 3 | -import com.alibaba.fastjson.JSONObject; | |
| 4 | -import com.drew.imaging.jpeg.JpegMetadataReader; | |
| 5 | -import com.drew.imaging.jpeg.JpegProcessingException; | |
| 6 | -import com.drew.metadata.Directory; | |
| 7 | -import com.drew.metadata.Metadata; | |
| 8 | -import com.drew.metadata.MetadataException; | |
| 9 | -import com.drew.metadata.exif.ExifDirectory; | |
| 10 | -import com.sincere.haikangface.admindao.ZuoyeAdminDao; | |
| 11 | -import com.sincere.haikangface.bean.*; | |
| 12 | -import com.sincere.haikangface.bean.homework.QuestionBean; | |
| 13 | -import com.sincere.haikangface.bean.test.SaveStudentBak; | |
| 14 | -import com.sincere.haikangface.bean.xiaoan.AttendanceRecordsSS; | |
| 15 | -import com.sincere.haikangface.bean.xiaoan.CreditCardRecordsSS; | |
| 16 | -import com.sincere.haikangface.dao.DeviceDao; | |
| 17 | -import com.sincere.haikangface.dao.UserDao; | |
| 18 | -import com.sincere.haikangface.dao.ZuoYeDao; | |
| 19 | -import com.sincere.haikangface.service.impl.BaseService; | |
| 20 | -import com.sincere.haikangface.utils.ApiUtil; | |
| 21 | -import com.sincere.haikangface.utils.DateUtils; | |
| 22 | -import com.sincere.haikangface.xiananDao.SendRecordDao; | |
| 23 | -import org.apache.commons.lang3.RandomStringUtils; | |
| 24 | -import org.bouncycastle.asn1.cms.MetaData; | |
| 25 | -import org.hibernate.validator.constraints.LuhnCheck; | |
| 26 | -import org.junit.Test; | |
| 27 | -import org.junit.runner.RunWith; | |
| 28 | -import org.springframework.beans.factory.annotation.Autowired; | |
| 29 | -import org.springframework.boot.test.context.SpringBootTest; | |
| 30 | -import org.springframework.core.io.FileSystemResource; | |
| 31 | -import org.springframework.http.HttpEntity; | |
| 32 | -import org.springframework.http.HttpHeaders; | |
| 33 | -import org.springframework.http.MediaType; | |
| 34 | -import org.springframework.http.ResponseEntity; | |
| 35 | -import org.springframework.test.context.junit4.SpringRunner; | |
| 36 | -import org.springframework.util.CollectionUtils; | |
| 37 | -import org.springframework.util.LinkedMultiValueMap; | |
| 38 | -import org.springframework.util.MultiValueMap; | |
| 39 | -import org.springframework.util.StringUtils; | |
| 40 | -import org.springframework.web.client.RestTemplate; | |
| 41 | - | |
| 42 | -import javax.imageio.stream.FileImageInputStream; | |
| 43 | -import javax.imageio.stream.FileImageOutputStream; | |
| 44 | -import javax.ws.rs.core.MultivaluedMap; | |
| 45 | -import java.io.*; | |
| 46 | -import java.math.BigInteger; | |
| 47 | -import java.text.SimpleDateFormat; | |
| 48 | -import java.util.*; | |
| 49 | - | |
| 50 | -@RunWith(SpringRunner.class) | |
| 51 | -@SpringBootTest | |
| 52 | -public class HaikangfaceApplicationTests { | |
| 53 | - | |
| 54 | - @Autowired | |
| 55 | - UserDao userDao; | |
| 56 | - | |
| 57 | - @Autowired | |
| 58 | - DeviceDao deviceDao; | |
| 59 | - | |
| 60 | - @Autowired | |
| 61 | - SendRecordDao sendRecordDao; | |
| 62 | - | |
| 63 | - @Autowired | |
| 64 | - ZuoYeDao zuoYeDao; | |
| 65 | - | |
| 66 | - @Autowired | |
| 67 | - ZuoyeAdminDao zuoyeAdminDao; | |
| 68 | - | |
| 69 | - @Autowired | |
| 70 | - BaseService baseService; | |
| 71 | - | |
| 72 | - @Test | |
| 73 | - public void sync() { | |
| 74 | -// String deviceIds = "338652415671,694642005671,694642555671,338652515671,338653105671,338652895671,ytj687425415671,ytj694642105671,694642135671,ytj694642375671"; | |
| 75 | -// String deviceIds = "687425135671,ytj687425345671,ytj687425395671,ytj687425155671,687425355671,687425225671,687425265671,740456495671,687425325671,694642215671"; | |
| 76 | - //陆埠 | |
| 77 | - String deviceIds = "840153165671,840153205671,840153485671,840153965671,840153325671,840153835671,840154005671,840153105671"; | |
| 78 | - //艺术 | |
| 79 | -// String deviceIds = "567176463869,567176463898,567176463903,567176463892"; | |
| 80 | - Integer schoolId = 1066; | |
| 81 | - baseService.clearStudent(schoolId,deviceIds); | |
| 82 | - baseService.clearStudent2(schoolId); | |
| 83 | - } | |
| 84 | - | |
| 85 | - @Test | |
| 86 | - public void checkFaceSend() { | |
| 87 | - String deviceIds = "694642005671,694642215671,687425355671,687425325671,338652895671,687425135671,ytj694642375671,338652415671,687425265671,ytj687425345671,338652515671,694642555671,ytj694642105671,338653105671,ytj687425415671,ytj687425155671,740456495671,694642135671,ytj687425395671,687425225671"; | |
| 88 | - //下发设备集合 | |
| 89 | - List<String> deviceList= new ArrayList<>(Arrays.asList(deviceIds.split(","))); | |
| 90 | - List<StudentBean> studentBeans = userDao.getStudentBySchoolId(865); | |
| 91 | - studentBeans.stream().distinct().forEach(studentBean -> { | |
| 92 | - String name = studentBean.getName(); | |
| 93 | - String userId = studentBean.getUser_id(); | |
| 94 | - String cardNum = studentBean.getStudent_num(); | |
| 95 | - String className = studentBean.getClass_name(); | |
| 96 | - for(String s : deviceList){ | |
| 97 | - List<SendRecordBean> sendRecordBeans = sendRecordDao.getRecordIsExit(s,cardNum,userId); | |
| 98 | - if(CollectionUtils.isEmpty(sendRecordBeans)){ | |
| 99 | - SaveStudentBak saveStudentBak = new SaveStudentBak(); | |
| 100 | - saveStudentBak.setCardNum(cardNum); | |
| 101 | - saveStudentBak.setClientId(s); | |
| 102 | - saveStudentBak.setUserId(userId); | |
| 103 | - saveStudentBak.setName(name); | |
| 104 | - saveStudentBak.setClassName(className); | |
| 105 | - saveStudentBak.setStatus(2); | |
| 106 | -// userDao.insertStudent(saveStudentBak); | |
| 107 | - } | |
| 108 | - } | |
| 109 | - }); | |
| 110 | - } | |
| 111 | - | |
| 112 | - public String splicingZero(String str, int totalLenght) { | |
| 113 | - int strLenght = str.length(); | |
| 114 | - String strReturn = str; | |
| 115 | - for (int i = 0; i < totalLenght - strLenght; i++) { | |
| 116 | - strReturn = "0" + strReturn; | |
| 117 | - } | |
| 118 | - return strReturn; | |
| 119 | - } | |
| 120 | - | |
| 121 | - | |
| 122 | - @Test | |
| 123 | - public void delete() { | |
| 124 | - Integer schoolId =27; | |
| 125 | - Integer roomId = 11748; | |
| 126 | - Integer type = 7; | |
| 127 | - Integer outof = 1; | |
| 128 | - Integer size = 66; | |
| 129 | - String startTime= "2021-01-11 00:00:00"; | |
| 130 | - String endTime ="2021-01-11 23:59:59"; | |
| 131 | - List<String> studentIds = userDao.queryStudentIdList(schoolId,roomId); | |
| 132 | - if(!CollectionUtils.isEmpty(studentIds)){ | |
| 133 | - for(int i=0;i<=studentIds.size();i++){ | |
| 134 | - if(i == size){ | |
| 135 | - return; | |
| 136 | - } | |
| 137 | - StudentBean userInfoBean = userDao.getStudentWithid(studentIds.get(i)); | |
| 138 | - if(userInfoBean!=null){ | |
| 139 | - String cardNum = userInfoBean.getStudent_num(); | |
| 140 | - System.out.println(i); | |
| 141 | - sendRecordDao.deleteSS(schoolId,cardNum,type,outof,startTime,endTime); | |
| 142 | - } | |
| 143 | - } | |
| 144 | - } | |
| 145 | - } | |
| 146 | - | |
| 147 | - @Test | |
| 148 | - public void delete2() { | |
| 149 | - Integer schoolId =27; | |
| 150 | - Integer roomId = 11748; | |
| 151 | - Integer type = 12; | |
| 152 | - Integer outof = 0; | |
| 153 | - Integer size =62; | |
| 154 | - String startTime= "2021-01-22 00:00:00"; | |
| 155 | - String endTime ="2021-01-22 23:59:59"; | |
| 156 | - List<String> studentIds = userDao.queryStudentIdList(schoolId,roomId); | |
| 157 | - if(!CollectionUtils.isEmpty(studentIds)){ | |
| 158 | - for(int i=0;i<=studentIds.size();i++){ | |
| 159 | - if(i == size){ | |
| 160 | - return; | |
| 161 | - } | |
| 162 | - StudentBean userInfoBean = userDao.getStudentWithid(studentIds.get(i)); | |
| 163 | - if(userInfoBean!=null){ | |
| 164 | - String cardNum = userInfoBean.getStudent_num(); | |
| 165 | - System.out.println(i); | |
| 166 | - sendRecordDao.deleteSS(schoolId,cardNum,type,outof,startTime,endTime); | |
| 167 | - } | |
| 168 | - } | |
| 169 | - } | |
| 170 | - } | |
| 171 | - | |
| 172 | - @Test | |
| 173 | - public void test() { | |
| 174 | - List<StudentBean> students = userDao.getStudentBySchoolId(12); | |
| 175 | - int i = 0; | |
| 176 | - for(StudentBean studentBean : students){ | |
| 177 | - String time = DateUtils.date2String(new Date(),"yyyyMMddHHmm"); | |
| 178 | - String randomString = RandomStringUtils.randomNumeric(4); | |
| 179 | - String studentCode = "YX"+time+randomString+".png"; | |
| 180 | - String photo = studentBean.getPhoto(); | |
| 181 | - System.out.println("源文件:" + photo); | |
| 182 | - //以学籍号为名的文件名 | |
| 183 | - String fileName = photo.substring(photo.lastIndexOf("/") + 1,photo.length()); | |
| 184 | - //100服务器人脸照绝对路径 | |
| 185 | - //100服务器人脸照绝对路径 | |
| 186 | - String path_1 = "E:\\wwwhtdocs\\SmartCampus\\face17e50\\School12\\Student"; | |
| 187 | - String path_2 = "E:\\wwwhtdocs\\SmartCampus\\face17e5\\School12\\Student"; | |
| 188 | - String path_3 = "E:\\wwwhtdocs\\SmartCampus\\f0i5l7e5\\"; | |
| 189 | - String filePath =""; | |
| 190 | - String filePath2 =""; | |
| 191 | - if(photo.indexOf("f0i5l7e5")!=-1){ | |
| 192 | - String afterStr = photo.split("f0i5l7e5/")[1].replace("/","\\"); | |
| 193 | - filePath = path_3 + afterStr; | |
| 194 | - filePath2 = path_3 + studentCode; | |
| 195 | - } | |
| 196 | - if(photo.indexOf("face17e5")!=-1){ | |
| 197 | - filePath = path_2 + "\\" + fileName; | |
| 198 | - filePath2 = path_2 + "\\" + studentCode; | |
| 199 | - } | |
| 200 | - if(photo.indexOf("face17e50")!=-1){ | |
| 201 | - filePath = path_1 + "\\" + fileName; | |
| 202 | - filePath2 = path_1 + "\\" + studentCode; | |
| 203 | - } | |
| 204 | - if(filePath.indexOf("?v=")!=-1){ | |
| 205 | - filePath = filePath.split("\\?")[0]; | |
| 206 | - } | |
| 207 | - File file = new File(filePath.trim());//图片 | |
| 208 | - if (file.exists()) { | |
| 209 | - //原始文件路径 | |
| 210 | - String srcPath = file.getAbsolutePath(); | |
| 211 | - System.out.println("文件名:" + fileName + ", 学籍号:" + fileName.split("\\.")[0]); | |
| 212 | - //复制文件 | |
| 213 | - copy(srcPath,filePath2); | |
| 214 | - String savePath = "http://campus.myjxt.com//" + filePath2; | |
| 215 | - studentBean.setPhoto(savePath); | |
| 216 | - userDao.updateUser(studentBean.getUser_id(), savePath); | |
| 217 | - file.delete(); | |
| 218 | - i++; | |
| 219 | - } | |
| 220 | - if(i==1){ | |
| 221 | - System.out.println(filePath); | |
| 222 | - return; | |
| 223 | - } | |
| 224 | - } | |
| 225 | - } | |
| 226 | - | |
| 227 | - public static void copy(String srcPathStr, String desPathStr) { | |
| 228 | - //获取源文件的名称 | |
| 229 | - try { | |
| 230 | - FileInputStream fis = new FileInputStream(srcPathStr);//创建输入流对象 | |
| 231 | - FileOutputStream fos = new FileOutputStream(desPathStr); //创建输出流对象 | |
| 232 | - byte datas[] = new byte[1024*8];//创建搬运工具 | |
| 233 | - int len = 0;//创建长度 | |
| 234 | - while((len = fis.read(datas))!=-1)//循环读取数据 | |
| 235 | - { | |
| 236 | - fos.write(datas,0,len); | |
| 237 | - } | |
| 238 | - fis.close();//释放资源 | |
| 239 | - fis.close();//释放资源 | |
| 240 | - } | |
| 241 | - catch (Exception e) | |
| 242 | - { | |
| 243 | - e.printStackTrace(); | |
| 244 | - } | |
| 245 | - } | |
| 246 | - | |
| 247 | - | |
| 248 | - @Test | |
| 249 | - public void send2() { | |
| 250 | - try { | |
| 251 | - String api = "http://yixiao.198.hmkj.com.cn/index.php/Attend/send"; | |
| 252 | - RestTemplate restTemplate = new RestTemplate(); | |
| 253 | - MultiValueMap<String, Object> map = new LinkedMultiValueMap<>(); | |
| 254 | - map.add("name", "测试"); | |
| 255 | - map.add("xuehao", "1122"); | |
| 256 | - map.add("time", "2022-02-10 09:09:00"); | |
| 257 | - map.add("state", 1); | |
| 258 | - HttpHeaders headers = new HttpHeaders(); | |
| 259 | - headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); | |
| 260 | - HttpEntity<MultiValueMap<String, Object>> param = new HttpEntity<>(map, headers); | |
| 261 | - ResponseEntity<String> response = restTemplate.postForEntity(api, param, String.class); | |
| 262 | - String body = response.getBody(); | |
| 263 | - System.out.println(body); | |
| 264 | - } catch (Exception e) { | |
| 265 | - e.printStackTrace(); | |
| 266 | - System.out.println("考勤失败"); | |
| 267 | - } | |
| 268 | - } | |
| 269 | -} | |
| 1 | +//package com.sincere.haikangface; | |
| 2 | +// | |
| 3 | +//import com.alibaba.fastjson.JSONObject; | |
| 4 | +//import com.drew.imaging.jpeg.JpegMetadataReader; | |
| 5 | +//import com.drew.imaging.jpeg.JpegProcessingException; | |
| 6 | +//import com.drew.metadata.Directory; | |
| 7 | +//import com.drew.metadata.Metadata; | |
| 8 | +//import com.drew.metadata.MetadataException; | |
| 9 | +//import com.drew.metadata.exif.ExifDirectory; | |
| 10 | +//import com.sincere.haikangface.admindao.ZuoyeAdminDao; | |
| 11 | +//import com.sincere.haikangface.bean.*; | |
| 12 | +//import com.sincere.haikangface.bean.homework.QuestionBean; | |
| 13 | +//import com.sincere.haikangface.bean.test.SaveStudentBak; | |
| 14 | +//import com.sincere.haikangface.bean.xiaoan.AttendanceRecordsSS; | |
| 15 | +//import com.sincere.haikangface.bean.xiaoan.CreditCardRecordsSS; | |
| 16 | +//import com.sincere.haikangface.dao.DeviceDao; | |
| 17 | +//import com.sincere.haikangface.dao.UserDao; | |
| 18 | +//import com.sincere.haikangface.dao.ZuoYeDao; | |
| 19 | +//import com.sincere.haikangface.service.impl.BaseService; | |
| 20 | +//import com.sincere.haikangface.utils.ApiUtil; | |
| 21 | +//import com.sincere.haikangface.utils.DateUtils; | |
| 22 | +//import com.sincere.haikangface.xiananDao.SendRecordDao; | |
| 23 | +//import org.apache.commons.lang3.RandomStringUtils; | |
| 24 | +//import org.bouncycastle.asn1.cms.MetaData; | |
| 25 | +//import org.hibernate.validator.constraints.LuhnCheck; | |
| 26 | +//import org.junit.Test; | |
| 27 | +//import org.junit.runner.RunWith; | |
| 28 | +//import org.springframework.beans.factory.annotation.Autowired; | |
| 29 | +//import org.springframework.boot.test.context.SpringBootTest; | |
| 30 | +//import org.springframework.core.io.FileSystemResource; | |
| 31 | +//import org.springframework.http.HttpEntity; | |
| 32 | +//import org.springframework.http.HttpHeaders; | |
| 33 | +//import org.springframework.http.MediaType; | |
| 34 | +//import org.springframework.http.ResponseEntity; | |
| 35 | +//import org.springframework.test.context.junit4.SpringRunner; | |
| 36 | +//import org.springframework.util.CollectionUtils; | |
| 37 | +//import org.springframework.util.LinkedMultiValueMap; | |
| 38 | +//import org.springframework.util.MultiValueMap; | |
| 39 | +//import org.springframework.util.StringUtils; | |
| 40 | +//import org.springframework.web.client.RestTemplate; | |
| 41 | +// | |
| 42 | +//import javax.imageio.stream.FileImageInputStream; | |
| 43 | +//import javax.imageio.stream.FileImageOutputStream; | |
| 44 | +//import javax.ws.rs.core.MultivaluedMap; | |
| 45 | +//import java.io.*; | |
| 46 | +//import java.math.BigInteger; | |
| 47 | +//import java.text.SimpleDateFormat; | |
| 48 | +//import java.util.*; | |
| 49 | +// | |
| 50 | +//@RunWith(SpringRunner.class) | |
| 51 | +//@SpringBootTest | |
| 52 | +//public class HaikangfaceApplicationTests { | |
| 53 | +// | |
| 54 | +// @Autowired | |
| 55 | +// UserDao userDao; | |
| 56 | +// | |
| 57 | +// @Autowired | |
| 58 | +// DeviceDao deviceDao; | |
| 59 | +// | |
| 60 | +// @Autowired | |
| 61 | +// SendRecordDao sendRecordDao; | |
| 62 | +// | |
| 63 | +// @Autowired | |
| 64 | +// ZuoYeDao zuoYeDao; | |
| 65 | +// | |
| 66 | +// @Autowired | |
| 67 | +// ZuoyeAdminDao zuoyeAdminDao; | |
| 68 | +// | |
| 69 | +// @Autowired | |
| 70 | +// BaseService baseService; | |
| 71 | +// | |
| 72 | +// @Test | |
| 73 | +// public void sync() { | |
| 74 | +//// String deviceIds = "338652415671,694642005671,694642555671,338652515671,338653105671,338652895671,ytj687425415671,ytj694642105671,694642135671,ytj694642375671"; | |
| 75 | +//// String deviceIds = "687425135671,ytj687425345671,ytj687425395671,ytj687425155671,687425355671,687425225671,687425265671,740456495671,687425325671,694642215671"; | |
| 76 | +// //陆埠 | |
| 77 | +// String deviceIds = "840153165671,840153205671,840153485671,840153965671,840153325671,840153835671,840154005671,840153105671"; | |
| 78 | +// //艺术 | |
| 79 | +//// String deviceIds = "567176463869,567176463898,567176463903,567176463892"; | |
| 80 | +// Integer schoolId = 1066; | |
| 81 | +// baseService.clearStudent(schoolId,deviceIds); | |
| 82 | +// baseService.clearStudent2(schoolId); | |
| 83 | +// } | |
| 84 | +// | |
| 85 | +// @Test | |
| 86 | +// public void checkFaceSend() { | |
| 87 | +// String deviceIds = "694642005671,694642215671,687425355671,687425325671,338652895671,687425135671,ytj694642375671,338652415671,687425265671,ytj687425345671,338652515671,694642555671,ytj694642105671,338653105671,ytj687425415671,ytj687425155671,740456495671,694642135671,ytj687425395671,687425225671"; | |
| 88 | +// //下发设备集合 | |
| 89 | +// List<String> deviceList= new ArrayList<>(Arrays.asList(deviceIds.split(","))); | |
| 90 | +// List<StudentBean> studentBeans = userDao.getStudentBySchoolId(865); | |
| 91 | +// studentBeans.stream().distinct().forEach(studentBean -> { | |
| 92 | +// String name = studentBean.getName(); | |
| 93 | +// String userId = studentBean.getUser_id(); | |
| 94 | +// String cardNum = studentBean.getStudent_num(); | |
| 95 | +// String className = studentBean.getClass_name(); | |
| 96 | +// for(String s : deviceList){ | |
| 97 | +// List<SendRecordBean> sendRecordBeans = sendRecordDao.getRecordIsExit(s,cardNum,userId); | |
| 98 | +// if(CollectionUtils.isEmpty(sendRecordBeans)){ | |
| 99 | +// SaveStudentBak saveStudentBak = new SaveStudentBak(); | |
| 100 | +// saveStudentBak.setCardNum(cardNum); | |
| 101 | +// saveStudentBak.setClientId(s); | |
| 102 | +// saveStudentBak.setUserId(userId); | |
| 103 | +// saveStudentBak.setName(name); | |
| 104 | +// saveStudentBak.setClassName(className); | |
| 105 | +// saveStudentBak.setStatus(2); | |
| 106 | +//// userDao.insertStudent(saveStudentBak); | |
| 107 | +// } | |
| 108 | +// } | |
| 109 | +// }); | |
| 110 | +// } | |
| 111 | +// | |
| 112 | +// public String splicingZero(String str, int totalLenght) { | |
| 113 | +// int strLenght = str.length(); | |
| 114 | +// String strReturn = str; | |
| 115 | +// for (int i = 0; i < totalLenght - strLenght; i++) { | |
| 116 | +// strReturn = "0" + strReturn; | |
| 117 | +// } | |
| 118 | +// return strReturn; | |
| 119 | +// } | |
| 120 | +// | |
| 121 | +// | |
| 122 | +// @Test | |
| 123 | +// public void delete() { | |
| 124 | +// Integer schoolId =27; | |
| 125 | +// Integer roomId = 11748; | |
| 126 | +// Integer type = 7; | |
| 127 | +// Integer outof = 1; | |
| 128 | +// Integer size = 66; | |
| 129 | +// String startTime= "2021-01-11 00:00:00"; | |
| 130 | +// String endTime ="2021-01-11 23:59:59"; | |
| 131 | +// List<String> studentIds = userDao.queryStudentIdList(schoolId,roomId); | |
| 132 | +// if(!CollectionUtils.isEmpty(studentIds)){ | |
| 133 | +// for(int i=0;i<=studentIds.size();i++){ | |
| 134 | +// if(i == size){ | |
| 135 | +// return; | |
| 136 | +// } | |
| 137 | +// StudentBean userInfoBean = userDao.getStudentWithid(studentIds.get(i)); | |
| 138 | +// if(userInfoBean!=null){ | |
| 139 | +// String cardNum = userInfoBean.getStudent_num(); | |
| 140 | +// System.out.println(i); | |
| 141 | +// sendRecordDao.deleteSS(schoolId,cardNum,type,outof,startTime,endTime); | |
| 142 | +// } | |
| 143 | +// } | |
| 144 | +// } | |
| 145 | +// } | |
| 146 | +// | |
| 147 | +// @Test | |
| 148 | +// public void delete2() { | |
| 149 | +// Integer schoolId =27; | |
| 150 | +// Integer roomId = 11748; | |
| 151 | +// Integer type = 12; | |
| 152 | +// Integer outof = 0; | |
| 153 | +// Integer size =62; | |
| 154 | +// String startTime= "2021-01-22 00:00:00"; | |
| 155 | +// String endTime ="2021-01-22 23:59:59"; | |
| 156 | +// List<String> studentIds = userDao.queryStudentIdList(schoolId,roomId); | |
| 157 | +// if(!CollectionUtils.isEmpty(studentIds)){ | |
| 158 | +// for(int i=0;i<=studentIds.size();i++){ | |
| 159 | +// if(i == size){ | |
| 160 | +// return; | |
| 161 | +// } | |
| 162 | +// StudentBean userInfoBean = userDao.getStudentWithid(studentIds.get(i)); | |
| 163 | +// if(userInfoBean!=null){ | |
| 164 | +// String cardNum = userInfoBean.getStudent_num(); | |
| 165 | +// System.out.println(i); | |
| 166 | +// sendRecordDao.deleteSS(schoolId,cardNum,type,outof,startTime,endTime); | |
| 167 | +// } | |
| 168 | +// } | |
| 169 | +// } | |
| 170 | +// } | |
| 171 | +// | |
| 172 | +// @Test | |
| 173 | +// public void test() { | |
| 174 | +// List<StudentBean> students = userDao.getStudentBySchoolId(12); | |
| 175 | +// int i = 0; | |
| 176 | +// for(StudentBean studentBean : students){ | |
| 177 | +// String time = DateUtils.date2String(new Date(),"yyyyMMddHHmm"); | |
| 178 | +// String randomString = RandomStringUtils.randomNumeric(4); | |
| 179 | +// String studentCode = "YX"+time+randomString+".png"; | |
| 180 | +// String photo = studentBean.getPhoto(); | |
| 181 | +// System.out.println("源文件:" + photo); | |
| 182 | +// //以学籍号为名的文件名 | |
| 183 | +// String fileName = photo.substring(photo.lastIndexOf("/") + 1,photo.length()); | |
| 184 | +// //100服务器人脸照绝对路径 | |
| 185 | +// //100服务器人脸照绝对路径 | |
| 186 | +// String path_1 = "E:\\wwwhtdocs\\SmartCampus\\face17e50\\School12\\Student"; | |
| 187 | +// String path_2 = "E:\\wwwhtdocs\\SmartCampus\\face17e5\\School12\\Student"; | |
| 188 | +// String path_3 = "E:\\wwwhtdocs\\SmartCampus\\f0i5l7e5\\"; | |
| 189 | +// String filePath =""; | |
| 190 | +// String filePath2 =""; | |
| 191 | +// if(photo.indexOf("f0i5l7e5")!=-1){ | |
| 192 | +// String afterStr = photo.split("f0i5l7e5/")[1].replace("/","\\"); | |
| 193 | +// filePath = path_3 + afterStr; | |
| 194 | +// filePath2 = path_3 + studentCode; | |
| 195 | +// } | |
| 196 | +// if(photo.indexOf("face17e5")!=-1){ | |
| 197 | +// filePath = path_2 + "\\" + fileName; | |
| 198 | +// filePath2 = path_2 + "\\" + studentCode; | |
| 199 | +// } | |
| 200 | +// if(photo.indexOf("face17e50")!=-1){ | |
| 201 | +// filePath = path_1 + "\\" + fileName; | |
| 202 | +// filePath2 = path_1 + "\\" + studentCode; | |
| 203 | +// } | |
| 204 | +// if(filePath.indexOf("?v=")!=-1){ | |
| 205 | +// filePath = filePath.split("\\?")[0]; | |
| 206 | +// } | |
| 207 | +// File file = new File(filePath.trim());//图片 | |
| 208 | +// if (file.exists()) { | |
| 209 | +// //原始文件路径 | |
| 210 | +// String srcPath = file.getAbsolutePath(); | |
| 211 | +// System.out.println("文件名:" + fileName + ", 学籍号:" + fileName.split("\\.")[0]); | |
| 212 | +// //复制文件 | |
| 213 | +// copy(srcPath,filePath2); | |
| 214 | +// String savePath = "http://campus.myjxt.com//" + filePath2; | |
| 215 | +// studentBean.setPhoto(savePath); | |
| 216 | +// userDao.updateUser(studentBean.getUser_id(), savePath); | |
| 217 | +// file.delete(); | |
| 218 | +// i++; | |
| 219 | +// } | |
| 220 | +// if(i==1){ | |
| 221 | +// System.out.println(filePath); | |
| 222 | +// return; | |
| 223 | +// } | |
| 224 | +// } | |
| 225 | +// } | |
| 226 | +// | |
| 227 | +// public static void copy(String srcPathStr, String desPathStr) { | |
| 228 | +// //获取源文件的名称 | |
| 229 | +// try { | |
| 230 | +// FileInputStream fis = new FileInputStream(srcPathStr);//创建输入流对象 | |
| 231 | +// FileOutputStream fos = new FileOutputStream(desPathStr); //创建输出流对象 | |
| 232 | +// byte datas[] = new byte[1024*8];//创建搬运工具 | |
| 233 | +// int len = 0;//创建长度 | |
| 234 | +// while((len = fis.read(datas))!=-1)//循环读取数据 | |
| 235 | +// { | |
| 236 | +// fos.write(datas,0,len); | |
| 237 | +// } | |
| 238 | +// fis.close();//释放资源 | |
| 239 | +// fis.close();//释放资源 | |
| 240 | +// } | |
| 241 | +// catch (Exception e) | |
| 242 | +// { | |
| 243 | +// e.printStackTrace(); | |
| 244 | +// } | |
| 245 | +// } | |
| 246 | +// | |
| 247 | +// | |
| 248 | +// @Test | |
| 249 | +// public void send2() { | |
| 250 | +// try { | |
| 251 | +// String api = "http://yixiao.198.hmkj.com.cn/index.php/Attend/send"; | |
| 252 | +// RestTemplate restTemplate = new RestTemplate(); | |
| 253 | +// MultiValueMap<String, Object> map = new LinkedMultiValueMap<>(); | |
| 254 | +// map.add("name", "测试"); | |
| 255 | +// map.add("xuehao", "1122"); | |
| 256 | +// map.add("time", "2022-02-10 09:09:00"); | |
| 257 | +// map.add("state", 1); | |
| 258 | +// HttpHeaders headers = new HttpHeaders(); | |
| 259 | +// headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); | |
| 260 | +// HttpEntity<MultiValueMap<String, Object>> param = new HttpEntity<>(map, headers); | |
| 261 | +// ResponseEntity<String> response = restTemplate.postForEntity(api, param, String.class); | |
| 262 | +// String body = response.getBody(); | |
| 263 | +// System.out.println(body); | |
| 264 | +// } catch (Exception e) { | |
| 265 | +// e.printStackTrace(); | |
| 266 | +// System.out.println("考勤失败"); | |
| 267 | +// } | |
| 268 | +// } | |
| 269 | +//} | ... | ... |