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 | package com.example.dahua.async; | 1 | package com.example.dahua.async; |
2 | 2 | ||
3 | import com.alibaba.fastjson.JSON; | 3 | import com.alibaba.fastjson.JSON; |
4 | +import com.alibaba.fastjson.JSONObject; | ||
4 | import com.example.dahua.MyTask; | 5 | import com.example.dahua.MyTask; |
5 | import com.example.dahua.bean.*; | 6 | import com.example.dahua.bean.*; |
6 | import com.example.dahua.dao.UserDao; | 7 | import com.example.dahua.dao.UserDao; |
@@ -116,7 +117,7 @@ public class SendUserInfoTask2 { | @@ -116,7 +117,7 @@ public class SendUserInfoTask2 { | ||
116 | */ | 117 | */ |
117 | pushCardAndFace(file, userInfoBean, deviceList,sendRecordBean.getUserType()+"",sendRecordBean.getFailType()); | 118 | pushCardAndFace(file, userInfoBean, deviceList,sendRecordBean.getUserType()+"",sendRecordBean.getFailType()); |
118 | } catch (Exception e) { | 119 | } catch (Exception e) { |
119 | - log.error("下发失败"); | 120 | + log.error("下发失败:{}",e); |
120 | return false; | 121 | return false; |
121 | } | 122 | } |
122 | return false; | 123 | return false; |
@@ -150,7 +151,7 @@ public class SendUserInfoTask2 { | @@ -150,7 +151,7 @@ public class SendUserInfoTask2 { | ||
150 | * @param failType | 151 | * @param failType |
151 | */ | 152 | */ |
152 | private synchronized void pushCardAndFace(String picSrc, UserInfoBean userInfoBean,List<String> deviceList,String userType, int failType) { | 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 | String facePath = compressPic(picSrc,userInfoBean.getStudentcode()); | 155 | String facePath = compressPic(picSrc,userInfoBean.getStudentcode()); |
155 | if(StringUtils.isEmpty(facePath)){ | 156 | if(StringUtils.isEmpty(facePath)){ |
156 | log.warn("压缩后图片路径为空!"); | 157 | log.warn("压缩后图片路径为空!"); |
cloud/dahua/src/main/java/com/example/dahua/service/imp/BaseService.java
@@ -216,7 +216,7 @@ public class BaseService { | @@ -216,7 +216,7 @@ public class BaseService { | ||
216 | } | 216 | } |
217 | 217 | ||
218 | public List<String> getDeviceList(String deviceIds,Integer schoolId){ | 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 | return userDao.selectDeviceBySchoolId(schoolId); | 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,7 +70,7 @@ public class UserOperateServiceImpl implements UserOperateService { | ||
70 | if(Objects.equals(faceBean.getUserType(),2)) studentBeans = baseService.getStudentByClassId(faceBean); | 70 | if(Objects.equals(faceBean.getUserType(),2)) studentBeans = baseService.getStudentByClassId(faceBean); |
71 | else studentBeans = baseService.getTeacherList(faceBean.getSchoolId()); | 71 | else studentBeans = baseService.getTeacherList(faceBean.getSchoolId()); |
72 | if(CollectionUtils.isEmpty(studentBeans)) return; | 72 | if(CollectionUtils.isEmpty(studentBeans)) return; |
73 | - log.info("统计共有下发用户数量:{}",studentBeans.size()); | 73 | + log.info("统计共有下发用户数量:{},下发设备数量:{}",studentBeans.size(),deviceList.size()); |
74 | //下发人脸 | 74 | //下发人脸 |
75 | sendFace(studentBeans,deviceList, faceBean.getSchoolId(), faceBean.getUserType()); | 75 | sendFace(studentBeans,deviceList, faceBean.getSchoolId(), faceBean.getUserType()); |
76 | } | 76 | } |
@@ -80,7 +80,7 @@ public class UserOperateServiceImpl implements UserOperateService { | @@ -80,7 +80,7 @@ public class UserOperateServiceImpl implements UserOperateService { | ||
80 | List<String> deviceList = baseService.getDeviceList(faceBean.getDeviceIds(),faceBean.getSchoolId()); | 80 | List<String> deviceList = baseService.getDeviceList(faceBean.getDeviceIds(),faceBean.getSchoolId()); |
81 | //根据类型获取下发用户信息 | 81 | //根据类型获取下发用户信息 |
82 | List<StudentBean> studentBeans = baseService.getStudentByRoomId(faceBean.getSchoolId(),faceBean.getRoomId()); | 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 | sendFace(studentBeans,deviceList, faceBean.getSchoolId(),faceBean.getUserType()); | 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,6 +81,7 @@ public class UserServiceImp implements UserService { | ||
81 | userInfoBean.setUser_id(teacher.getUser_id()); | 81 | userInfoBean.setUser_id(teacher.getUser_id()); |
82 | userInfoBean.setStudentcode(teacher.getNum()); | 82 | userInfoBean.setStudentcode(teacher.getNum()); |
83 | userInfoBean.setStudent_id(teacher.getTeacher_id()); | 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,7 +47,7 @@ public class HttpUtils { | ||
47 | multivaluedMap.add("studentCode", studentCode); | 47 | multivaluedMap.add("studentCode", studentCode); |
48 | multivaluedMap.add("userType", userType); | 48 | multivaluedMap.add("userType", userType); |
49 | if(!StringUtils.isEmpty(deviceId)){ | 49 | if(!StringUtils.isEmpty(deviceId)){ |
50 | - multivaluedMap.add("deviceIds", deviceId); | 50 | + multivaluedMap.add("deviceId", deviceId); |
51 | } | 51 | } |
52 | httpEntity = new HttpEntity<>(multivaluedMap, headers); | 52 | httpEntity = new HttpEntity<>(multivaluedMap, headers); |
53 | responseEntity = restTemplate.postForEntity(url, httpEntity, String.class); | 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 | +//} |