Commit 49d72e07df4a4c166417608ff5181b88baf2d48f

Authored by 徐泉
1 parent 410a48a6
Exists in master

考勤代码修改

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.bean.*; 3 import com.example.dahua.bean.*;
4 -import com.example.dahua.dao.SearchDao;  
5 import com.example.dahua.dao.UserDao; 4 import com.example.dahua.dao.UserDao;
6 import com.example.dahua.lib.NetSDKLib; 5 import com.example.dahua.lib.NetSDKLib;
7 import com.example.dahua.lib.ToolKits; 6 import com.example.dahua.lib.ToolKits;
8 import com.example.dahua.lib.Utils; 7 import com.example.dahua.lib.Utils;
9 import com.example.dahua.module.AutoRegisterModule; 8 import com.example.dahua.module.AutoRegisterModule;
10 -import com.example.dahua.module.FaceRecognitionModule;  
11 import com.example.dahua.module.GateModule; 9 import com.example.dahua.module.GateModule;
12 import com.example.dahua.module.LoginModule; 10 import com.example.dahua.module.LoginModule;
13 import com.example.dahua.service.AttendanceService; 11 import com.example.dahua.service.AttendanceService;
14 import com.example.dahua.utils.DateUtils; 12 import com.example.dahua.utils.DateUtils;
15 import com.example.dahua.utils.FileUtils; 13 import com.example.dahua.utils.FileUtils;
  14 +import com.example.dahua.xiananDao.SearchMapper;
16 import com.example.dahua.xiananDao.SendRecordDao; 15 import com.example.dahua.xiananDao.SendRecordDao;
17 import com.sun.jna.Pointer; 16 import com.sun.jna.Pointer;
  17 +import lombok.extern.slf4j.Slf4j;
18 import org.springframework.beans.factory.annotation.Autowired; 18 import org.springframework.beans.factory.annotation.Autowired;
19 import org.springframework.boot.ApplicationArguments; 19 import org.springframework.boot.ApplicationArguments;
20 import org.springframework.boot.ApplicationRunner; 20 import org.springframework.boot.ApplicationRunner;
@@ -32,6 +32,7 @@ import java.util.*; @@ -32,6 +32,7 @@ import java.util.*;
32 import java.util.List; 32 import java.util.List;
33 33
34 @Component 34 @Component
  35 +@Slf4j
35 public class MyTask implements ApplicationRunner { 36 public class MyTask implements ApplicationRunner {
36 37
37 // 主动注册监听回调 38 // 主动注册监听回调
@@ -59,7 +60,7 @@ public class MyTask implements ApplicationRunner { @@ -59,7 +60,7 @@ public class MyTask implements ApplicationRunner {
59 SendRecordDao sendRecordDao; 60 SendRecordDao sendRecordDao;
60 61
61 @Autowired 62 @Autowired
62 - SearchDao searchDao; 63 + SearchMapper searchMapper;
63 64
64 @Autowired 65 @Autowired
65 UserDao userDao; 66 UserDao userDao;
@@ -390,7 +391,7 @@ public class MyTask implements ApplicationRunner { @@ -390,7 +391,7 @@ public class MyTask implements ApplicationRunner {
390 checkIn.setFunNo(8); 391 checkIn.setFunNo(8);
391 checkIn.setFlag(eventType == 2 ? 1 : 0); 392 checkIn.setFlag(eventType == 2 ? 1 : 0);
392 checkIn.setCheckTime(eventTime); 393 checkIn.setCheckTime(eventTime);
393 - searchDao.checkIn(checkIn); 394 + searchMapper.checkIn(checkIn);
394 if (checkIn.getIsSuccess() == 1) { 395 if (checkIn.getIsSuccess() == 1) {
395 //考勤成功 396 //考勤成功
396 String content = "考勤成功!,设备:" + deviceId + "卡号:" + cardNo + "方向:" + (eventType == 1 ? "进门" : "出门") + "______" + eventTime; 397 String content = "考勤成功!,设备:" + deviceId + "卡号:" + cardNo + "方向:" + (eventType == 1 ? "进门" : "出门") + "______" + eventTime;
@@ -404,10 +405,10 @@ public class MyTask implements ApplicationRunner { @@ -404,10 +405,10 @@ public class MyTask implements ApplicationRunner {
404 } 405 }
405 } else { 406 } else {
406 //判断是否请假 407 //判断是否请假
407 - String studentNum = searchDao.checkLeave(cardNo); 408 + String studentNum = userDao.checkLeave(cardNo);
408 if (org.apache.commons.lang.StringUtils.isNotBlank(studentNum)) { 409 if (org.apache.commons.lang.StringUtils.isNotBlank(studentNum)) {
409 //短信信息 410 //短信信息
410 - Message mobileMessage = searchDao.selectByParentMobile(cardNo); 411 + Message mobileMessage = userDao.selectByParentMobile(cardNo);
411 if (mobileMessage.getSchoolId() == 4) { 412 if (mobileMessage.getSchoolId() == 4) {
412 //才发送短信 413 //才发送短信
413 ShortMsg shortMsg = new ShortMsg(); 414 ShortMsg shortMsg = new ShortMsg();
@@ -421,18 +422,19 @@ public class MyTask implements ApplicationRunner { @@ -421,18 +422,19 @@ public class MyTask implements ApplicationRunner {
421 } else { 422 } else {
422 shortMsg.setMsg(mobileMessage.getName() + "家长您好,你的孩子于" + DateUtils.date2String(new Date(), DateUtils.format2) + "请假后进校,请知晓;"); 423 shortMsg.setMsg(mobileMessage.getName() + "家长您好,你的孩子于" + DateUtils.date2String(new Date(), DateUtils.format2) + "请假后进校,请知晓;");
423 } 424 }
424 - searchDao.insertMessage(shortMsg.getTableName(),shortMsg.getSchoolId()+"",shortMsg.getMobile(),shortMsg.getMsg()); 425 + userDao.insertMessage(shortMsg.getTableName(),shortMsg.getSchoolId()+"",shortMsg.getMobile(),shortMsg.getMsg());
425 } 426 }
426 } else { 427 } else {
427 //若即不成功,也不是请假,则按刷卡异常处理 428 //若即不成功,也不是请假,则按刷卡异常处理
428 - User user = searchDao.selectUserByCardNum(cardNo).get(0); 429 + User user = userDao.selectUserByCardNum(cardNo).get(0);
429 if(user ==null ){ 430 if(user ==null ){
430 System.out.println("卡号"+cardNo+"没找到对应学生或老师"); 431 System.out.println("卡号"+cardNo+"没找到对应学生或老师");
431 } 432 }
  433 + int deviceType;
432 if (deviceId.startsWith("ytj")){ 434 if (deviceId.startsWith("ytj")){
433 - deviceId = "29"; 435 + deviceType = 29;
434 }else { 436 }else {
435 - deviceId = "22"; 437 + deviceType = 22;
436 } 438 }
437 //失败记录 439 //失败记录
438 SendRecordBean sendRecordBean = new SendRecordBean(); 440 SendRecordBean sendRecordBean = new SendRecordBean();
@@ -448,7 +450,7 @@ public class MyTask implements ApplicationRunner { @@ -448,7 +450,7 @@ public class MyTask implements ApplicationRunner {
448 sendRecordBean.setFailContent("人脸认证失败"); 450 sendRecordBean.setFailContent("人脸认证失败");
449 sendRecordBean.setDeviceID(deviceId); 451 sendRecordBean.setDeviceID(deviceId);
450 sendRecordDao.addFaceFail(sendRecordBean.getCustomerid(), sendRecordBean.getDeviceID(), sendRecordBean.getNum(), sendRecordBean.getName(), sendRecordBean.getTime(), 452 sendRecordDao.addFaceFail(sendRecordBean.getCustomerid(), sendRecordBean.getDeviceID(), sendRecordBean.getNum(), sendRecordBean.getName(), sendRecordBean.getTime(),
451 - sendRecordBean.getSchoolName(), sendRecordBean.getImgPath(), sendRecordBean.getSchoolId(), sendRecordBean.getFailContent(), sendRecordBean.getFailType(), sendRecordBean.getUserType(), 22); 453 + sendRecordBean.getSchoolName(), sendRecordBean.getImgPath(), sendRecordBean.getSchoolId(), sendRecordBean.getFailContent(), sendRecordBean.getFailType(), sendRecordBean.getUserType(), deviceType);
452 } 454 }
453 } 455 }
454 } 456 }
cloud/dahua/src/main/java/com/example/dahua/dao/SearchDao.java
@@ -1,55 +0,0 @@ @@ -1,55 +0,0 @@
1 -package com.example.dahua.dao;  
2 -  
3 -import com.example.dahua.bean.CheckIn;  
4 -import com.example.dahua.bean.Message;  
5 -import com.example.dahua.bean.User;  
6 -import org.apache.ibatis.annotations.Param;  
7 -import org.apache.ibatis.annotations.Select;  
8 -import org.springframework.stereotype.Repository;  
9 -  
10 -import java.util.List;  
11 -  
12 -@Repository  
13 -public interface SearchDao {  
14 - /**  
15 - * 考勤推送存储过程  
16 - * @param checkIn  
17 - * @return  
18 - */  
19 - int checkIn(CheckIn checkIn);  
20 -  
21 - /**  
22 - * 获取学生信息  
23 - * @param cardNum  
24 - * @return  
25 - */  
26 - List<User> selectUserByCardNum(String cardNum);  
27 -  
28 - /**  
29 - * 获取卡号  
30 - * @param cardNo  
31 - * @return  
32 - */  
33 - @Select("select Top(1) StudentNum from HS_LeaveExaminePassList where StudentNum= #{cardNo} and GETDATE() <![CDATA[ > ]]> LeaveTime and GETDATE() <![CDATA[ < ]]> ReturnTime")  
34 - String checkLeave(@Param("cardNo") String cardNo);  
35 -  
36 - /**  
37 - * 获取学生父母电话  
38 - * @param cardNo  
39 - * @return  
40 - */  
41 - @Select("select school_id , ParentMobile , name from SZ_V_School_Student where student_num = #{cardNo}")  
42 - Message selectByParentMobile(@Param("cardNo") String cardNo);  
43 -  
44 - /**  
45 - * 插入短信发送表  
46 - * @param tableName  
47 - * @param schoolId  
48 - * @param mobile  
49 - * @param msg  
50 - */  
51 - @Select("insert into ${tableName} (SchoolID,Mobile,Msg,tdtype,Status,IsNeedSend,SendTime,intime) values (#{schoolId},#{mobile},#{msg},1,0,1,GETDATE(),GETDATE())")  
52 - void insertMessage(@Param("tableName") String tableName,@Param("schoolId") String schoolId,@Param("mobile") String mobile,@Param("msg") String msg);  
53 -  
54 -  
55 -}  
cloud/dahua/src/main/java/com/example/dahua/dao/UserDao.java
@@ -169,4 +169,47 @@ public interface UserDao { @@ -169,4 +169,47 @@ public interface UserDao {
169 " where studentcode = #{studentcode} and school_id = #{school_id}\n" + 169 " where studentcode = #{studentcode} and school_id = #{school_id}\n" +
170 ")") 170 ")")
171 void updateStu(@Param("studentcode") String studentCode,@Param("httpUrl") String httpUrl,@Param("school_id")String school_id); 171 void updateStu(@Param("studentcode") String studentCode,@Param("httpUrl") String httpUrl,@Param("school_id")String school_id);
  172 +
  173 + /**
  174 + * 获取学生信息
  175 + * @param cardNum
  176 + * @return
  177 + */
  178 + @Select(" select school_id , class_id ,name ,student_id from\n" +
  179 + " (select top 1 b.school_id, b.class_id, b.name, student_id from SZ_V_Card a\n" +
  180 + " inner join SZ_V_School_Student b on a.user_id = b.student_id\n" +
  181 + " and b.role_state = 1 where a.type = 2 and a.num = #{cardNum}\n" +
  182 + " union\n" +
  183 + " select top 1 b.school_id, 0 as class_id, b.name,b.teacher_id as student_id from SZ_V_Card a\n" +
  184 + " inner join SZ_V_School_Teacher b on a.user_id = b.teacher_id\n" +
  185 + " and b.role_state = 1 where a.type = 0 and a.num = #{cardNum}\n" +
  186 + " ) x ")
  187 + List<User> selectUserByCardNum(@Param("studentcode") String cardNum);
  188 +
  189 + /**
  190 + * 获取卡号
  191 + * @param cardNo
  192 + * @return
  193 + */
  194 + @Select("select Top(1) StudentNum from HS_LeaveExaminePassList where StudentNum= #{cardNo} and GETDATE() <![CDATA[ > ]]> LeaveTime and GETDATE() <![CDATA[ < ]]> ReturnTime")
  195 + String checkLeave(@Param("cardNo") String cardNo);
  196 +
  197 + /**
  198 + * 获取学生父母电话
  199 + * @param cardNo
  200 + * @return
  201 + */
  202 + @Select("select school_id , ParentMobile , name from SZ_V_School_Student where student_num = #{cardNo}")
  203 + Message selectByParentMobile(@Param("cardNo") String cardNo);
  204 +
  205 + /**
  206 + * 插入短信发送表
  207 + * @param tableName
  208 + * @param schoolId
  209 + * @param mobile
  210 + * @param msg
  211 + */
  212 + @Insert("insert into ${tableName} (SchoolID,Mobile,Msg,tdtype,Status,IsNeedSend,SendTime,intime) values (#{schoolId},#{mobile},#{msg},1,0,1,GETDATE(),GETDATE())")
  213 + void insertMessage(@Param("tableName") String tableName, @Param("schoolId") String schoolId, @Param("mobile") String mobile, @Param("msg") String msg);
  214 +
172 } 215 }
cloud/dahua/src/main/java/com/example/dahua/dbconfig/MessageDataSourceConfig.java
@@ -10,7 +10,6 @@ import org.springframework.context.annotation.Bean; @@ -10,7 +10,6 @@ import org.springframework.context.annotation.Bean;
10 import org.springframework.context.annotation.Configuration; 10 import org.springframework.context.annotation.Configuration;
11 import org.springframework.context.annotation.Primary; 11 import org.springframework.context.annotation.Primary;
12 import org.springframework.core.io.support.PathMatchingResourcePatternResolver; 12 import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
13 -import org.springframework.jdbc.core.JdbcTemplate;  
14 13
15 import javax.sql.DataSource; 14 import javax.sql.DataSource;
16 15
@@ -35,9 +34,4 @@ public class MessageDataSourceConfig { @@ -35,9 +34,4 @@ public class MessageDataSourceConfig {
35 34
36 } 35 }
37 36
38 - @Bean  
39 - public JdbcTemplate campusJdbcTemplate(@Qualifier("messageDataSource") DataSource dataSource) {  
40 - return new JdbcTemplate(dataSource);  
41 - }  
42 -  
43 } 37 }
cloud/dahua/src/main/java/com/example/dahua/xiananDao/SearchMapper.java 0 → 100644
@@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
  1 +package com.example.dahua.xiananDao;
  2 +
  3 +import com.example.dahua.bean.CheckIn;
  4 +
  5 +public interface SearchMapper {
  6 + /**
  7 + * 考勤推送存储过程
  8 + * @param checkIn
  9 + * @return
  10 + */
  11 + void checkIn(CheckIn checkIn);
  12 +
  13 +}
cloud/dahua/src/main/resources/application.yml
@@ -41,8 +41,13 @@ mybatis: @@ -41,8 +41,13 @@ mybatis:
41 xiaoan: 41 xiaoan:
42 type-aliases-package: com.example.dahua.xiananDao 42 type-aliases-package: com.example.dahua.xiananDao
43 mapper-locations: classpath:xiaoanmapper/*.xml 43 mapper-locations: classpath:xiaoanmapper/*.xml
  44 + message:
  45 + type-aliases-package: com.example.dahua.dao
  46 + mapper-locations: classpath:mapper/*.xml
44 config-location: classpath:mybatis-config.xml 47 config-location: classpath:mybatis-config.xml
45 48
  49 +#logging:
  50 +# config: classpath:logback-spring.xml
46 51
47 #haikangpic: E:\wwwhtdocs\HFface\FaceLogs\ 52 #haikangpic: E:\wwwhtdocs\HFface\FaceLogs\
48 53