Commit 46343ee17efa6107cbcb04e8ce0965fd30852941
1 parent
f0ac21af
Exists in
master
no message
Showing
27 changed files
with
805 additions
and
448 deletions
Show diff stats
cloud/common/src/main/java/com/sincere/common/dto/admin/QuestionBean.java
0 → 100644
@@ -0,0 +1,275 @@ | @@ -0,0 +1,275 @@ | ||
1 | +package com.sincere.common.dto.admin; | ||
2 | + | ||
3 | +import java.io.Serializable; | ||
4 | + | ||
5 | +public class QuestionBean implements Serializable { | ||
6 | + | ||
7 | + private String ID; | ||
8 | + private String Question; | ||
9 | + | ||
10 | + private String Qtype; | ||
11 | + | ||
12 | + private String Answer; | ||
13 | + | ||
14 | + private String CorrectAnswer; | ||
15 | + | ||
16 | + private String Analysis; | ||
17 | + | ||
18 | + private String State; | ||
19 | + | ||
20 | + private String Intime; | ||
21 | + | ||
22 | + private String ExamineFlag; | ||
23 | + | ||
24 | + private String ExamineUserId; | ||
25 | + | ||
26 | + private String CreateUserId; | ||
27 | + | ||
28 | + private String SubjectId; | ||
29 | + | ||
30 | + private String SchoolId; | ||
31 | + | ||
32 | + private String DifficulteId; | ||
33 | + | ||
34 | + private String KnowledgeId; | ||
35 | + | ||
36 | + private String ChapterId; | ||
37 | + | ||
38 | + private String GradeId; | ||
39 | + | ||
40 | + private String SourceId; | ||
41 | + | ||
42 | + private String OrderId; | ||
43 | + | ||
44 | + private String SId; | ||
45 | + | ||
46 | + private String StemId; | ||
47 | + | ||
48 | + private String AutomaticCorrection; | ||
49 | + | ||
50 | + private String PkgId; | ||
51 | + | ||
52 | + private String PkgType; | ||
53 | + | ||
54 | + public String getQuestion() { | ||
55 | + return Question; | ||
56 | + } | ||
57 | + | ||
58 | + public void setQuestion(String question) { | ||
59 | + Question = question; | ||
60 | + } | ||
61 | + | ||
62 | + public String getQtype() { | ||
63 | + return Qtype; | ||
64 | + } | ||
65 | + | ||
66 | + public void setQtype(String qtype) { | ||
67 | + Qtype = qtype; | ||
68 | + } | ||
69 | + | ||
70 | + public String getAnswer() { | ||
71 | + return Answer; | ||
72 | + } | ||
73 | + | ||
74 | + public void setAnswer(String answer) { | ||
75 | + Answer = answer; | ||
76 | + } | ||
77 | + | ||
78 | + public String getCorrectAnswer() { | ||
79 | + return CorrectAnswer; | ||
80 | + } | ||
81 | + | ||
82 | + public void setCorrectAnswer(String correctAnswer) { | ||
83 | + CorrectAnswer = correctAnswer; | ||
84 | + } | ||
85 | + | ||
86 | + public String getAnalysis() { | ||
87 | + return Analysis; | ||
88 | + } | ||
89 | + | ||
90 | + public void setAnalysis(String analysis) { | ||
91 | + Analysis = analysis; | ||
92 | + } | ||
93 | + | ||
94 | + public String getState() { | ||
95 | + return State; | ||
96 | + } | ||
97 | + | ||
98 | + public void setState(String state) { | ||
99 | + State = state; | ||
100 | + } | ||
101 | + | ||
102 | + public String getIntime() { | ||
103 | + return Intime; | ||
104 | + } | ||
105 | + | ||
106 | + public void setIntime(String intime) { | ||
107 | + Intime = intime; | ||
108 | + } | ||
109 | + | ||
110 | + public String getExamineFlag() { | ||
111 | + return ExamineFlag; | ||
112 | + } | ||
113 | + | ||
114 | + public void setExamineFlag(String examineFlag) { | ||
115 | + ExamineFlag = examineFlag; | ||
116 | + } | ||
117 | + | ||
118 | + public String getExamineUserId() { | ||
119 | + return ExamineUserId; | ||
120 | + } | ||
121 | + | ||
122 | + public String getID() { | ||
123 | + return ID; | ||
124 | + } | ||
125 | + | ||
126 | + public void setID(String ID) { | ||
127 | + this.ID = ID; | ||
128 | + } | ||
129 | + | ||
130 | + public void setExamineUserId(String examineUserId) { | ||
131 | + ExamineUserId = examineUserId; | ||
132 | + } | ||
133 | + | ||
134 | + public String getCreateUserId() { | ||
135 | + return CreateUserId; | ||
136 | + } | ||
137 | + | ||
138 | + public void setCreateUserId(String createUserId) { | ||
139 | + CreateUserId = createUserId; | ||
140 | + } | ||
141 | + | ||
142 | + public String getSubjectId() { | ||
143 | + return SubjectId; | ||
144 | + } | ||
145 | + | ||
146 | + public void setSubjectId(String subjectId) { | ||
147 | + SubjectId = subjectId; | ||
148 | + } | ||
149 | + | ||
150 | + public String getSchoolId() { | ||
151 | + return SchoolId; | ||
152 | + } | ||
153 | + | ||
154 | + public void setSchoolId(String schoolId) { | ||
155 | + SchoolId = schoolId; | ||
156 | + } | ||
157 | + | ||
158 | + public String getDifficulteId() { | ||
159 | + return DifficulteId; | ||
160 | + } | ||
161 | + | ||
162 | + public void setDifficulteId(String difficulteId) { | ||
163 | + DifficulteId = difficulteId; | ||
164 | + } | ||
165 | + | ||
166 | + public String getKnowledgeId() { | ||
167 | + return KnowledgeId; | ||
168 | + } | ||
169 | + | ||
170 | + public void setKnowledgeId(String knowledgeId) { | ||
171 | + KnowledgeId = knowledgeId; | ||
172 | + } | ||
173 | + | ||
174 | + public String getChapterId() { | ||
175 | + return ChapterId; | ||
176 | + } | ||
177 | + | ||
178 | + public void setChapterId(String chapterId) { | ||
179 | + ChapterId = chapterId; | ||
180 | + } | ||
181 | + | ||
182 | + public String getGradeId() { | ||
183 | + return GradeId; | ||
184 | + } | ||
185 | + | ||
186 | + public void setGradeId(String gradeId) { | ||
187 | + GradeId = gradeId; | ||
188 | + } | ||
189 | + | ||
190 | + public String getSourceId() { | ||
191 | + return SourceId; | ||
192 | + } | ||
193 | + | ||
194 | + public void setSourceId(String sourceId) { | ||
195 | + SourceId = sourceId; | ||
196 | + } | ||
197 | + | ||
198 | + public String getOrderId() { | ||
199 | + return OrderId; | ||
200 | + } | ||
201 | + | ||
202 | + public void setOrderId(String orderId) { | ||
203 | + OrderId = orderId; | ||
204 | + } | ||
205 | + | ||
206 | + public String getSId() { | ||
207 | + return SId; | ||
208 | + } | ||
209 | + | ||
210 | + public void setSId(String SId) { | ||
211 | + this.SId = SId; | ||
212 | + } | ||
213 | + | ||
214 | + public String getStemId() { | ||
215 | + return StemId; | ||
216 | + } | ||
217 | + | ||
218 | + public void setStemId(String stemId) { | ||
219 | + StemId = stemId; | ||
220 | + } | ||
221 | + | ||
222 | + public String getAutomaticCorrection() { | ||
223 | + return AutomaticCorrection; | ||
224 | + } | ||
225 | + | ||
226 | + public void setAutomaticCorrection(String automaticCorrection) { | ||
227 | + AutomaticCorrection = automaticCorrection; | ||
228 | + } | ||
229 | + | ||
230 | + public String getPkgId() { | ||
231 | + return PkgId; | ||
232 | + } | ||
233 | + | ||
234 | + public void setPkgId(String pkgId) { | ||
235 | + PkgId = pkgId; | ||
236 | + } | ||
237 | + | ||
238 | + public String getPkgType() { | ||
239 | + return PkgType; | ||
240 | + } | ||
241 | + | ||
242 | + public void setPkgType(String pkgType) { | ||
243 | + PkgType = pkgType; | ||
244 | + } | ||
245 | + | ||
246 | + @Override | ||
247 | + public String toString() { | ||
248 | + return "QuestionBean{" + | ||
249 | + "ID='" + ID + '\'' + | ||
250 | + ", Question='" + Question + '\'' + | ||
251 | + ", Qtype='" + Qtype + '\'' + | ||
252 | + ", Answer='" + Answer + '\'' + | ||
253 | + ", CorrectAnswer='" + CorrectAnswer + '\'' + | ||
254 | + ", Analysis='" + Analysis + '\'' + | ||
255 | + ", State='" + State + '\'' + | ||
256 | + ", Intime='" + Intime + '\'' + | ||
257 | + ", ExamineFlag='" + ExamineFlag + '\'' + | ||
258 | + ", ExamineUserId='" + ExamineUserId + '\'' + | ||
259 | + ", CreateUserId='" + CreateUserId + '\'' + | ||
260 | + ", SubjectId='" + SubjectId + '\'' + | ||
261 | + ", SchoolId='" + SchoolId + '\'' + | ||
262 | + ", DifficulteId='" + DifficulteId + '\'' + | ||
263 | + ", KnowledgeId='" + KnowledgeId + '\'' + | ||
264 | + ", ChapterId='" + ChapterId + '\'' + | ||
265 | + ", GradeId='" + GradeId + '\'' + | ||
266 | + ", SourceId='" + SourceId + '\'' + | ||
267 | + ", OrderId='" + OrderId + '\'' + | ||
268 | + ", SId='" + SId + '\'' + | ||
269 | + ", StemId='" + StemId + '\'' + | ||
270 | + ", AutomaticCorrection='" + AutomaticCorrection + '\'' + | ||
271 | + ", PkgId='" + PkgId + '\'' + | ||
272 | + ", PkgType='" + PkgType + '\'' + | ||
273 | + '}'; | ||
274 | + } | ||
275 | +} |
cloud/dahua/pom.xml
@@ -31,12 +31,36 @@ | @@ -31,12 +31,36 @@ | ||
31 | </exclusions> | 31 | </exclusions> |
32 | </dependency> | 32 | </dependency> |
33 | 33 | ||
34 | - <dependency> | 34 | + <!-- <dependency> |
35 | <groupId>org.slf4j</groupId> | 35 | <groupId>org.slf4j</groupId> |
36 | <artifactId>slf4j-log4j12</artifactId> | 36 | <artifactId>slf4j-log4j12</artifactId> |
37 | <version>1.7.25</version> | 37 | <version>1.7.25</version> |
38 | <scope>compile</scope> | 38 | <scope>compile</scope> |
39 | - </dependency> | 39 | + </dependency>--> |
40 | + <dependency> | ||
41 | + <groupId>org.apache.logging.log4j</groupId> | ||
42 | + <artifactId>log4j-slf4j-impl</artifactId> | ||
43 | + <version>2.10.0</version> | ||
44 | + <scope>compile</scope> | ||
45 | + </dependency> | ||
46 | + <dependency> | ||
47 | + <groupId>org.apache.logging.log4j</groupId> | ||
48 | + <artifactId>log4j-core</artifactId> | ||
49 | + <version>2.10.0</version> | ||
50 | + <scope>compile</scope> | ||
51 | + </dependency> | ||
52 | + <dependency> | ||
53 | + <groupId>org.apache.logging.log4j</groupId> | ||
54 | + <artifactId>log4j-jul</artifactId> | ||
55 | + <version>2.10.0</version> | ||
56 | + <scope>compile</scope> | ||
57 | + </dependency> | ||
58 | + <dependency> | ||
59 | + <groupId>org.slf4j</groupId> | ||
60 | + <artifactId>jul-to-slf4j</artifactId> | ||
61 | + <version>1.7.25</version> | ||
62 | + <scope>compile</scope> | ||
63 | + </dependency> | ||
40 | 64 | ||
41 | <dependency> | 65 | <dependency> |
42 | <groupId>org.springframework.boot</groupId> | 66 | <groupId>org.springframework.boot</groupId> |
cloud/dahua/src/main/java/com/example/dahua/MyTask.java
1 | package com.example.dahua; | 1 | package com.example.dahua; |
2 | 2 | ||
3 | +import com.example.dahua.Gate.Gate; | ||
3 | import com.example.dahua.alarmListen.AlarmListenModule; | 4 | import com.example.dahua.alarmListen.AlarmListenModule; |
5 | +import com.example.dahua.bean.CardBean; | ||
4 | import com.example.dahua.bean.DeviceInfoBean; | 6 | import com.example.dahua.bean.DeviceInfoBean; |
7 | +import com.example.dahua.bean.TeacherBean; | ||
8 | +import com.example.dahua.bean.UserInfoBean; | ||
9 | +import com.example.dahua.dao.UserDao; | ||
5 | import com.example.dahua.lib.NetSDKLib; | 10 | import com.example.dahua.lib.NetSDKLib; |
6 | import com.example.dahua.lib.ToolKits; | 11 | import com.example.dahua.lib.ToolKits; |
7 | import com.example.dahua.lib.Utils; | 12 | import com.example.dahua.lib.Utils; |
@@ -51,15 +56,17 @@ public class MyTask implements ApplicationRunner { | @@ -51,15 +56,17 @@ public class MyTask implements ApplicationRunner { | ||
51 | //在线设备信息集合 | 56 | //在线设备信息集合 |
52 | private List<DeviceInfoBean> deviceInfoBeans = new ArrayList<>(); | 57 | private List<DeviceInfoBean> deviceInfoBeans = new ArrayList<>(); |
53 | 58 | ||
54 | - //存放设备的id和IP | ||
55 | - public static Map<String, String> devMap = new HashMap<>(); | ||
56 | - | ||
57 | //存放登录句柄 | 59 | //存放登录句柄 |
58 | public static Map<String, NetSDKLib.LLong> lLongMap = new HashMap<>(); | 60 | public static Map<String, NetSDKLib.LLong> lLongMap = new HashMap<>(); |
59 | 61 | ||
60 | @Autowired | 62 | @Autowired |
61 | SendRecordDao sendRecordDao; | 63 | SendRecordDao sendRecordDao; |
62 | 64 | ||
65 | + @Autowired | ||
66 | + UserDao userDao; | ||
67 | + | ||
68 | + public boolean isHasNewDevice = false;//判断是否有新设备上线 | ||
69 | + | ||
63 | @Override | 70 | @Override |
64 | public void run(ApplicationArguments args) throws Exception { | 71 | public void run(ApplicationArguments args) throws Exception { |
65 | // 121.40.109.21 | 72 | // 121.40.109.21 |
@@ -72,7 +79,6 @@ public class MyTask implements ApplicationRunner { | @@ -72,7 +79,6 @@ public class MyTask implements ApplicationRunner { | ||
72 | } | 79 | } |
73 | 80 | ||
74 | 81 | ||
75 | - | ||
76 | /** | 82 | /** |
77 | * 设备自注册 | 83 | * 设备自注册 |
78 | */ | 84 | */ |
@@ -95,7 +101,9 @@ public class MyTask implements ApplicationRunner { | @@ -95,7 +101,9 @@ public class MyTask implements ApplicationRunner { | ||
95 | attendanceService.updateConnectStateWithDevid(0, deviceId); | 101 | attendanceService.updateConnectStateWithDevid(0, deviceId); |
96 | GateModule.stopRealLoadPic(lLongMap.get(deviceId)); | 102 | GateModule.stopRealLoadPic(lLongMap.get(deviceId)); |
97 | lLongMap.remove(deviceId); | 103 | lLongMap.remove(deviceId); |
98 | - devMap.remove(deviceId); | 104 | +// devMap.remove(deviceId); |
105 | + removeDevice(deviceId); | ||
106 | + isHasNewDevice = true; | ||
99 | } | 107 | } |
100 | // AutoRegisterModule.logout() | 108 | // AutoRegisterModule.logout() |
101 | // 断线提示 | 109 | // 断线提示 |
@@ -111,8 +119,17 @@ public class MyTask implements ApplicationRunner { | @@ -111,8 +119,17 @@ public class MyTask implements ApplicationRunner { | ||
111 | String deviceId = getDeviceId(pchDVRIP, nDVRPort); | 119 | String deviceId = getDeviceId(pchDVRIP, nDVRPort); |
112 | if (!StringUtils.isEmpty(deviceId)) { | 120 | if (!StringUtils.isEmpty(deviceId)) { |
113 | attendanceService.updateConnectStateWithDevid(1, deviceId); | 121 | attendanceService.updateConnectStateWithDevid(1, deviceId); |
114 | - devMap.put(deviceId,""); | ||
115 | - lLongMap.put(deviceId,m_hLoginHandle); | 122 | +// devMap.put(deviceId,""); |
123 | + DeviceInfoBean deviceInfoBean = new DeviceInfoBean(); | ||
124 | + deviceInfoBean.setDevcieId(deviceId); | ||
125 | + deviceInfoBean.setDeviceIp(pchDVRIP); | ||
126 | + deviceInfoBean.setDevicePort(nDVRPort); | ||
127 | + deviceInfoBean.setLoginHandle(m_hLoginHandle); | ||
128 | + deviceInfoBean.setPassword(password); | ||
129 | + deviceInfoBean.setUsername(strUser); | ||
130 | + deviceInfoBeans.add(deviceInfoBean); | ||
131 | + lLongMap.put(deviceId, m_hLoginHandle); | ||
132 | + isHasNewDevice = true; | ||
116 | } | 133 | } |
117 | } | 134 | } |
118 | } | 135 | } |
@@ -134,6 +151,24 @@ public class MyTask implements ApplicationRunner { | @@ -134,6 +151,24 @@ public class MyTask implements ApplicationRunner { | ||
134 | return ""; | 151 | return ""; |
135 | } | 152 | } |
136 | 153 | ||
154 | + /** | ||
155 | + * 移除设备 | ||
156 | + * | ||
157 | + * @param deviceId | ||
158 | + */ | ||
159 | + private void removeDevice(String deviceId) { | ||
160 | + | ||
161 | + DeviceInfoBean deviceInfoBean = null; | ||
162 | + | ||
163 | + | ||
164 | + for (DeviceInfoBean dev : | ||
165 | + deviceInfoBeans) { | ||
166 | + if (dev.getDevcieId().equals(deviceId)) deviceInfoBean = dev; | ||
167 | + } | ||
168 | + | ||
169 | + if (null != deviceInfoBean) deviceInfoBeans.remove(deviceInfoBean); | ||
170 | + } | ||
171 | + | ||
137 | 172 | ||
138 | @Autowired | 173 | @Autowired |
139 | private AttendanceService attendanceService;//设备控制服务 | 174 | private AttendanceService attendanceService;//设备控制服务 |
@@ -170,20 +205,17 @@ public class MyTask implements ApplicationRunner { | @@ -170,20 +205,17 @@ public class MyTask implements ApplicationRunner { | ||
170 | * 主动注册调用的登录接口,获取登录句柄 | 205 | * 主动注册调用的登录接口,获取登录句柄 |
171 | */ | 206 | */ |
172 | NetSDKLib.LLong loginHandleLong = AutoRegisterModule.login(pIp, wPort, strUser, password, deviceId); | 207 | NetSDKLib.LLong loginHandleLong = AutoRegisterModule.login(pIp, wPort, strUser, password, deviceId); |
173 | -// reloadPicCallBack.reloadCallBack(loginHandleLong); | ||
174 | -// AlarmListenModule.startListen(cbMessage,loginHandleLong); | ||
175 | - FileUtils.getInstance().writeLogs("设备注册:"+deviceId+" 登录句柄:"+loginHandleLong,FileUtils.devices); | 208 | +// FileUtils.getInstance().writeLogs("设备注册:"+deviceId+" 登录句柄:"+loginHandleLong,FileUtils.devices); |
176 | if (loginHandleLong.longValue() != 0) { | 209 | if (loginHandleLong.longValue() != 0) { |
177 | -// System.out.println(String.format("Login Success [Device IP %s][port %s][DeviceID %s][loginHandleLong %s]\n", pIp, | ||
178 | -// wPort, deviceId,loginHandleLong)); | ||
179 | - devMap.put(deviceId, pIp + "," + wPort); | ||
180 | - lLongMap.put(deviceId,loginHandleLong); | 210 | + lLongMap.put(deviceId, loginHandleLong); |
211 | + isHasNewDevice = true; | ||
181 | String inTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); | 212 | String inTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); |
182 | int index = attendanceService.insert(deviceId, "22", pIp, wPort + "", inTime, "-1", "1"); | 213 | int index = attendanceService.insert(deviceId, "22", pIp, wPort + "", inTime, "-1", "1"); |
183 | DeviceInfoBean deviceInfoBean = new DeviceInfoBean(); | 214 | DeviceInfoBean deviceInfoBean = new DeviceInfoBean(); |
184 | deviceInfoBean.setDevcieId(deviceId); | 215 | deviceInfoBean.setDevcieId(deviceId); |
185 | deviceInfoBean.setDeviceIp(pIp); | 216 | deviceInfoBean.setDeviceIp(pIp); |
186 | deviceInfoBean.setDevicePort(wPort); | 217 | deviceInfoBean.setDevicePort(wPort); |
218 | + deviceInfoBean.setLoginHandle(loginHandleLong); | ||
187 | deviceInfoBeans.add(deviceInfoBean); | 219 | deviceInfoBeans.add(deviceInfoBean); |
188 | 220 | ||
189 | } else { | 221 | } else { |
@@ -199,52 +231,85 @@ public class MyTask implements ApplicationRunner { | @@ -199,52 +231,85 @@ public class MyTask implements ApplicationRunner { | ||
199 | return 0; | 231 | return 0; |
200 | } | 232 | } |
201 | } | 233 | } |
202 | - private ReloadPicCallBack reloadPicCallBack = new ReloadPicCallBack() { | ||
203 | - @Override | ||
204 | - public void reloadCallBack(NetSDKLib.LLong loginHandleLong) { | ||
205 | - //注册成功后进入订阅模式 | ||
206 | - GateModule.realLoadPic(0, analyzerCallback,loginHandleLong); | 234 | + |
235 | + public void reloadPic() { | ||
236 | + | ||
237 | + /* Set<String> set = lLongMap.keySet(); | ||
238 | + Iterator<String> iterator = set.iterator(); | ||
239 | + | ||
240 | + while (iterator.hasNext()){ | ||
241 | + String deviceId= iterator.next(); | ||
242 | + System.out.println("deviceId:"+deviceId+" llong:"+lLongMap.get(deviceId)); | ||
243 | + GateModule.stopRealLoadPic(lLongMap.get(deviceId)); | ||
244 | + GateModule.realLoadPic(0,analyzerCallback,lLongMap.get(deviceId)); | ||
245 | + }*/ | ||
246 | + | ||
247 | + for (DeviceInfoBean dev : | ||
248 | + deviceInfoBeans) { | ||
249 | + System.out.println("dev:" + dev.toString() + " -------llong:" + lLongMap.get(dev.getDevcieId())); | ||
250 | + FileUtils.getInstance().writeLogs(dev.getDevcieId() + "------" + lLongMap.get(dev.getDevcieId()), FileUtils.device_login); | ||
251 | + if (lLongMap.get(dev.getDevcieId()).intValue() > 0) | ||
252 | + GateModule.realLoadPic(0, analyzerCallback, lLongMap.get(dev.getDevcieId())); | ||
253 | + | ||
207 | } | 254 | } |
208 | - }; | ||
209 | - public interface ReloadPicCallBack{ | ||
210 | - void reloadCallBack(NetSDKLib.LLong loginHandleLong); | 255 | + |
256 | + isHasNewDevice = false; | ||
211 | } | 257 | } |
212 | 258 | ||
213 | 259 | ||
214 | //智能订阅 | 260 | //智能订阅 |
215 | private AnalyzerDataCB analyzerCallback = new AnalyzerDataCB(); | 261 | private AnalyzerDataCB analyzerCallback = new AnalyzerDataCB(); |
262 | + | ||
216 | private class AnalyzerDataCB implements NetSDKLib.fAnalyzerDataCallBack { | 263 | private class AnalyzerDataCB implements NetSDKLib.fAnalyzerDataCallBack { |
217 | private BufferedImage gateBufferedImage = null; | 264 | private BufferedImage gateBufferedImage = null; |
218 | 265 | ||
219 | public int invoke(NetSDKLib.LLong lAnalyzerHandle, int dwAlarmType, | 266 | public int invoke(NetSDKLib.LLong lAnalyzerHandle, int dwAlarmType, |
220 | Pointer pAlarmInfo, Pointer pBuffer, int dwBufSize, | 267 | Pointer pAlarmInfo, Pointer pBuffer, int dwBufSize, |
221 | - Pointer dwUser, int nSequence, Pointer reserved) | ||
222 | - { | 268 | + Pointer dwUser, int nSequence, Pointer reserved) { |
223 | if (lAnalyzerHandle.longValue() == 0 || pAlarmInfo == null) { | 269 | if (lAnalyzerHandle.longValue() == 0 || pAlarmInfo == null) { |
224 | return -1; | 270 | return -1; |
225 | } | 271 | } |
226 | 272 | ||
227 | - System.out.println("sda"); | ||
228 | - File path = new File("./GateSnapPicture/"); | 273 | + byte[] bufferBytes = new byte[dwBufSize]; |
274 | + | ||
275 | + pBuffer.read(0, bufferBytes, 0, dwBufSize); | ||
276 | + | ||
277 | + | ||
278 | + File path = new File("E:\\wwwhtdocs\\SmartCampus\\face17e50\\FaceRecoder"); | ||
229 | if (!path.exists()) { | 279 | if (!path.exists()) { |
230 | path.mkdir(); | 280 | path.mkdir(); |
231 | } | 281 | } |
232 | 282 | ||
233 | ///< 门禁事件 | 283 | ///< 门禁事件 |
234 | - if(dwAlarmType == NetSDKLib.EVENT_IVS_ACCESS_CTL) { | 284 | + if (dwAlarmType == NetSDKLib.EVENT_IVS_ACCESS_CTL) { |
235 | NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO msg = new NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO(); | 285 | NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO msg = new NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO(); |
236 | ToolKits.GetPointerData(pAlarmInfo, msg); | 286 | ToolKits.GetPointerData(pAlarmInfo, msg); |
237 | - | ||
238 | // 保存图片,获取图片缓存 | 287 | // 保存图片,获取图片缓存 |
239 | - String snapPicPath = path + "\\" + System.currentTimeMillis() + "GateSnapPicture.jpg"; // 保存图片地址 | 288 | + String snapPicPath = path + "\\" + System.currentTimeMillis() + ".png"; // 保存图片地址 |
240 | byte[] buffer = pBuffer.getByteArray(0, dwBufSize); | 289 | byte[] buffer = pBuffer.getByteArray(0, dwBufSize); |
241 | ByteArrayInputStream byteArrInputGlobal = new ByteArrayInputStream(buffer); | 290 | ByteArrayInputStream byteArrInputGlobal = new ByteArrayInputStream(buffer); |
242 | 291 | ||
243 | try { | 292 | try { |
293 | + System.out.println("sda:" + new String(msg.szCardNo) + " 抓拍照片存储地址:" + new String(msg.szSnapURL, "GBK").trim()); | ||
244 | gateBufferedImage = ImageIO.read(byteArrInputGlobal); | 294 | gateBufferedImage = ImageIO.read(byteArrInputGlobal); |
245 | - if(gateBufferedImage != null) { | ||
246 | - ImageIO.write(gateBufferedImage, "jpg", new File(snapPicPath)); | 295 | + if (gateBufferedImage != null) { |
296 | + ImageIO.write(gateBufferedImage, "png", new File(snapPicPath)); | ||
247 | } | 297 | } |
298 | + String card = new String(msg.szCardNo).trim(); | ||
299 | + if (!StringUtils.isEmpty(card)) { | ||
300 | + card=cardNo(card); | ||
301 | + CardBean cardBean = userDao.getCards(card);//根据卡号获取身份信息 | ||
302 | + String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); | ||
303 | + snapPicPath = snapPicPath.replace("E:\\wwwhtdocs\\SmartCampus", "http://campus.myjxt.com"); | ||
304 | + if (cardBean.getType() == 0) {//老师 | ||
305 | + TeacherBean teacherBean = userDao.getTeacherWithId(cardBean.getUser_id()); | ||
306 | + sendRecordDao.addFaceRecoder("", teacherBean.getUser_id(), teacherBean.getName(), snapPicPath, 1, time, card); | ||
307 | + } else if (cardBean.getType() == 2) {//学生 | ||
308 | + UserInfoBean userInfoBean = userDao.getStudentWithid(cardBean.getUser_id()); | ||
309 | + sendRecordDao.addFaceRecoder("", userInfoBean.getUser_id(), userInfoBean.getName(), snapPicPath, 1, time, card); | ||
310 | + } | ||
311 | + } | ||
312 | + | ||
248 | } catch (IOException e2) { | 313 | } catch (IOException e2) { |
249 | e2.printStackTrace(); | 314 | e2.printStackTrace(); |
250 | } | 315 | } |
@@ -262,60 +327,27 @@ public class MyTask implements ApplicationRunner { | @@ -262,60 +327,27 @@ public class MyTask implements ApplicationRunner { | ||
262 | } | 327 | } |
263 | } | 328 | } |
264 | 329 | ||
330 | + /** | ||
331 | + * 卡号两两取反 | ||
332 | + * | ||
333 | + * @param cardDex | ||
334 | + * @return | ||
335 | + */ | ||
336 | + public String cardNo(String cardDex) { | ||
265 | 337 | ||
266 | - private fAlarmDataCB cbMessage = new fAlarmDataCB(); | ||
267 | - | ||
268 | - | ||
269 | - private class fAlarmDataCB implements NetSDKLib.fMessCallBack{ | ||
270 | - | ||
271 | - @Override | ||
272 | - public boolean invoke(int lCommand, NetSDKLib.LLong lLoginID, | ||
273 | - Pointer pStuEvent, int dwBufLen, String strDeviceIP, | ||
274 | - NativeLong nDevicePort, Pointer dwUser) { | ||
275 | - | ||
276 | - /* byte[] alarm = new byte[dwBufLen]; | ||
277 | - pStuEvent.read(0, alarm, 0, dwBufLen); | ||
278 | - try { | ||
279 | - String alarmStr=new String(alarm,"GBK"); | ||
280 | - System.out.println("报警信息:"+alarmStr); | ||
281 | - } catch (UnsupportedEncodingException e) { | ||
282 | - e.printStackTrace(); | ||
283 | - } | ||
284 | - | ||
285 | - switch (lCommand) { | ||
286 | - case NetSDKLib.NET_ALARM_ALARM_EX: | ||
287 | - case NetSDKLib.NET_MOTION_ALARM_EX: | ||
288 | - case NetSDKLib.NET_VIDEOLOST_ALARM_EX: | ||
289 | - case NetSDKLib.NET_SHELTER_ALARM_EX: | ||
290 | - case NetSDKLib.NET_DISKFULL_ALARM_EX: | ||
291 | - case NetSDKLib.NET_DISKERROR_ALARM_EX: { | ||
292 | - String content = ""; | ||
293 | - for (int i = 0; i < dwBufLen; i++) { | ||
294 | - if (alarm[i] == 1) { | ||
295 | - byte c = alarm[i]; | ||
296 | - content+=String.valueOf(c); | ||
297 | -// AlarmEventInfo alarmEventInfo = new AlarmEventInfo(i, lCommand, AlarmStatus.ALARM_START); | ||
298 | -// if (!data.contains(alarmEventInfo)) { | ||
299 | -// data.add(alarmEventInfo); | ||
300 | -// eventQueue.postEvent(new AlarmListenEvent(target, alarmEventInfo)); | ||
301 | -// } | ||
302 | - }else { | ||
303 | -// AlarmEventInfo alarmEventInfo = new AlarmEventInfo(i, lCommand, AlarmStatus.ALARM_STOP); | ||
304 | -// if (data.remove(alarmEventInfo)) { | ||
305 | -// eventQueue.postEvent(new AlarmListenEvent(target, alarmEventInfo)); | ||
306 | -// } | ||
307 | - } | ||
308 | - } | ||
309 | - | ||
310 | - System.out.println("content:"+content); | ||
311 | - break; | ||
312 | - } | ||
313 | - default: | ||
314 | - break; | 338 | + String cardR = ""; |
339 | + int length = cardDex.length(); | ||
340 | + if (length != 8) { | ||
341 | + System.out.println("卡号格式不正确:" + cardDex); | ||
342 | + return cardDex; | ||
343 | + } | ||
344 | + while (length > 0) { | ||
345 | + length -= 2; | ||
346 | + cardR += cardDex.substring(length, length + 2); | ||
347 | + } | ||
315 | 348 | ||
316 | - }*/ | 349 | + return cardR; |
317 | 350 | ||
318 | - return true; | ||
319 | - } | ||
320 | } | 351 | } |
352 | + | ||
321 | } | 353 | } |
cloud/dahua/src/main/java/com/example/dahua/async/MyScheduledTask.java
1 | package com.example.dahua.async; | 1 | package com.example.dahua.async; |
2 | 2 | ||
3 | +import com.example.dahua.MyTask; | ||
3 | import com.example.dahua.bean.SendRecordBean; | 4 | import com.example.dahua.bean.SendRecordBean; |
4 | import com.example.dahua.bean.StudentBean; | 5 | import com.example.dahua.bean.StudentBean; |
5 | import com.example.dahua.bean.UserInfoBean; | 6 | import com.example.dahua.bean.UserInfoBean; |
@@ -36,7 +37,6 @@ import java.util.List; | @@ -36,7 +37,6 @@ import java.util.List; | ||
36 | @EnableScheduling | 37 | @EnableScheduling |
37 | public class MyScheduledTask { | 38 | public class MyScheduledTask { |
38 | 39 | ||
39 | - | ||
40 | @Autowired | 40 | @Autowired |
41 | SendRecordDao sendRecordDao; | 41 | SendRecordDao sendRecordDao; |
42 | 42 | ||
@@ -44,16 +44,19 @@ public class MyScheduledTask { | @@ -44,16 +44,19 @@ public class MyScheduledTask { | ||
44 | UserDao userDao; | 44 | UserDao userDao; |
45 | 45 | ||
46 | @Autowired | 46 | @Autowired |
47 | - SendUserInfoTask myTask; | 47 | + SendUserInfoTask sendUserInfoTask; |
48 | + | ||
49 | + @Autowired | ||
50 | + MyTask myTasks; | ||
48 | 51 | ||
49 | - @Value("${haikangpic}") | ||
50 | - private String haikangpic; | 52 | +// @Value("${haikangpic}") |
53 | +// private String haikangpic; | ||
51 | 54 | ||
52 | - public boolean isSendHaikang = false; | 55 | + public static boolean isSendHaikang = false; |
53 | 56 | ||
54 | - public boolean isSendWeigeng = false; | 57 | + public static boolean isSendWeigeng = false; |
55 | 58 | ||
56 | - public boolean isSendDahua = false; | 59 | + public static boolean isSendDahua = false; |
57 | 60 | ||
58 | private boolean isClose = true, isCloseYT = true;//判断是否关机 | 61 | private boolean isClose = true, isCloseYT = true;//判断是否关机 |
59 | 62 | ||
@@ -92,8 +95,8 @@ public class MyScheduledTask { | @@ -92,8 +95,8 @@ public class MyScheduledTask { | ||
92 | isClose = false; | 95 | isClose = false; |
93 | close(30, 479);//关闭 | 96 | close(30, 479);//关闭 |
94 | } | 97 | } |
95 | - if (hour >= 9 && hour < 11) { | ||
96 | 98 | ||
99 | + if (hour >= 9 && hour < 11) { | ||
97 | dealData(); | 100 | dealData(); |
98 | } else if (hour >= 13 && hour < 14) { | 101 | } else if (hour >= 13 && hour < 14) { |
99 | dealData(); | 102 | dealData(); |
@@ -101,6 +104,7 @@ public class MyScheduledTask { | @@ -101,6 +104,7 @@ public class MyScheduledTask { | ||
101 | dealData(); | 104 | dealData(); |
102 | } | 105 | } |
103 | 106 | ||
107 | + if (myTasks.isHasNewDevice)myTasks.reloadPic(); | ||
104 | 108 | ||
105 | } | 109 | } |
106 | 110 | ||
@@ -170,7 +174,7 @@ public class MyScheduledTask { | @@ -170,7 +174,7 @@ public class MyScheduledTask { | ||
170 | //System.out.println("isSendWeigeng:"+isSendWeigeng+"isSendHaikang:"+isSendHaikang+"isSendDahua:"+isSendDahua); | 174 | //System.out.println("isSendWeigeng:"+isSendWeigeng+"isSendHaikang:"+isSendHaikang+"isSendDahua:"+isSendDahua); |
171 | if (!isSendWeigeng) { | 175 | if (!isSendWeigeng) { |
172 | isSendWeigeng = true; | 176 | isSendWeigeng = true; |
173 | - myTask.addWeiGen(); | 177 | + sendUserInfoTask.addWeiGen(); |
174 | } | 178 | } |
175 | 179 | ||
176 | /** | 180 | /** |
@@ -178,7 +182,7 @@ public class MyScheduledTask { | @@ -178,7 +182,7 @@ public class MyScheduledTask { | ||
178 | */ | 182 | */ |
179 | if (!isSendHaikang) { | 183 | if (!isSendHaikang) { |
180 | isSendHaikang = true; | 184 | isSendHaikang = true; |
181 | - myTask.addHaikangface(); | 185 | + sendUserInfoTask.addHaikangface(); |
182 | } | 186 | } |
183 | 187 | ||
184 | /** | 188 | /** |
@@ -186,7 +190,7 @@ public class MyScheduledTask { | @@ -186,7 +190,7 @@ public class MyScheduledTask { | ||
186 | */ | 190 | */ |
187 | if (!isSendDahua) { | 191 | if (!isSendDahua) { |
188 | isSendDahua = true; | 192 | isSendDahua = true; |
189 | - myTask.addDahuaFace(); | 193 | + sendUserInfoTask.addDahuaFace(); |
190 | } | 194 | } |
191 | 195 | ||
192 | } | 196 | } |
cloud/dahua/src/main/java/com/example/dahua/async/SendUserInfoTask.java
@@ -43,9 +43,6 @@ public class SendUserInfoTask { | @@ -43,9 +43,6 @@ public class SendUserInfoTask { | ||
43 | @Autowired | 43 | @Autowired |
44 | SendRecordDao sendRecordDao; | 44 | SendRecordDao sendRecordDao; |
45 | 45 | ||
46 | - @Autowired | ||
47 | - MyScheduledTask myScheduledTask; | ||
48 | - | ||
49 | @Async("taskExecutor") | 46 | @Async("taskExecutor") |
50 | public void doTaskOne(String file, List<AttendanceBean> attendanceBeans, UserInfoBean userInfoBean, String schoolId, int failType) throws Exception { | 47 | public void doTaskOne(String file, List<AttendanceBean> attendanceBeans, UserInfoBean userInfoBean, String schoolId, int failType) throws Exception { |
51 | File studentFile = new File(file); | 48 | File studentFile = new File(file); |
@@ -298,7 +295,7 @@ public class SendUserInfoTask { | @@ -298,7 +295,7 @@ public class SendUserInfoTask { | ||
298 | 295 | ||
299 | NetSDKLib.LLong loginHandleLong = MyTask.lLongMap.get(attendanceBean.getClint_id()); | 296 | NetSDKLib.LLong loginHandleLong = MyTask.lLongMap.get(attendanceBean.getClint_id()); |
300 | // System.out.println("loginHandleLong:" + loginHandleLong + MyTask.lLongMap.toString() + " 设备ID:" + attendanceBean.getClint_id()); | 297 | // System.out.println("loginHandleLong:" + loginHandleLong + MyTask.lLongMap.toString() + " 设备ID:" + attendanceBean.getClint_id()); |
301 | - | 298 | +// System.out.println("loginHandleLong:" +loginHandleLong); |
302 | if (loginHandleLong == null) { | 299 | if (loginHandleLong == null) { |
303 | FileUtils.getInstance().writeLogs("设备不在线:" + attendanceBean.getClint_id(), FileUtils.devices); | 300 | FileUtils.getInstance().writeLogs("设备不在线:" + attendanceBean.getClint_id(), FileUtils.devices); |
304 | String deviceId = sendRecordDao.getFailIsExit(attendanceBean.getClint_id(), attendanceBean.getSchool_id()); | 301 | String deviceId = sendRecordDao.getFailIsExit(attendanceBean.getClint_id(), attendanceBean.getSchool_id()); |
@@ -317,11 +314,6 @@ public class SendUserInfoTask { | @@ -317,11 +314,6 @@ public class SendUserInfoTask { | ||
317 | GateModule.deleteCard(bCardFlags, loginHandleLong); | 314 | GateModule.deleteCard(bCardFlags, loginHandleLong); |
318 | userDao.deleteRecordNo(user_id, bCardFlags); | 315 | userDao.deleteRecordNo(user_id, bCardFlags); |
319 | 316 | ||
320 | -// boolean update = GateModule.modifyCard(bCardFlags, cardNum, userInfoBean.getUser_id(), userInfoBean.getName(), "123456" | ||
321 | -// , Res.string().getCardStatusInt(1), Res.string().getCardTypeInt(1), 0, 0 | ||
322 | -// , 1, startTime, endTime, loginHandleLong); | ||
323 | -// System.out.println("update:" + update); | ||
324 | - | ||
325 | bCardFlags = GateModule.insertCard(cardNum, user_id, name, "123456" | 317 | bCardFlags = GateModule.insertCard(cardNum, user_id, name, "123456" |
326 | , Res.string().getCardStatusInt(1), Res.string().getCardTypeInt(1), 0, 0 | 318 | , Res.string().getCardStatusInt(1), Res.string().getCardTypeInt(1), 0, 0 |
327 | , 1, startTime, endTime, loginHandleLong); | 319 | , 1, startTime, endTime, loginHandleLong); |
@@ -378,7 +370,8 @@ public class SendUserInfoTask { | @@ -378,7 +370,8 @@ public class SendUserInfoTask { | ||
378 | // 添加卡信息和人脸失败 | 370 | // 添加卡信息和人脸失败 |
379 | if (bCardFlags == -1 && !bFaceFalgs) { | 371 | if (bCardFlags == -1 && !bFaceFalgs) { |
380 | FileUtils.getInstance().writeLogs("下发人脸和卡号失败:" + cardNum + " " + attendanceBean.getClint_id(), FileUtils.sendUserErrTxt); | 372 | FileUtils.getInstance().writeLogs("下发人脸和卡号失败:" + cardNum + " " + attendanceBean.getClint_id(), FileUtils.sendUserErrTxt); |
381 | - System.out.println("添加卡信息和人脸失败"); | 373 | +// System.out.println("添加卡信息和人脸失败"); |
374 | + System.out.println("下发人脸和卡号失败" + "sendRecordBean:" + sendRecordBean); | ||
382 | sendRecordBean.setFailContent("下发人脸和卡号失败"); | 375 | sendRecordBean.setFailContent("下发人脸和卡号失败"); |
383 | sendRecordDao.updateFace(sendRecordBean.getNum(), sendRecordBean.getDeviceID(), sendRecordBean.getFailType(), 7);//更新下发失败状态 | 376 | sendRecordDao.updateFace(sendRecordBean.getNum(), sendRecordBean.getDeviceID(), sendRecordBean.getFailType(), 7);//更新下发失败状态 |
384 | sendRecordBean.setFailType(8); | 377 | sendRecordBean.setFailType(8); |
@@ -425,7 +418,7 @@ public class SendUserInfoTask { | @@ -425,7 +418,7 @@ public class SendUserInfoTask { | ||
425 | // } | 418 | // } |
426 | } | 419 | } |
427 | 420 | ||
428 | - private String cardNo(String cardDex) { | 421 | + public String cardNo(String cardDex) { |
429 | 422 | ||
430 | String cardR = ""; | 423 | String cardR = ""; |
431 | int length = cardDex.length(); | 424 | int length = cardDex.length(); |
@@ -438,7 +431,6 @@ public class SendUserInfoTask { | @@ -438,7 +431,6 @@ public class SendUserInfoTask { | ||
438 | cardR += cardDex.substring(length, length + 2); | 431 | cardR += cardDex.substring(length, length + 2); |
439 | } | 432 | } |
440 | 433 | ||
441 | -// return Long.parseLong(cardR, 16) + ""; | ||
442 | return cardR; | 434 | return cardR; |
443 | 435 | ||
444 | } | 436 | } |
@@ -520,7 +512,7 @@ public class SendUserInfoTask { | @@ -520,7 +512,7 @@ public class SendUserInfoTask { | ||
520 | String customerID = customerIDs.get(i); | 512 | String customerID = customerIDs.get(i); |
521 | addKard(customerID, "2");//微耕 | 513 | addKard(customerID, "2");//微耕 |
522 | } | 514 | } |
523 | - myScheduledTask.isSendWeigeng = false; | 515 | + MyScheduledTask.isSendWeigeng = false; |
524 | } | 516 | } |
525 | 517 | ||
526 | String url = "http://campus.myjxt.com/api/OneCard/UpdateDataBK"; | 518 | String url = "http://campus.myjxt.com/api/OneCard/UpdateDataBK"; |
@@ -580,7 +572,7 @@ public class SendUserInfoTask { | @@ -580,7 +572,7 @@ public class SendUserInfoTask { | ||
580 | System.out.println("下发失败:" + url); | 572 | System.out.println("下发失败:" + url); |
581 | } | 573 | } |
582 | } | 574 | } |
583 | - myScheduledTask.isSendHaikang = false; | 575 | + MyScheduledTask.isSendHaikang = false; |
584 | 576 | ||
585 | } | 577 | } |
586 | 578 | ||
@@ -611,7 +603,7 @@ public class SendUserInfoTask { | @@ -611,7 +603,7 @@ public class SendUserInfoTask { | ||
611 | } | 603 | } |
612 | } | 604 | } |
613 | 605 | ||
614 | - myScheduledTask.isSendDahua = false; | 606 | + MyScheduledTask.isSendDahua = false; |
615 | } | 607 | } |
616 | 608 | ||
617 | private void senfaceToDahua(SendRecordBean sendRecordBean) { | 609 | private void senfaceToDahua(SendRecordBean sendRecordBean) { |
cloud/dahua/src/main/java/com/example/dahua/bean/CardBean.java
0 → 100644
@@ -0,0 +1,45 @@ | @@ -0,0 +1,45 @@ | ||
1 | +package com.example.dahua.bean; | ||
2 | + | ||
3 | +import java.io.Serializable; | ||
4 | + | ||
5 | +public class CardBean implements Serializable { | ||
6 | + | ||
7 | + private String num; | ||
8 | + | ||
9 | + private int type;//0:老师;2:学生 | ||
10 | + | ||
11 | + private String user_id;//student_id或者teacher_id | ||
12 | + | ||
13 | + public String getNum() { | ||
14 | + return num; | ||
15 | + } | ||
16 | + | ||
17 | + public void setNum(String num) { | ||
18 | + this.num = num; | ||
19 | + } | ||
20 | + | ||
21 | + public int getType() { | ||
22 | + return type; | ||
23 | + } | ||
24 | + | ||
25 | + public void setType(int type) { | ||
26 | + this.type = type; | ||
27 | + } | ||
28 | + | ||
29 | + public String getUser_id() { | ||
30 | + return user_id; | ||
31 | + } | ||
32 | + | ||
33 | + public void setUser_id(String user_id) { | ||
34 | + this.user_id = user_id; | ||
35 | + } | ||
36 | + | ||
37 | + @Override | ||
38 | + public String toString() { | ||
39 | + return "CardBean{" + | ||
40 | + "num='" + num + '\'' + | ||
41 | + ", type=" + type + | ||
42 | + ", user_id='" + user_id + '\'' + | ||
43 | + '}'; | ||
44 | + } | ||
45 | +} |
cloud/dahua/src/main/java/com/example/dahua/bean/DeviceInfoBean.java
@@ -52,4 +52,16 @@ public class DeviceInfoBean { | @@ -52,4 +52,16 @@ public class DeviceInfoBean { | ||
52 | public void setLoginHandle(NetSDKLib.LLong loginHandle) { | 52 | public void setLoginHandle(NetSDKLib.LLong loginHandle) { |
53 | this.loginHandle = loginHandle; | 53 | this.loginHandle = loginHandle; |
54 | } | 54 | } |
55 | + | ||
56 | + @Override | ||
57 | + public String toString() { | ||
58 | + return "DeviceInfoBean{" + | ||
59 | + "devcieId='" + devcieId + '\'' + | ||
60 | + ", username='" + username + '\'' + | ||
61 | + ", password='" + password + '\'' + | ||
62 | + ", deviceIp='" + deviceIp + '\'' + | ||
63 | + ", port=" + port + | ||
64 | + ", loginHandle=" + loginHandle + | ||
65 | + '}'; | ||
66 | + } | ||
55 | } | 67 | } |
cloud/dahua/src/main/java/com/example/dahua/control/HelpControl.java
@@ -1,113 +0,0 @@ | @@ -1,113 +0,0 @@ | ||
1 | -package com.example.dahua.control; | ||
2 | - | ||
3 | -import io.swagger.annotations.Api; | ||
4 | -import io.swagger.annotations.ApiImplicitParam; | ||
5 | -import io.swagger.annotations.ApiImplicitParams; | ||
6 | -import io.swagger.annotations.ApiOperation; | ||
7 | -import org.apache.poi.hssf.usermodel.HSSFCell; | ||
8 | -import org.apache.poi.hssf.usermodel.HSSFRow; | ||
9 | -import org.apache.poi.hssf.usermodel.HSSFSheet; | ||
10 | -import org.apache.poi.hssf.usermodel.HSSFWorkbook; | ||
11 | -import org.springframework.web.bind.annotation.RequestMapping; | ||
12 | -import org.springframework.web.bind.annotation.RequestMethod; | ||
13 | -import org.springframework.web.bind.annotation.RequestParam; | ||
14 | -import org.springframework.web.bind.annotation.RestController; | ||
15 | - | ||
16 | -import java.io.File; | ||
17 | -import java.io.FileOutputStream; | ||
18 | -import java.io.IOException; | ||
19 | -import java.util.ArrayList; | ||
20 | -import java.util.List; | ||
21 | -import java.util.Map; | ||
22 | - | ||
23 | -@RestController("/help/") | ||
24 | -@Api(tags = "辅助工具") | ||
25 | -@RequestMapping("/help/") | ||
26 | -public class HelpControl { | ||
27 | - | ||
28 | - | ||
29 | - @RequestMapping(value = "createFile", method = RequestMethod.GET) | ||
30 | - @ApiOperation(value = "生成文件") | ||
31 | - @ApiImplicitParams({@ApiImplicitParam(name = "file", value = "根目录")}) | ||
32 | - public String createFile(@RequestParam("file") String file) { | ||
33 | -// System.out.println("count:" + (count++)); | ||
34 | - | ||
35 | - //第一步,创建一个workbook对应一个excel文件 | ||
36 | - HSSFWorkbook workbook = new HSSFWorkbook(); | ||
37 | - | ||
38 | - File file1 = new File(file); | ||
39 | - | ||
40 | - File[] files = file1.listFiles(); | ||
41 | - | ||
42 | - List<String> list = new ArrayList<>(); | ||
43 | - | ||
44 | - for (int i = 0; i < files.length; i++) { | ||
45 | - File file2 = files[i]; | ||
46 | - | ||
47 | - if (file2.isDirectory()) { | ||
48 | - | ||
49 | - File[] file3 = file2.listFiles(); | ||
50 | - for (int j = 0; j < file3.length; j++) { | ||
51 | - File file4 = file3[j]; | ||
52 | - String fileName = file4.getName(); | ||
53 | - String fileDirName = file2.getName(); | ||
54 | - list.add(fileDirName+","+fileName); | ||
55 | - } | ||
56 | - | ||
57 | - }else if (file2.isFile()){ | ||
58 | - String fileName = file2.getName() ; | ||
59 | - String fileDirName = file1.getName(); | ||
60 | - list.add(fileDirName+","+fileName); | ||
61 | - } | ||
62 | - | ||
63 | - } | ||
64 | - | ||
65 | - | ||
66 | - return writeToExcel(workbook,"文件",list).getAbsolutePath(); | ||
67 | - } | ||
68 | - | ||
69 | - | ||
70 | - private File writeToExcel(HSSFWorkbook workbook, String sheetName, List<String> values) { | ||
71 | - //第二部,在workbook中创建一个sheet对应excel中的sheet | ||
72 | - HSSFSheet sheet = workbook.createSheet(sheetName); | ||
73 | - //第三部,在sheet表中添加表头第0行,老版本的poi对sheet的行列有限制 | ||
74 | - HSSFRow row = sheet.createRow(0); | ||
75 | - //第四步,创建单元格,设置表头 | ||
76 | - HSSFCell cell = null; | ||
77 | - for (int i = 0; i < 2; i++) { | ||
78 | - cell = row.createCell(i); | ||
79 | - if (i == 0) | ||
80 | - cell.setCellValue("目录名称"); | ||
81 | - else if (i==1) | ||
82 | - cell.setCellValue("文件名称"); | ||
83 | - } | ||
84 | - | ||
85 | - //第五步,写入数据 | ||
86 | - for (int i = 0; i < values.size(); i++) { | ||
87 | - | ||
88 | - HSSFRow row1 = sheet.createRow(i + 1); | ||
89 | - String value = values.get(i); | ||
90 | - | ||
91 | - row1.createCell(0).setCellValue(value.split(",")[0]); | ||
92 | - row1.createCell(1).setCellValue(value.split(",")[1]); | ||
93 | - } | ||
94 | - | ||
95 | - //将文件保存到指定的位置 | ||
96 | - try { | ||
97 | - File file = new File("./file/"); | ||
98 | - if (!file.exists()) file.mkdirs(); | ||
99 | - | ||
100 | - File file1 = new File(file.getAbsolutePath(), sheetName + ".xls"); | ||
101 | - if (!file1.exists()) file1.createNewFile(); | ||
102 | - FileOutputStream fos = new FileOutputStream(file1); | ||
103 | - workbook.write(fos); | ||
104 | - System.out.println("写入成功"); | ||
105 | - fos.close(); | ||
106 | - return file1; | ||
107 | - } catch (IOException e) { | ||
108 | - e.printStackTrace(); | ||
109 | - } | ||
110 | - return null; | ||
111 | - } | ||
112 | - | ||
113 | -} |
cloud/dahua/src/main/java/com/example/dahua/control/UserControl.java
1 | package com.example.dahua.control; | 1 | package com.example.dahua.control; |
2 | 2 | ||
3 | +import com.example.dahua.MyTask; | ||
3 | import com.example.dahua.async.ImageUtils; | 4 | import com.example.dahua.async.ImageUtils; |
4 | import com.example.dahua.async.SendUserInfoTask; | 5 | import com.example.dahua.async.SendUserInfoTask; |
5 | import com.example.dahua.lib.CompressPic; | 6 | import com.example.dahua.lib.CompressPic; |
@@ -49,8 +50,11 @@ public class UserControl { | @@ -49,8 +50,11 @@ public class UserControl { | ||
49 | @Autowired | 50 | @Autowired |
50 | SendUserInfoTask sendUserInfoTask; | 51 | SendUserInfoTask sendUserInfoTask; |
51 | 52 | ||
52 | - @Value("${haikangfaceurl}") | ||
53 | - private String haikangfaceurl; | 53 | + @Autowired |
54 | + MyTask myTasks; | ||
55 | + | ||
56 | +// @Value("${haikangfaceurl}") | ||
57 | +// private String haikangfaceurl; | ||
54 | 58 | ||
55 | @RequestMapping(value = "uploadImgAndUserInfo", method = RequestMethod.GET) | 59 | @RequestMapping(value = "uploadImgAndUserInfo", method = RequestMethod.GET) |
56 | @ApiOperation(value = "上传用户信息") | 60 | @ApiOperation(value = "上传用户信息") |
@@ -369,7 +373,6 @@ public class UserControl { | @@ -369,7 +373,6 @@ public class UserControl { | ||
369 | 373 | ||
370 | sendUserInfoTask.deleteFace(cardNum, deviceId); | 374 | sendUserInfoTask.deleteFace(cardNum, deviceId); |
371 | 375 | ||
372 | - | ||
373 | } | 376 | } |
374 | 377 | ||
375 | 378 | ||
@@ -381,6 +384,14 @@ public class UserControl { | @@ -381,6 +384,14 @@ public class UserControl { | ||
381 | 384 | ||
382 | } | 385 | } |
383 | 386 | ||
387 | + @RequestMapping(value = "startListener", method = RequestMethod.GET) | ||
388 | + @ApiOperation("开启监听") | ||
389 | + public void startListener() { | ||
390 | + | ||
391 | + myTasks.reloadPic(); | ||
392 | + | ||
393 | + } | ||
394 | + | ||
384 | 395 | ||
385 | @RequestMapping(value = "compic", method = RequestMethod.GET) | 396 | @RequestMapping(value = "compic", method = RequestMethod.GET) |
386 | @ApiOperation("图片压缩") | 397 | @ApiOperation("图片压缩") |
@@ -440,9 +451,10 @@ public class UserControl { | @@ -440,9 +451,10 @@ public class UserControl { | ||
440 | e.printStackTrace(); | 451 | e.printStackTrace(); |
441 | } | 452 | } |
442 | return "解析失败"; | 453 | return "解析失败"; |
443 | - | ||
444 | } | 454 | } |
445 | 455 | ||
456 | + | ||
457 | + | ||
446 | private String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=24.12f07855bae00621f319d10f00f6aaa2.2592000.1576727813.282335-15990462"; | 458 | private String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=24.12f07855bae00621f319d10f00f6aaa2.2592000.1576727813.282335-15990462"; |
447 | 459 | ||
448 | private String getAnswer(String imgUrl, int type) { | 460 | private String getAnswer(String imgUrl, int type) { |
cloud/dahua/src/main/java/com/example/dahua/dao/UserDao.java
1 | package com.example.dahua.dao; | 1 | package com.example.dahua.dao; |
2 | 2 | ||
3 | -import com.example.dahua.bean.AttendanceBean; | ||
4 | -import com.example.dahua.bean.StudentBean; | ||
5 | -import com.example.dahua.bean.TeacherBean; | ||
6 | -import com.example.dahua.bean.UserInfoBean; | 3 | +import com.example.dahua.bean.*; |
7 | import org.apache.ibatis.annotations.*; | 4 | import org.apache.ibatis.annotations.*; |
8 | import org.springframework.stereotype.Repository; | 5 | import org.springframework.stereotype.Repository; |
9 | 6 | ||
@@ -26,8 +23,8 @@ public interface UserDao { | @@ -26,8 +23,8 @@ public interface UserDao { | ||
26 | @Select(" select * from SZ_V_School_Teacher where school_id = #{school_id} and num = #{num}") | 23 | @Select(" select * from SZ_V_School_Teacher where school_id = #{school_id} and num = #{num}") |
27 | TeacherBean getTeacher(@Param("school_id")String school_id, @Param("num")String num); | 24 | TeacherBean getTeacher(@Param("school_id")String school_id, @Param("num")String num); |
28 | 25 | ||
29 | - @Select(" select * from SZ_V_School_Teacher where school_id = 562 and teacher_num = #{teacher_num}") | ||
30 | - List<TeacherBean> getTeachers( @Param("teacher_num")String teacher_num); | 26 | + @Select(" select Top(1)* from SZ_V_School_Teacher where teacher_id = #{teacher_id}") |
27 | + TeacherBean getTeacherWithId( @Param("teacher_id")String teacher_id); | ||
31 | 28 | ||
32 | @Select(" select * from SZ_V_School_Teacher where school_id = 562 and name = #{name}") | 29 | @Select(" select * from SZ_V_School_Teacher where school_id = 562 and name = #{name}") |
33 | List<TeacherBean> getTeachersWithName( @Param("name")String name); | 30 | List<TeacherBean> getTeachersWithName( @Param("name")String name); |
@@ -62,9 +59,8 @@ public interface UserDao { | @@ -62,9 +59,8 @@ public interface UserDao { | ||
62 | @Select(" select studentcode from SZ_V_School_Student where student_id = #{customerid}") | 59 | @Select(" select studentcode from SZ_V_School_Student where student_id = #{customerid}") |
63 | String getStudentCode(@Param("customerid") String customerid); | 60 | String getStudentCode(@Param("customerid") String customerid); |
64 | 61 | ||
65 | - | ||
66 | - @Select(" select * from SZ_V_School_Student where studentcode = #{studentcode}") | ||
67 | - UserInfoBean getStudentId(@Param("studentcode") String student_num); | 62 | + @Select(" select * from SZ_V_School_Student where student_id = #{student_id}") |
63 | + UserInfoBean getStudentWithid(@Param("student_id") String student_id); | ||
68 | 64 | ||
69 | @Select(" select * from SZ_V_School_Student where student_num = #{student_num} and name = #{name}") | 65 | @Select(" select * from SZ_V_School_Student where student_num = #{student_num} and name = #{name}") |
70 | UserInfoBean getStudent(@Param("student_num") String student_num,@Param("name") String name); | 66 | UserInfoBean getStudent(@Param("student_num") String student_num,@Param("name") String name); |
@@ -95,4 +91,7 @@ public interface UserDao { | @@ -95,4 +91,7 @@ public interface UserDao { | ||
95 | @Select("select StudentId from SS_RoomNumber where Pid in (select id from SS_Room where SchoolId = 479)") | 91 | @Select("select StudentId from SS_RoomNumber where Pid in (select id from SS_Room where SchoolId = 479)") |
96 | List<String> getStudentIds(); | 92 | List<String> getStudentIds(); |
97 | 93 | ||
94 | + @Select("select * from SZ_V_Card where num=#{num}") | ||
95 | + CardBean getCards(@Param("num")String num); | ||
96 | + | ||
98 | } | 97 | } |
cloud/dahua/src/main/java/com/example/dahua/lib/CompressPic.java
@@ -24,10 +24,10 @@ public class CompressPic { | @@ -24,10 +24,10 @@ public class CompressPic { | ||
24 | int width = bufferedImage.getWidth(null); | 24 | int width = bufferedImage.getWidth(null); |
25 | int height = bufferedImage.getHeight(null); | 25 | int height = bufferedImage.getHeight(null); |
26 | long fileLength = file.length(); | 26 | long fileLength = file.length(); |
27 | - if ((fileLength / 1024) < 64) { | 27 | + if ((fileLength / 1024) < 128) { |
28 | writeImgToFile(bufferedImage, width, height, targetPath); | 28 | writeImgToFile(bufferedImage, width, height, targetPath); |
29 | } else | 29 | } else |
30 | - while ((fileLength / 1024) >= 64) { | 30 | + while ((fileLength / 1024) >= 128) { |
31 | width = (int) (width * (1 - cutPercent)); | 31 | width = (int) (width * (1 - cutPercent)); |
32 | height = (int) (height * (1 - cutPercent)); | 32 | height = (int) (height * (1 - cutPercent)); |
33 | 33 |
cloud/dahua/src/main/java/com/example/dahua/utils/FileUtils.java
@@ -12,6 +12,7 @@ public class FileUtils { | @@ -12,6 +12,7 @@ public class FileUtils { | ||
12 | 12 | ||
13 | public static String checkFail = "检测失败.txt"; | 13 | public static String checkFail = "检测失败.txt"; |
14 | public static String checkSuc = "检测成功.txt"; | 14 | public static String checkSuc = "检测成功.txt"; |
15 | + public static String device_login="设备登录id.txt"; | ||
15 | private static FileUtils fileUtils; | 16 | private static FileUtils fileUtils; |
16 | 17 | ||
17 | private String filePath = "./log/";//日志记录目录 | 18 | private String filePath = "./log/";//日志记录目录 |
cloud/dahua/src/main/java/com/example/dahua/xiananDao/SendRecordDao.java
@@ -71,5 +71,10 @@ public interface SendRecordDao { | @@ -71,5 +71,10 @@ public interface SendRecordDao { | ||
71 | 71 | ||
72 | @Select("select * from Face_SendFail where schoolId = #{schoolId} and userType = #{userType} and deviceID = #{deviceID}") | 72 | @Select("select * from Face_SendFail where schoolId = #{schoolId} and userType = #{userType} and deviceID = #{deviceID}") |
73 | List<SendRecordBean> getFaceFails(@Param("userType")int userType,@Param("schoolId")int schoolId,@Param("deviceID")String deviceID); | 73 | List<SendRecordBean> getFaceFails(@Param("userType")int userType,@Param("schoolId")int schoolId,@Param("deviceID")String deviceID); |
74 | + | ||
75 | + @Insert("insert into Face_Recoder values(#{deviceId},#{user_id},#{name},#{imgurl},#{inOrOut},#{time},#{cardNum})") | ||
76 | + void addFaceRecoder(@Param("deviceId") String deviceId, @Param("user_id")String user_id, @Param("name")String name, | ||
77 | + @Param("imgurl")String imgurl, @Param("inOrOut")int inOrOut, @Param("time")String time, | ||
78 | + @Param("cardNum")String cardNum); | ||
74 | } | 79 | } |
75 | 80 |
cloud/dahua/src/main/resources/application.yaml
@@ -54,6 +54,6 @@ mybatis: | @@ -54,6 +54,6 @@ mybatis: | ||
54 | config-location: classpath:mybatis-config.xml | 54 | config-location: classpath:mybatis-config.xml |
55 | 55 | ||
56 | 56 | ||
57 | -haikangpic: E:\wwwhtdocs\HFface\FaceLogs\ | 57 | +#haikangpic: E:\wwwhtdocs\HFface\FaceLogs\ |
58 | 58 | ||
59 | -haikangfaceurl: http://60.190.202.57:8899 | 59 | +#haikangfaceurl: http://60.190.202.57:8899 |
cloud/file/文件.xls
No preview for this file type
cloud/haikang/src/main/java/com/sincere/haikang/CMSServer.java
@@ -240,7 +240,6 @@ public class CMSServer implements ApplicationRunner { | @@ -240,7 +240,6 @@ public class CMSServer implements ApplicationRunner { | ||
240 | } else { | 240 | } else { |
241 | 241 | ||
242 | HCEHomeCMS.NET_EHOME_XML_CFG struXMLCfg = new HCEHomeCMS.NET_EHOME_XML_CFG(); | 242 | HCEHomeCMS.NET_EHOME_XML_CFG struXMLCfg = new HCEHomeCMS.NET_EHOME_XML_CFG(); |
243 | - HCEHomeCMS.NET_EHOME_XML_REMOTE_CTRL_PARAM struRemoteCtrl = new HCEHomeCMS.NET_EHOME_XML_REMOTE_CTRL_PARAM(); | ||
244 | HCEHomeCMS.NET_DVR_STRING_POINTER stringRequestCard = new HCEHomeCMS.NET_DVR_STRING_POINTER(); | 243 | HCEHomeCMS.NET_DVR_STRING_POINTER stringRequestCard = new HCEHomeCMS.NET_DVR_STRING_POINTER(); |
245 | stringRequestCard.read(); | 244 | stringRequestCard.read(); |
246 | String strRequestCard = "SETDEVICECONFIG"; | 245 | String strRequestCard = "SETDEVICECONFIG"; |
@@ -352,6 +351,66 @@ public class CMSServer implements ApplicationRunner { | @@ -352,6 +351,66 @@ public class CMSServer implements ApplicationRunner { | ||
352 | } | 351 | } |
353 | 352 | ||
354 | /** | 353 | /** |
354 | + * 获取指纹信息 | ||
355 | + */ | ||
356 | + public void getFingerPrint(String clint_id, String cardNo){ | ||
357 | + HCEHomeCMS.NET_EHOME_XML_CFG struXMLCard = new HCEHomeCMS.NET_EHOME_XML_CFG(); | ||
358 | + | ||
359 | + HCEHomeCMS.NET_DVR_STRING_POINTER stringRequestCard = new HCEHomeCMS.NET_DVR_STRING_POINTER(); | ||
360 | + stringRequestCard.read(); | ||
361 | + String strRequestCard = "GETDEVICECONFIG"; | ||
362 | + stringRequestCard.byString = strRequestCard.getBytes(); | ||
363 | + stringRequestCard.write(); | ||
364 | + | ||
365 | + struXMLCard.pCmdBuf = stringRequestCard.getPointer(); | ||
366 | + struXMLCard.dwCmdLen = stringRequestCard.byString.length; | ||
367 | + struXMLCard.write(); | ||
368 | + | ||
369 | + HCEHomeCMS.NET_DVR_STRING_POINTER struConfigXMLCard = new HCEHomeCMS.NET_DVR_STRING_POINTER(); | ||
370 | + struConfigXMLCard.read(); | ||
371 | + String strConfigXMLCard = "<Params>\n" + | ||
372 | + "<ConfigCmd>GetFingerPrint</ConfigCmd>\n" + | ||
373 | + "<ConfigParam1>"+cardNo+"</ConfigParam1>\n" + | ||
374 | + "<ConfigParam2>1,2,3,4,5,6,7,8,9,10</ConfigParam2>\n" + | ||
375 | + "<ConfigParam3>1</ConfigParam3>\n" + | ||
376 | + "<ConfigParam4>0</ConfigParam4>\n" + | ||
377 | + "</Params>"; | ||
378 | + struConfigXMLCard.byString = strConfigXMLCard.getBytes(); | ||
379 | + struConfigXMLCard.write(); | ||
380 | + | ||
381 | + struXMLCard.pInBuf = struConfigXMLCard.getPointer(); | ||
382 | + struXMLCard.dwInSize = struConfigXMLCard.byString.length; | ||
383 | + struXMLCard.dwRecvTimeOut = 5000; | ||
384 | + struXMLCard.dwSendTimeOut = 5000; | ||
385 | + struXMLCard.write(); | ||
386 | + | ||
387 | + HCEHomeCMS.NET_DVR_STRING_POINTER stringOutCard = new HCEHomeCMS.NET_DVR_STRING_POINTER(); | ||
388 | + stringOutCard.write(); | ||
389 | + struXMLCard.pOutBuf = stringOutCard.getPointer(); | ||
390 | + struXMLCard.dwOutSize = stringOutCard.size(); | ||
391 | + struXMLCard.write(); | ||
392 | + | ||
393 | + HCEHomeCMS.NET_DVR_STRING_POINTER stringStatusCard = new HCEHomeCMS.NET_DVR_STRING_POINTER(); | ||
394 | + stringStatusCard.write(); | ||
395 | + struXMLCard.pStatusBuf = stringStatusCard.getPointer(); | ||
396 | + struXMLCard.dwStatusSize = stringStatusCard.size(); | ||
397 | + struXMLCard.write(); | ||
398 | + | ||
399 | + int i = struXMLCard.size(); | ||
400 | + if (!hCEhomeCMS.NET_ECMS_XMLConfig(deviceAndLoginIdMap.get(clint_id), struXMLCard, struXMLCard.size())) { | ||
401 | + int iErr = hCEhomeCMS.NET_ECMS_GetLastError(); | ||
402 | + System.err.println("获取指纹信息,错误号:" + iErr+"card:"+cardNo); | ||
403 | + } else { | ||
404 | + stringOutCard.read(); | ||
405 | + try { | ||
406 | + System.out.println("获取指纹信息成功:"+new String(stringOutCard.byString,"utf-8").trim()); | ||
407 | + } catch (UnsupportedEncodingException e) { | ||
408 | + e.printStackTrace(); | ||
409 | + } | ||
410 | + } | ||
411 | + } | ||
412 | + | ||
413 | + /** | ||
355 | * 删除指纹机信息 | 414 | * 删除指纹机信息 |
356 | * @param clint_id | 415 | * @param clint_id |
357 | * @param cardNo | 416 | * @param cardNo |
@@ -496,7 +555,7 @@ public class CMSServer implements ApplicationRunner { | @@ -496,7 +555,7 @@ public class CMSServer implements ApplicationRunner { | ||
496 | if (cardNo != null && cardNo.length() > 0) { | 555 | if (cardNo != null && cardNo.length() > 0) { |
497 | if (cardNo.length() >= 10) { | 556 | if (cardNo.length() >= 10) { |
498 | FileUtils.getInstance().writeLogs("学生id异常:" + deviceID + " 卡号:" + cardNo+" minorType:"+minorType, FileUtils.qiandaoErr); | 557 | FileUtils.getInstance().writeLogs("学生id异常:" + deviceID + " 卡号:" + cardNo+" minorType:"+minorType, FileUtils.qiandaoErr); |
499 | - return false; | 558 | + return true; |
500 | } | 559 | } |
501 | 560 | ||
502 | cardNo = userDao.getStudent_Num(cardNo); | 561 | cardNo = userDao.getStudent_Num(cardNo); |
@@ -555,28 +614,4 @@ public class CMSServer implements ApplicationRunner { | @@ -555,28 +614,4 @@ public class CMSServer implements ApplicationRunner { | ||
555 | } | 614 | } |
556 | } | 615 | } |
557 | 616 | ||
558 | - /** | ||
559 | - * 卡号两两倒置 | ||
560 | - * | ||
561 | - * @param cardDex | ||
562 | - * @return | ||
563 | - */ | ||
564 | - private String cardNo(String cardDex) { | ||
565 | - | ||
566 | - String cardR = ""; | ||
567 | - | ||
568 | - int length = cardDex.length(); | ||
569 | - if (length != 8) { | ||
570 | - System.out.println("卡号格式不正确:" + cardDex); | ||
571 | - return cardDex; | ||
572 | - } | ||
573 | - while (length > 0) { | ||
574 | - length -= 2; | ||
575 | - cardR += cardDex.substring(length, length + 2); | ||
576 | - } | ||
577 | - | ||
578 | -// return Long.parseLong(cardR, 16) + ""; | ||
579 | - return cardR; | ||
580 | - | ||
581 | - } | ||
582 | } | 617 | } |
cloud/haikang/src/main/java/com/sincere/haikang/async/SendUserAsync.java
@@ -94,6 +94,12 @@ public class SendUserAsync { | @@ -94,6 +94,12 @@ public class SendUserAsync { | ||
94 | } | 94 | } |
95 | 95 | ||
96 | @Async("taskExecutor") | 96 | @Async("taskExecutor") |
97 | + public void getFingerPrint(String cardNo,String clint_id){ | ||
98 | + | ||
99 | + cmsServer.getFingerPrint(clint_id,cardNo); | ||
100 | + } | ||
101 | + | ||
102 | + @Async("taskExecutor") | ||
97 | public void sendStuToHaiKang(List<StudentBean> studentBeans, int type) { | 103 | public void sendStuToHaiKang(List<StudentBean> studentBeans, int type) { |
98 | 104 | ||
99 | try { | 105 | try { |
cloud/haikang/src/main/java/com/sincere/haikang/control/UserControl.java
@@ -48,6 +48,17 @@ public class UserControl { | @@ -48,6 +48,17 @@ public class UserControl { | ||
48 | 48 | ||
49 | } | 49 | } |
50 | 50 | ||
51 | + @RequestMapping(value = "getFingerPrint",method = RequestMethod.GET) | ||
52 | + public boolean getFingerPrint(@RequestParam("card")String card,@RequestParam("clint_id")String clint_id){ | ||
53 | + sendUserAsync.getFingerPrint(card,clint_id); | ||
54 | + return true; | ||
55 | + | ||
56 | + } | ||
57 | + | ||
58 | + | ||
59 | + | ||
60 | + | ||
61 | + | ||
51 | // @RequestMapping(value = "uploadImg", method= RequestMethod.GET) | 62 | // @RequestMapping(value = "uploadImg", method= RequestMethod.GET) |
52 | // public String uploadImg(@RequestParam("filePath")String filePath){ | 63 | // public String uploadImg(@RequestParam("filePath")String filePath){ |
53 | // return cmsServer.jbtnUploadActionPerformed(filePath); | 64 | // return cmsServer.jbtnUploadActionPerformed(filePath); |
cloud/haikangface/src/main/java/com/sincere/haikangface/admindao/ZuoyeAdminDao.java
1 | package com.sincere.haikangface.admindao; | 1 | package com.sincere.haikangface.admindao; |
2 | 2 | ||
3 | -import org.apache.ibatis.annotations.Mapper; | ||
4 | -import org.apache.ibatis.annotations.Param; | ||
5 | -import org.apache.ibatis.annotations.Select; | 3 | +import com.sincere.haikangface.bean.homework.QuestionBean; |
4 | +import org.apache.ibatis.annotations.*; | ||
6 | import org.springframework.stereotype.Repository; | 5 | import org.springframework.stereotype.Repository; |
7 | 6 | ||
7 | +import java.util.List; | ||
8 | + | ||
8 | @Mapper | 9 | @Mapper |
9 | @Repository | 10 | @Repository |
10 | public interface ZuoyeAdminDao { | 11 | public interface ZuoyeAdminDao { |
@@ -19,5 +20,30 @@ public interface ZuoyeAdminDao { | @@ -19,5 +20,30 @@ public interface ZuoyeAdminDao { | ||
19 | @Select("select Id from ZY_YYGrade where name like #{gradeId}") | 20 | @Select("select Id from ZY_YYGrade where name like #{gradeId}") |
20 | String getGradeId(@Param("gradeId") String gradeId); | 21 | String getGradeId(@Param("gradeId") String gradeId); |
21 | 22 | ||
23 | + @Insert("insert into ZY_YYQuestion (Question, Qtype, Answer, CorrectAnswer, Analysis, State, Intime, StemId, ExamineFlag, SubjectId, SuggestionTime, DifficulteId, ChapterId, GradeId, SourceId, QuestionSource, AutomaticCorrection)" + | ||
24 | + " values (#{Question},#{Qtype},#{Answer},#{CorrectAnswer},#{Analysis},#{State},#{Intime},#{StemId},#{ExamineFlag},#{SubjectId},#{SuggestionTime},#{DifficulteId},#{ChapterId},#{GradeId},#{SourceId},#{QuestionSource},#{AutomaticCorrection})") | ||
25 | + int addQuestion(@Param("Question") String Question, @Param("Qtype") String Qtype, @Param("Answer") String Answer, @Param("CorrectAnswer") String CorrectAnswer, @Param("Analysis") String Analysis, @Param("State") String State | ||
26 | + , @Param("Intime") String Intime, @Param("StemId") String StemId, @Param("ExamineFlag") String ExamineFlag, @Param("SubjectId") String SubjectId, @Param("SuggestionTime") String SuggestionTime, @Param("DifficulteId") String DifficulteId | ||
27 | + , @Param("ChapterId") String ChapterId, @Param("GradeId") String GradeId, @Param("SourceId") String SourceId, @Param("QuestionSource") String QuestionSource, @Param("AutomaticCorrection") String AutomaticCorrection); | ||
28 | + | ||
29 | + @Insert("insert into ZY_YYQuestionStem values(#{QuestionStem},#{State},#{Intime})") | ||
30 | + int addQuestionStem(@Param("QuestionStem") String QuestionStem, @Param("State") String State, @Param("Intime") String Intime); | ||
31 | + | ||
32 | + @Select("select Top(1) ID from ZY_YYQuestionStem order by Intime desc ") | ||
33 | + int getStemId(); | ||
34 | + | ||
35 | + @Update("update ZY_YYQuestion set StemId = #{StemId} where ID = #{ID}") | ||
36 | + void updateQuestion(@Param("StemId") long StemId, @Param("ID")long ID); | ||
37 | + | ||
38 | + @Select("select top (961)ID\n" + | ||
39 | + "from ZY_YYQuestionStem order by ID desc") | ||
40 | + List<Long> getStemIds(); | ||
41 | + | ||
42 | + @Select("select Top(961)ID\n" + | ||
43 | + "from ZY_YYQuestion order by ID desc ") | ||
44 | + List<Long> getQueIds(); | ||
22 | 45 | ||
46 | + @Insert("insert into ZY_YYQuestionAndKnowledg (QuestionId, KnowledgId, IsTest, Status)\n" + | ||
47 | + "values (#{QuestionId},#{KnowledgId},#{IsTest},#{Status})") | ||
48 | + void addYYQuestionAndKnowledg(@Param("QuestionId")long QuestionId,@Param("KnowledgId")long KnowledgId,@Param("IsTest")long IsTest,@Param("Status")long Status ); | ||
23 | } | 49 | } |
cloud/haikangface/src/main/java/com/sincere/haikangface/control/HelpControl.java
0 → 100644
@@ -0,0 +1,113 @@ | @@ -0,0 +1,113 @@ | ||
1 | +package com.sincere.haikangface.control; | ||
2 | + | ||
3 | +import io.swagger.annotations.Api; | ||
4 | +import io.swagger.annotations.ApiImplicitParam; | ||
5 | +import io.swagger.annotations.ApiImplicitParams; | ||
6 | +import io.swagger.annotations.ApiOperation; | ||
7 | +import org.apache.poi.hssf.usermodel.HSSFCell; | ||
8 | +import org.apache.poi.hssf.usermodel.HSSFRow; | ||
9 | +import org.apache.poi.hssf.usermodel.HSSFSheet; | ||
10 | +import org.apache.poi.hssf.usermodel.HSSFWorkbook; | ||
11 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
12 | +import org.springframework.web.bind.annotation.RequestMethod; | ||
13 | +import org.springframework.web.bind.annotation.RequestParam; | ||
14 | +import org.springframework.web.bind.annotation.RestController; | ||
15 | + | ||
16 | +import java.io.File; | ||
17 | +import java.io.FileOutputStream; | ||
18 | +import java.io.IOException; | ||
19 | +import java.util.ArrayList; | ||
20 | +import java.util.List; | ||
21 | +import java.util.Map; | ||
22 | + | ||
23 | +@RestController("/help/") | ||
24 | +@Api(tags = "辅助工具") | ||
25 | +@RequestMapping("/help/*") | ||
26 | +public class HelpControl { | ||
27 | + | ||
28 | + | ||
29 | + @RequestMapping(value = "createFile", method = RequestMethod.GET) | ||
30 | + @ApiOperation(value = "生成文件") | ||
31 | + @ApiImplicitParams({@ApiImplicitParam(name = "file", value = "根目录")}) | ||
32 | + public String createFile(@RequestParam("file") String file) { | ||
33 | +// System.out.println("count:" + (count++)); | ||
34 | + | ||
35 | + //第一步,创建一个workbook对应一个excel文件 | ||
36 | + HSSFWorkbook workbook = new HSSFWorkbook(); | ||
37 | + | ||
38 | + File file1 = new File(file); | ||
39 | + | ||
40 | + File[] files = file1.listFiles(); | ||
41 | + | ||
42 | + List<String> list = new ArrayList<>(); | ||
43 | + | ||
44 | + for (int i = 0; i < files.length; i++) { | ||
45 | + File file2 = files[i]; | ||
46 | + | ||
47 | + if (file2.isDirectory()) { | ||
48 | + | ||
49 | + File[] file3 = file2.listFiles(); | ||
50 | + for (int j = 0; j < file3.length; j++) { | ||
51 | + File file4 = file3[j]; | ||
52 | + String fileName = file4.getName(); | ||
53 | + String fileDirName = file2.getName(); | ||
54 | + list.add(fileDirName+","+fileName); | ||
55 | + } | ||
56 | + | ||
57 | + }else if (file2.isFile()){ | ||
58 | + String fileName = file2.getName() ; | ||
59 | + String fileDirName = file1.getName(); | ||
60 | + list.add(fileDirName+","+fileName); | ||
61 | + } | ||
62 | + | ||
63 | + } | ||
64 | + | ||
65 | + | ||
66 | + return writeToExcel(workbook,"文件",list).getAbsolutePath(); | ||
67 | + } | ||
68 | + | ||
69 | + | ||
70 | + private File writeToExcel(HSSFWorkbook workbook, String sheetName, List<String> values) { | ||
71 | + //第二部,在workbook中创建一个sheet对应excel中的sheet | ||
72 | + HSSFSheet sheet = workbook.createSheet(sheetName); | ||
73 | + //第三部,在sheet表中添加表头第0行,老版本的poi对sheet的行列有限制 | ||
74 | + HSSFRow row = sheet.createRow(0); | ||
75 | + //第四步,创建单元格,设置表头 | ||
76 | + HSSFCell cell = null; | ||
77 | + for (int i = 0; i < 2; i++) { | ||
78 | + cell = row.createCell(i); | ||
79 | + if (i == 0) | ||
80 | + cell.setCellValue("目录名称"); | ||
81 | + else if (i==1) | ||
82 | + cell.setCellValue("文件名称"); | ||
83 | + } | ||
84 | + | ||
85 | + //第五步,写入数据 | ||
86 | + for (int i = 0; i < values.size(); i++) { | ||
87 | + | ||
88 | + HSSFRow row1 = sheet.createRow(i + 1); | ||
89 | + String value = values.get(i); | ||
90 | + | ||
91 | + row1.createCell(0).setCellValue(value.split(",")[0]); | ||
92 | + row1.createCell(1).setCellValue(value.split(",")[1]); | ||
93 | + } | ||
94 | + | ||
95 | + //将文件保存到指定的位置 | ||
96 | + try { | ||
97 | + File file = new File("./file/"); | ||
98 | + if (!file.exists()) file.mkdirs(); | ||
99 | + | ||
100 | + File file1 = new File(file.getAbsolutePath(), sheetName + ".xls"); | ||
101 | + if (!file1.exists()) file1.createNewFile(); | ||
102 | + FileOutputStream fos = new FileOutputStream(file1); | ||
103 | + workbook.write(fos); | ||
104 | + System.out.println("写入成功"); | ||
105 | + fos.close(); | ||
106 | + return file1; | ||
107 | + } catch (IOException e) { | ||
108 | + e.printStackTrace(); | ||
109 | + } | ||
110 | + return null; | ||
111 | + } | ||
112 | + | ||
113 | +} |
cloud/haikangface/src/main/java/com/sincere/haikangface/control/UserControl.java
@@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMethod; | @@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMethod; | ||
18 | import org.springframework.web.bind.annotation.RequestParam; | 18 | import org.springframework.web.bind.annotation.RequestParam; |
19 | import org.springframework.web.bind.annotation.RestController; | 19 | import org.springframework.web.bind.annotation.RestController; |
20 | import org.springframework.web.multipart.MultipartFile; | 20 | import org.springframework.web.multipart.MultipartFile; |
21 | +import sun.rmi.runtime.Log; | ||
21 | 22 | ||
22 | import java.io.*; | 23 | import java.io.*; |
23 | import java.math.BigInteger; | 24 | import java.math.BigInteger; |
@@ -53,22 +54,19 @@ public class UserControl { | @@ -53,22 +54,19 @@ public class UserControl { | ||
53 | @RequestParam("endTime") String endTime, @RequestParam("validTimeEnabled") int validTimeEnabled, @RequestParam("userType") String userType) { | 54 | @RequestParam("endTime") String endTime, @RequestParam("validTimeEnabled") int validTimeEnabled, @RequestParam("userType") String userType) { |
54 | 55 | ||
55 | try { | 56 | try { |
56 | -// System.out.println("设备编号:" + deviceId); | ||
57 | FileUtils.getInstance().writeLogs("filePath:" + filePath + " card:" + card + " name:" + name + " deviceId:" + deviceId, FileUtils.sendUserInfo); | 57 | FileUtils.getInstance().writeLogs("filePath:" + filePath + " card:" + card + " name:" + name + " deviceId:" + deviceId, FileUtils.sendUserInfo); |
58 | long time = System.currentTimeMillis(); | 58 | long time = System.currentTimeMillis(); |
59 | - if (filePath.contains(".jpg")) filePath = filePath.replace(".jpg", ".png"); | 59 | +// if (filePath.contains(".jpg")) filePath = filePath.replace(".jpg", ".png"); |
60 | if (new File(filePath.trim()).exists()) { | 60 | if (new File(filePath.trim()).exists()) { |
61 | String targetPath = FileUtils.picPathComp + new File(filePath).getName(); | 61 | String targetPath = FileUtils.picPathComp + new File(filePath).getName(); |
62 | try { | 62 | try { |
63 | -// System.out.println("targetPath:" + targetPath + " targetPath:" + new File(targetPath).exists()); | ||
64 | -// System.out.println("exit:" + new File(targetPath).exists() + " targetPath:" + targetPath); | ||
65 | int isPiliang = 0;//0:批量,1:单张 | 63 | int isPiliang = 0;//0:批量,1:单张 |
66 | if (filePath.contains("face17e50")) {//批量发送 | 64 | if (filePath.contains("face17e50")) {//批量发送 |
67 | isPiliang = 0; | 65 | isPiliang = 0; |
68 | } else {//单图发送 | 66 | } else {//单图发送 |
69 | isPiliang = 1; | 67 | isPiliang = 1; |
70 | } | 68 | } |
71 | - sendUserAsync.sendStuToHaiKang(filePath, targetPath, new BigInteger(getCard(card), 16).toString(), startTime, endTime, validTimeEnabled, name, deviceId, userType, isPiliang); | 69 | + sendUserAsync.sendStuToHaiKang(filePath, targetPath, Long.parseLong(getCard(card), 16)+"", startTime, endTime, validTimeEnabled, name, deviceId, userType, isPiliang); |
72 | 70 | ||
73 | System.out.println("time:" + (System.currentTimeMillis() - time) / 1000); | 71 | System.out.println("time:" + (System.currentTimeMillis() - time) / 1000); |
74 | 72 | ||
@@ -79,7 +77,7 @@ public class UserControl { | @@ -79,7 +77,7 @@ public class UserControl { | ||
79 | } else { | 77 | } else { |
80 | 78 | ||
81 | if (null == sendRecoderUtils) sendRecoderUtils = new SendRecoderUtils(); | 79 | if (null == sendRecoderUtils) sendRecoderUtils = new SendRecoderUtils(); |
82 | - sendRecoderUtils.sendFail(sendRecordDao, new BigInteger(getCard(card), 16).toString(), filePath, deviceId, userDao, "文件不存在", userType); | 80 | + sendRecoderUtils.sendFail(sendRecordDao, Long.parseLong(getCard(card), 16)+"", filePath, deviceId, userDao, "文件不存在", userType); |
83 | System.out.println("文件不存在:" + filePath); | 81 | System.out.println("文件不存在:" + filePath); |
84 | } | 82 | } |
85 | } catch (Exception e) { | 83 | } catch (Exception e) { |
cloud/haikangface/src/main/java/com/sincere/haikangface/dao/UserDao.java
@@ -185,4 +185,10 @@ public interface UserDao { | @@ -185,4 +185,10 @@ public interface UserDao { | ||
185 | 185 | ||
186 | @Select("select clint_id from SZ_AttendanceDto where school_id = #{schoolId} and clint_type=18") | 186 | @Select("select clint_id from SZ_AttendanceDto where school_id = #{schoolId} and clint_type=18") |
187 | List<String> getDeviceIdsWidthSchoolId(@Param("schoolId") int schoolId); | 187 | List<String> getDeviceIdsWidthSchoolId(@Param("schoolId") int schoolId); |
188 | + | ||
189 | + | ||
190 | + @Select("select StudentId from SS_RoomNumber where Pid in (select id\n" + | ||
191 | + " from SS_Room\n" + | ||
192 | + " where SchoolId = 479 and SS_Room.Pid =10284 )") | ||
193 | + List<String> getStudentIdWithRoom(); | ||
188 | } | 194 | } |
cloud/haikangface/src/main/java/com/sincere/haikangface/dao/ZuoYeDao.java
@@ -70,7 +70,6 @@ public interface ZuoYeDao { | @@ -70,7 +70,6 @@ public interface ZuoYeDao { | ||
70 | @Insert("insert into TK_QuestionStem values(#{QuestionStem},#{State},#{Intime})") | 70 | @Insert("insert into TK_QuestionStem values(#{QuestionStem},#{State},#{Intime})") |
71 | int addQuestionStem(@Param("QuestionStem") String QuestionStem, @Param("State") String State, @Param("Intime") String Intime); | 71 | int addQuestionStem(@Param("QuestionStem") String QuestionStem, @Param("State") String State, @Param("Intime") String Intime); |
72 | 72 | ||
73 | - | ||
74 | @Select("select Top(1) ID from TK_QuestionStem order by Intime desc ") | 73 | @Select("select Top(1) ID from TK_QuestionStem order by Intime desc ") |
75 | int getStemId(); | 74 | int getStemId(); |
76 | 75 | ||
@@ -86,4 +85,10 @@ public interface ZuoYeDao { | @@ -86,4 +85,10 @@ public interface ZuoYeDao { | ||
86 | @Select("select IsCorrect from ZY_StudentAnswer where ID = #{ID}") | 85 | @Select("select IsCorrect from ZY_StudentAnswer where ID = #{ID}") |
87 | int getIsCorrect(@Param("ID") String id); | 86 | int getIsCorrect(@Param("ID") String id); |
88 | 87 | ||
88 | + | ||
89 | + @Select("select *\n" + | ||
90 | + "from TK_Question where Intime>'2019-01-01' and Qtype = 1 and ID in (select QuestionId from TK_QuestionAndKnowledg where KnowledgId>94569) order by Intime desc") | ||
91 | + List<QuestionBean> getQuestionsRecent(); | ||
92 | + | ||
93 | + | ||
89 | } | 94 | } |
cloud/haikangface/src/main/java/com/sincere/haikangface/utils/SendRecoderUtils.java
@@ -24,8 +24,9 @@ public class SendRecoderUtils { | @@ -24,8 +24,9 @@ public class SendRecoderUtils { | ||
24 | */ | 24 | */ |
25 | 25 | ||
26 | public void sendSuccess(SendRecordDao sendRecordDao, String card, String faceUrl, String deviceId, UserDao userDao, String userType) { | 26 | public void sendSuccess(SendRecordDao sendRecordDao, String card, String faceUrl, String deviceId, UserDao userDao, String userType) { |
27 | - BigInteger bigInteger = new BigInteger(card); | ||
28 | - String resultCard = getCard(String.format("%08x", bigInteger)).toUpperCase(); | 27 | +// BigInteger bigInteger = new BigInteger(card); |
28 | + long lon = Long.parseLong(card); | ||
29 | + String resultCard = getCard(String.format("%08x", lon)).toUpperCase(); | ||
29 | StudentBean studentBean = null; | 30 | StudentBean studentBean = null; |
30 | String customerId = ""; | 31 | String customerId = ""; |
31 | switch (userType) { | 32 | switch (userType) { |
@@ -81,8 +82,9 @@ public class SendRecoderUtils { | @@ -81,8 +82,9 @@ public class SendRecoderUtils { | ||
81 | * @param userDao | 82 | * @param userDao |
82 | */ | 83 | */ |
83 | public void sendFail(SendRecordDao sendRecordDao, String card, String faceUrl, String deviceId, UserDao userDao, String content, String userType) { | 84 | public void sendFail(SendRecordDao sendRecordDao, String card, String faceUrl, String deviceId, UserDao userDao, String content, String userType) { |
84 | - BigInteger bigInteger = new BigInteger(card); | ||
85 | - String resultCard = getCard(String.format("%08x", bigInteger)).toUpperCase(); | 85 | +// BigInteger bigInteger = new BigInteger(card); |
86 | + long lon = Long.parseLong(card); | ||
87 | + String resultCard = getCard(String.format("%08x", lon)).toUpperCase(); | ||
86 | StudentBean studentBean = null; | 88 | StudentBean studentBean = null; |
87 | String customerId = ""; | 89 | String customerId = ""; |
88 | switch (userType) { | 90 | switch (userType) { |
cloud/haikangface/src/test/java/com/sincere/haikangface/HaikangfaceApplicationTests.java
@@ -6,11 +6,14 @@ import com.drew.metadata.Directory; | @@ -6,11 +6,14 @@ import com.drew.metadata.Directory; | ||
6 | import com.drew.metadata.Metadata; | 6 | import com.drew.metadata.Metadata; |
7 | import com.drew.metadata.MetadataException; | 7 | import com.drew.metadata.MetadataException; |
8 | import com.drew.metadata.exif.ExifDirectory; | 8 | import com.drew.metadata.exif.ExifDirectory; |
9 | +import com.sincere.haikangface.admindao.ZuoyeAdminDao; | ||
9 | import com.sincere.haikangface.bean.*; | 10 | import com.sincere.haikangface.bean.*; |
11 | +import com.sincere.haikangface.bean.homework.QuestionBean; | ||
10 | import com.sincere.haikangface.bean.xiaoan.AttendanceRecordsSS; | 12 | import com.sincere.haikangface.bean.xiaoan.AttendanceRecordsSS; |
11 | import com.sincere.haikangface.bean.xiaoan.CreditCardRecordsSS; | 13 | import com.sincere.haikangface.bean.xiaoan.CreditCardRecordsSS; |
12 | import com.sincere.haikangface.dao.DeviceDao; | 14 | import com.sincere.haikangface.dao.DeviceDao; |
13 | import com.sincere.haikangface.dao.UserDao; | 15 | import com.sincere.haikangface.dao.UserDao; |
16 | +import com.sincere.haikangface.dao.ZuoYeDao; | ||
14 | import com.sincere.haikangface.xiananDao.SendRecordDao; | 17 | import com.sincere.haikangface.xiananDao.SendRecordDao; |
15 | import org.bouncycastle.asn1.cms.MetaData; | 18 | import org.bouncycastle.asn1.cms.MetaData; |
16 | import org.hibernate.validator.constraints.LuhnCheck; | 19 | import org.hibernate.validator.constraints.LuhnCheck; |
@@ -82,9 +85,9 @@ public class HaikangfaceApplicationTests { | @@ -82,9 +85,9 @@ public class HaikangfaceApplicationTests { | ||
82 | 85 | ||
83 | @Test | 86 | @Test |
84 | public void send() { | 87 | public void send() { |
85 | - /*RestTemplate restTemplate = new RestTemplate(); | 88 | + /* RestTemplate restTemplate = new RestTemplate(); |
86 | //失败人脸补发 | 89 | //失败人脸补发 |
87 | - List<SendRecordBean> sendRecordBeanList = sendRecordDao.getSenFail("562",2); | 90 | + List<SendRecordBean> sendRecordBeanList = sendRecordDao.getSenFail("1066",2); |
88 | int idnex = 0; | 91 | int idnex = 0; |
89 | for (int i = 0; i < sendRecordBeanList.size(); i++) { | 92 | for (int i = 0; i < sendRecordBeanList.size(); i++) { |
90 | SendRecordBean sendRecordBean = sendRecordBeanList.get(i); | 93 | SendRecordBean sendRecordBean = sendRecordBeanList.get(i); |
@@ -92,11 +95,11 @@ public class HaikangfaceApplicationTests { | @@ -92,11 +95,11 @@ public class HaikangfaceApplicationTests { | ||
92 | ,sendRecordBean.getNum(),sendRecordBean.getDeviceID(),"2023-10-01 10:00:00",sendRecordBean.getImgPath(),sendRecordBean.getName(),"2","1","2019-10-01 10:00:00"); | 95 | ,sendRecordBean.getNum(),sendRecordBean.getDeviceID(),"2023-10-01 10:00:00",sendRecordBean.getImgPath(),sendRecordBean.getName(),"2","1","2019-10-01 10:00:00"); |
93 | String result1 = restTemplate.getForObject(url, String.class); | 96 | String result1 = restTemplate.getForObject(url, String.class); |
94 | System.out.println("下发人脸:" + result1+" idnex:"+idnex++); | 97 | System.out.println("下发人脸:" + result1+" idnex:"+idnex++); |
95 | - try { | ||
96 | - Thread.sleep(2000); | ||
97 | - } catch (InterruptedException e) { | ||
98 | - e.printStackTrace(); | ||
99 | - } | 98 | +// try { |
99 | +// Thread.sleep(2000); | ||
100 | +// } catch (InterruptedException e) { | ||
101 | +// e.printStackTrace(); | ||
102 | +// } | ||
100 | 103 | ||
101 | }*/ | 104 | }*/ |
102 | 105 | ||
@@ -280,158 +283,34 @@ public class HaikangfaceApplicationTests { | @@ -280,158 +283,34 @@ public class HaikangfaceApplicationTests { | ||
280 | }*/ | 283 | }*/ |
281 | } | 284 | } |
282 | 285 | ||
283 | - @Test | ||
284 | - public void fileRes() { | ||
285 | - | ||
286 | - | ||
287 | - /*List<String> stringList = sendRecordDao.getAllARecords(); | ||
288 | - for (int i = 0; i < stringList.size(); i++) { | ||
289 | - | ||
290 | - List<AttendanceRecordsSS> stus = sendRecordDao.getARecords(stringList.get(i)); | ||
291 | - if (stus.size()>0){ | ||
292 | - AttendanceRecordsSS attendanceRecordsSS = stus.get(0); | ||
293 | - | ||
294 | - sendRecordDao.deleteARecords(attendanceRecordsSS.getCustomerId(),attendanceRecordsSS.getSystime()); | ||
295 | - | ||
296 | - } | ||
297 | - | ||
298 | - }*/ | ||
299 | - | ||
300 | - | ||
301 | - | ||
302 | - | ||
303 | - /* List<CreditCardRecordsSS> creditCardRecordsSSES = sendRecordDao.getCardRecordss(); | ||
304 | - List<String> customerIds = new ArrayList<>(); | ||
305 | - for (int i = 0; i < creditCardRecordsSSES.size(); i++) { | ||
306 | - CreditCardRecordsSS creditCardRecordsSS = creditCardRecordsSSES.get(i); | ||
307 | - if (!customerIds.contains(creditCardRecordsSS.getCustomerId())) { | ||
308 | - customerIds.add(creditCardRecordsSS.getCustomerId()); | ||
309 | - System.out.println("creditCardRecordsSS:" + creditCardRecordsSS.toString()); | ||
310 | - String classId = userDao.getClassName(creditCardRecordsSS.getCustomerId()); | ||
311 | - System.out.println("classId:" + classId); | ||
312 | - int result = sendRecordDao.addAttenRecodrds(creditCardRecordsSS.getUser_id(), creditCardRecordsSS.getSchool_id(), | ||
313 | - creditCardRecordsSS.getCustomerId(), creditCardRecordsSS.getUsertype(), creditCardRecordsSS.getCard_num(), | ||
314 | - creditCardRecordsSS.getCard_type(), creditCardRecordsSS.getOutof(), creditCardRecordsSS.getIntime(), | ||
315 | - creditCardRecordsSS.getCid(), creditCardRecordsSS.getFunc_no(), creditCardRecordsSS.getHead_image(), | ||
316 | - classId, "", creditCardRecordsSS.getAttendance_id(), creditCardRecordsSS.getName(), creditCardRecordsSS.getMobile(), creditCardRecordsSS.getClass_name(), | ||
317 | - creditCardRecordsSS.getSex(), creditCardRecordsSS.getStudent_type(), creditCardRecordsSS.getSystime()); | ||
318 | - System.out.println("result:" + result); | ||
319 | - } | ||
320 | - | ||
321 | - }*/ | ||
322 | - /*File file = new File("C:\\TaoHandong\\copy\\21_指纹签到.txt"); | ||
323 | - | ||
324 | - try { | ||
325 | - BufferedReader bufferedReader = new BufferedReader(new FileReader(file)); | ||
326 | - | ||
327 | - String content = null; | ||
328 | - Set<String> strings = new HashSet<>();//存放studentid | ||
329 | - while ((content = bufferedReader.readLine()) != null) { | ||
330 | - if (content.contains("0x26")) { | ||
331 | - strings.add(content.split("cardNo:")[1]); | ||
332 | - } | ||
333 | - } | ||
334 | - System.out.println( "指纹签到数据:"+strings.size()); | ||
335 | - | ||
336 | - String studentId = ""; | ||
337 | - | ||
338 | - //获取全部住校生 | ||
339 | - List<StudentBean> studentBeanList = userDao.getAllStuWithSchoolId("479"); | ||
340 | - | ||
341 | - for (int i = 0; i < studentBeanList.size(); i++) { | ||
342 | - StudentBean studentBean = studentBeanList.get(i); | ||
343 | - | ||
344 | - if (!strings.contains(studentBean.getStudent_id())) { | ||
345 | - studentId += "'" + studentBean.getStudent_id() + "',"; | ||
346 | - } | ||
347 | - | ||
348 | - } | ||
349 | -// System.out.println("studentId:"+studentId); | ||
350 | - | ||
351 | - | ||
352 | - File fileQD = new File("C:\\TaoHandong\\copy\\签到人员.txt"); | 286 | + @Autowired |
287 | + ZuoYeDao zuoYeDao; | ||
353 | 288 | ||
354 | - BufferedReader bufferedReaderQD = new BufferedReader(new FileReader(fileQD)); | ||
355 | - String contentQD = null; | ||
356 | - Set<String> stringsQD = new HashSet<>();//存放studentid | ||
357 | - while ((contentQD = bufferedReaderQD.readLine()) != null) { | ||
358 | - List<String> studentids = userDao.getStudentIdWidthName(contentQD.trim(), "479"); | ||
359 | - for (int i = 0; i < studentids.size(); i++) { | ||
360 | - stringsQD.add(studentids.get(i)); | ||
361 | - } | ||
362 | - } | ||
363 | - System.out.println("stringsQD:" + stringsQD.size()); | ||
364 | - String resultStuid=""; | ||
365 | - Iterator iterator = stringsQD.iterator(); | ||
366 | - while (iterator.hasNext()) { | ||
367 | - String studentId11 = (String) iterator.next(); | ||
368 | - Iterator iterator1 = strings.iterator(); | ||
369 | - boolean isHas = false; | ||
370 | - while (iterator1.hasNext()) { | ||
371 | - String stuId = (String) iterator1.next(); | ||
372 | - if (studentId11.equals(stuId)) { | ||
373 | - isHas = true; | ||
374 | - } | ||
375 | - } | ||
376 | - if (!isHas) resultStuid += "'" + studentId11 + "',"; | ||
377 | - } | 289 | + @Autowired |
290 | + ZuoyeAdminDao zuoyeAdminDao; | ||
378 | 291 | ||
379 | - System.out.println("resultStuid:" + resultStuid); | ||
380 | - } catch (FileNotFoundException e) { | ||
381 | - e.printStackTrace(); | ||
382 | - } catch (IOException e) { | ||
383 | - e.printStackTrace(); | 292 | + @Test |
293 | + public void fileRes() { | ||
294 | + List<QuestionBean> questionBeans = zuoYeDao.getQuestionsRecent(); | ||
295 | + /* List<QuestionBean> questionBeans = zuoYeDao.getQuestionsRecent(); | ||
296 | + String dateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); | ||
297 | + | ||
298 | + for (QuestionBean ques : | ||
299 | + questionBeans) { | ||
300 | + zuoyeAdminDao.addQuestionStem("请回答下列问题", "1", dateTime); | ||
301 | + int stemId = zuoyeAdminDao.getStemId(); | ||
302 | + String intime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); | ||
303 | + zuoyeAdminDao.addQuestion(ques.getQuestion(),ques.getQtype(),ques.getAnswer(),ques.getCorrectAnswer(),ques.getAnalysis(), | ||
304 | + ques.getState(),intime,stemId+"",ques.getExamineFlag(),ques.getSubjectId(),"10","1",ques.getChapterId(),ques.getGradeId()+"","1","","1"); | ||
384 | }*/ | 305 | }*/ |
385 | 306 | ||
307 | +List<Long> queIds = zuoyeAdminDao.getQueIds(); | ||
386 | 308 | ||
387 | -// List<FileBean> fileBeans = userDao.getFileRes(); | ||
388 | - | ||
389 | - /* List<FileBean> fileBeanList = userDao.getFIlesReses(); | ||
390 | - | ||
391 | - List<String> userIds = userDao.getUserids(); | ||
392 | - | ||
393 | - for (int i = 0; i < fileBeanList.size(); i++) { | ||
394 | - FileBean fileBean = fileBeanList.get(i); | ||
395 | 309 | ||
396 | - for (int j = 0; j < userIds.size(); j++) { | ||
397 | - String userId= userIds.get(j); | ||
398 | - String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); | ||
399 | - userDao.addRelation(fileBean.getId(),time,userId); | 310 | + for (int i = queIds.size()-1; i >=0 ; i--) { |
311 | + zuoyeAdminDao.addYYQuestionAndKnowledg(queIds.get(i), Long.parseLong(questionBeans.get(questionBeans.size()-1-i).getKnowledgeId()),0,1); | ||
400 | } | 312 | } |
401 | 313 | ||
402 | - }*/ | ||
403 | - | ||
404 | - | ||
405 | -// System.out.println("fileBeans:"+fileBeans.toString()); | ||
406 | -/*int index = 744; | ||
407 | - for (int i = index; i <fileBeans.size(); i++) { | ||
408 | - FileBean fileBean = fileBeans.get(i); | ||
409 | - System.out.println("fileBean:"+fileBean.toString()); | ||
410 | - String gradeNamePJ = userDao.getGradeName(String.valueOf(fileBean.getGradeId())); | ||
411 | - gradeNamePJ = gradeNamePJ==null?"-1":gradeNamePJ; | ||
412 | - String gradeIdRC = userDao.getGradeId(gradeNamePJ.substring(0,gradeNamePJ.length()-1)); | ||
413 | - String cateLofId = userDao.getResCatalog(userDao.getResCatalogName(fileBean.getCatalogId())); | ||
414 | - fileBean.setCatalogId(cateLofId==null?"-1":cateLofId); | ||
415 | - String resType = userDao.getResType(userDao.getResTypeName(String.valueOf(fileBean.getTypeId()))); | ||
416 | - fileBean.setTypeId(Integer.parseInt(resType==null?"-1":resType)); | ||
417 | - gradeIdRC = StringUtils.isEmpty(gradeIdRC)?"-1":gradeIdRC; | ||
418 | - fileBean.setGradeId(Integer.parseInt(gradeIdRC)); | ||
419 | - String subject_id = userDao.getSubjectId(fileBean.getSubjectId()); | ||
420 | - subject_id = subject_id==null?"-1":subject_id; | ||
421 | - fileBean.setSubjectId(Integer.parseInt(subject_id)); | ||
422 | - String jiaocaiId = userDao.getJiaoCaiId(fileBean.getJiaoCaiId()); | ||
423 | - jiaocaiId = jiaocaiId==null?"-1":jiaocaiId; | ||
424 | - fileBean.setJiaoCaiId(Integer.parseInt(jiaocaiId)); | ||
425 | - fileBean.setUserId("zy405704"); | ||
426 | - fileBean.setUserList("{\"SchoolId\":885,\"UserTypeList\":[\"1\"],\"UserIdList\":[]}"); | ||
427 | - System.out.println("fileBean:"+fileBean.toString()); | ||
428 | - userDao.addFiles(fileBean.getName(),fileBean.getCatalogId(),fileBean.getTypeId(),fileBean.getGradeId(),fileBean.getSubjectId(), | ||
429 | - fileBean.getJiaoCaiId(),fileBean.getCharpId(),fileBean.getFileUrl(),fileBean.getDescript(), | ||
430 | - fileBean.getKeywords(),fileBean.getAddTime(),fileBean.getStatus(),fileBean.getUserId(),fileBean.getTargetUrl(), | ||
431 | - fileBean.getClicks(),fileBean.getUserList(),fileBean.getIsShare(),fileBean.getCharpId(),fileBean.getKnowledgeId()); | ||
432 | - index++; | ||
433 | - System.out.println("index:"+index); | ||
434 | - }*/ | ||
435 | 314 | ||
436 | } | 315 | } |
437 | } | 316 | } |
cloud/pom.xml
@@ -85,20 +85,4 @@ | @@ -85,20 +85,4 @@ | ||
85 | </dependencies> | 85 | </dependencies> |
86 | </dependencyManagement> | 86 | </dependencyManagement> |
87 | 87 | ||
88 | - <build> | ||
89 | - <plugins> | ||
90 | - <plugin> | ||
91 | - <groupId>org.springframework.boot</groupId> | ||
92 | - <artifactId>spring-boot-maven-plugin</artifactId> | ||
93 | - <executions> | ||
94 | - <execution> | ||
95 | - <goals> | ||
96 | - <goal>repackage</goal> | ||
97 | - </goals> | ||
98 | - </execution> | ||
99 | - </executions> | ||
100 | - </plugin> | ||
101 | - </plugins> | ||
102 | - </build> | ||
103 | - | ||
104 | </project> | 88 | </project> |