Commit bb8cc5ddc7a90bff28e95a2ace04b0c017568854
1 parent
3ff150e8
Exists in
master
翼学云同步
Showing
12 changed files
with
291 additions
and
186 deletions
Show diff stats
cloud/quartz/src/main/java/com/sincere/quartz/enums/KqTypeEnums.java
cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java
@@ -73,6 +73,9 @@ public interface ScFeign { | @@ -73,6 +73,9 @@ public interface ScFeign { | ||
73 | @RequestMapping(value = "sm/sync/selectDept",method = RequestMethod.GET) | 73 | @RequestMapping(value = "sm/sync/selectDept",method = RequestMethod.GET) |
74 | List<SyncDeptDto> selectDept(@RequestParam("schoolId") int schoolId) ; | 74 | List<SyncDeptDto> selectDept(@RequestParam("schoolId") int schoolId) ; |
75 | 75 | ||
76 | + @RequestMapping(value = "sm/sync/selectDeptByGradeId",method = RequestMethod.GET) | ||
77 | + SyncDeptDto selectDeptByGradeId(@RequestParam("gradeId") int gradeId); | ||
78 | + | ||
76 | @RequestMapping(value = "sm/sync/selectUser",method = RequestMethod.GET) | 79 | @RequestMapping(value = "sm/sync/selectUser",method = RequestMethod.GET) |
77 | List<SyncUserDto> selectUser(@RequestParam("schoolId") int schoolId); | 80 | List<SyncUserDto> selectUser(@RequestParam("schoolId") int schoolId); |
78 | 81 | ||
@@ -96,4 +99,6 @@ public interface ScFeign { | @@ -96,4 +99,6 @@ public interface ScFeign { | ||
96 | 99 | ||
97 | @RequestMapping(value = "sm/sync/selectUserYxyIdByHxyId",method = RequestMethod.GET) | 100 | @RequestMapping(value = "sm/sync/selectUserYxyIdByHxyId",method = RequestMethod.GET) |
98 | String selectUserYxyIdByHxyId(@RequestParam("hxyCustomerId") String hxyCustomerId); | 101 | String selectUserYxyIdByHxyId(@RequestParam("hxyCustomerId") String hxyCustomerId); |
102 | + | ||
103 | + | ||
99 | } | 104 | } |
cloud/quartz/src/main/java/com/sincere/quartz/job/AlarmJob.java
1 | -package com.sincere.quartz.job; | ||
2 | - | ||
3 | -import com.alibaba.fastjson.JSONArray; | ||
4 | -import com.alibaba.fastjson.JSONObject; | ||
5 | -import com.sincere.common.dto.smartCampus.SZ_AttendanceDto; | ||
6 | -import com.sincere.common.dto.smartCampus.SchoolDto; | ||
7 | -import com.sincere.common.util.DateUtils; | ||
8 | -import com.sincere.common.util.HttpClientUtils; | ||
9 | -import com.sincere.quartz.feign.ScFeign; | ||
10 | -import com.sincere.quartz.model.ShortMsg; | ||
11 | -import com.sincere.quartz.service.ManagerService; | ||
12 | -import com.sincere.quartz.service.SmsService; | ||
13 | -import org.springframework.beans.factory.annotation.Autowired; | ||
14 | -import org.springframework.scheduling.annotation.Scheduled; | ||
15 | -import org.springframework.stereotype.Service; | ||
16 | - | ||
17 | -import java.util.ArrayList; | ||
18 | -import java.util.Date; | ||
19 | -import java.util.List; | ||
20 | - | ||
21 | -/** | ||
22 | - * @author chen | ||
23 | - * @version 1.0 | ||
24 | - * @date 2020/1/3 0003 10:02 | ||
25 | - */ | ||
26 | -@Service | ||
27 | -public class AlarmJob { | ||
28 | - | ||
29 | - @Autowired | ||
30 | - ScFeign scFeign; | ||
31 | - | ||
32 | - @Autowired | ||
33 | - SmsService smsService; | ||
34 | - | ||
35 | - @Autowired | ||
36 | - ManagerService managerService ; | ||
37 | - | ||
38 | - private static List<String> opexList ; | ||
39 | - private static String integration ; | ||
40 | - | ||
41 | - static{ | ||
42 | - opexList = new ArrayList<>(); | ||
43 | - opexList.add("15857566147"); //王汉栋 | ||
44 | - opexList.add("13858485977"); //王楠彬 | ||
45 | - | ||
46 | - integration = "18767117554" ; //林炜 | ||
47 | - } | ||
48 | - | ||
49 | - /** | ||
50 | - * 设备掉线 | ||
51 | - */ | ||
52 | - @Scheduled(cron = "0 0 6-18 * * ? ") | ||
53 | - public void attendanceAlarm(){ | ||
54 | - List<Integer> list = scFeign.selectCloudAttendance(); | ||
55 | - for(Integer schoolId : list){ | ||
56 | - if(schoolId != 0 && schoolId != 16){ | ||
57 | - SchoolDto schoolDto = scFeign.selectSchoolBySchoolId(schoolId); | ||
58 | - List<String> weigengList = new ArrayList<>(); | ||
59 | - List<String> faceList = new ArrayList<>(); | ||
60 | - List<SZ_AttendanceDto> attendanceList = scFeign.selectCloudAttendanceBySchoolId(schoolId); | ||
61 | - for(SZ_AttendanceDto attendanceDto : attendanceList){ | ||
62 | - if(attendanceDto.getClint_type().equals("6")){ | ||
63 | - //微耕,查询另一张表 | ||
64 | - String lastDate = scFeign.selectByDeviceNo(attendanceDto.getClint_id()); | ||
65 | - if(lastDate != null){ | ||
66 | - if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(lastDate,DateUtils.format2),"s") > 20){ | ||
67 | - weigengList.add(attendanceDto.getClint_id()); | ||
68 | - } | ||
69 | - } | ||
70 | - }else { | ||
71 | - //人脸 | ||
72 | - if(attendanceDto.getIsConnection() == 0){ | ||
73 | - faceList.add(attendanceDto.getClint_id()); } | ||
74 | - } | ||
75 | - } | ||
76 | - if(weigengList.size() + faceList.size() > 0){ | ||
77 | - //有设备掉线,发送短信 | ||
78 | - String msg = "【设备掉线预警】" + schoolDto.getSchoolName() + "!" ; | ||
79 | - if(weigengList.size() > 0){ | ||
80 | - msg += weigengList.size() + "台闸机掉线。" ; | ||
81 | - } | ||
82 | - if(faceList.size() > 0){ | ||
83 | - msg += faceList.size() + "台人脸机掉线。" ; | ||
84 | - } | ||
85 | - msg += "请关注。" ; | ||
86 | - try{ | ||
87 | - sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg); | ||
88 | - sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg); | ||
89 | - sendMessage(schoolDto.getSchoolId(),integration,msg); | ||
90 | - sendMessage(schoolDto.getSchoolId(),managerService.selectManagerById(schoolDto.getManagerUserId()),msg); | ||
91 | - }catch (Exception e){ | ||
92 | - e.printStackTrace(); | ||
93 | - } | ||
94 | - } | ||
95 | - } | ||
96 | - } | ||
97 | - } | ||
98 | - | ||
99 | - | ||
100 | - /** | ||
101 | - * 卡 脸未下发 | ||
102 | - */ | ||
103 | - @Scheduled(cron = "0 0 12,18 * * ? ") | ||
104 | - public void unPush(){ | ||
105 | - List<Integer> list = scFeign.selectCloudAttendance(); | ||
106 | - for(Integer schoolId : list) { | ||
107 | - if(schoolId != 0 && schoolId != 16){ | ||
108 | - SchoolDto schoolDto = scFeign.selectSchoolBySchoolId(schoolId); | ||
109 | - JSONObject schoolResult = getCount(schoolDto); | ||
110 | - int cardStudentCount = Integer.valueOf( schoolResult.get("studentCardCount").toString() ); | ||
111 | - int successStudentCardCount = Integer.valueOf( schoolResult.get("successStudentCardCount").toString() ); | ||
112 | - int fushuCardCount = Integer.valueOf( schoolResult.get("fushuCardCount").toString() ); | ||
113 | - int successFushuCardCount = Integer.valueOf( schoolResult.get("successFushuCardCount").toString() ); | ||
114 | - int teaCardCount = Integer.valueOf( schoolResult.get("teaCardCount").toString() ); | ||
115 | - int successTeaCardCount = Integer.valueOf( schoolResult.get("successTeaCardCount").toString() ); | ||
116 | - int totalCardNumber = cardStudentCount + fushuCardCount +teaCardCount ; | ||
117 | - int successCardNumber = successFushuCardCount +successStudentCardCount +successTeaCardCount ; | ||
118 | - int unSendCard = totalCardNumber-successCardNumber ; | ||
119 | - | ||
120 | - int errorStudentPhotoCount = Integer.valueOf( schoolResult.get("errorStudentPhotoCount").toString() ); | ||
121 | - int errorFushuPhotoCount = Integer.valueOf( schoolResult.get("errorFushuPhotoCount").toString() ); | ||
122 | - int errorTeaPhotoCount = Integer.valueOf( schoolResult.get("errorTeaPhotoCount").toString() ); | ||
123 | - int unSendFace = errorStudentPhotoCount+errorFushuPhotoCount+errorTeaPhotoCount ; | ||
124 | - if(unSendCard + unSendFace > 0) { | ||
125 | - String msg = "【人脸卡号下发异常预警】" + schoolDto.getSchoolName() + "!"; | ||
126 | - if (unSendCard > 0) { | ||
127 | - msg += unSendCard + "卡未下发。"; | ||
128 | - } | ||
129 | - if (unSendFace > 0) { | ||
130 | - msg += unSendFace + "脸未下发。"; | ||
131 | - } | ||
132 | - msg += "请关注。"; | ||
133 | - try { | ||
134 | - sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg); | ||
135 | - sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg); | ||
136 | - sendMessage(schoolDto.getSchoolId(),integration,msg); | ||
137 | - sendMessage(schoolDto.getSchoolId(),managerService.selectManagerById(schoolDto.getManagerUserId()),msg); | ||
138 | - } catch (Exception e) { | ||
139 | - e.printStackTrace(); | ||
140 | - } | ||
141 | - } | ||
142 | - } | ||
143 | - } | ||
144 | - } | ||
145 | - | ||
146 | - | ||
147 | - public JSONObject getCount(SchoolDto schoolDto){ | ||
148 | - JSONObject object = new JSONObject(); | ||
149 | - object.put("schoolName",schoolDto.getSchoolName()); | ||
150 | - object.put("pageIndex",1); | ||
151 | - object.put("pageSize",1); | ||
152 | - JSONObject result = HttpClientUtils.httpPostJson("http://campus.myjxt.com/api/GateServiceManager/GetFacePhotoList",object.toJSONString()); | ||
153 | - JSONObject data = (JSONObject) result.get("data"); | ||
154 | - JSONArray array = (JSONArray) data.get("list"); | ||
155 | - | ||
156 | - JSONObject schoolResult = (JSONObject) array.get(0); | ||
157 | - return schoolResult ; | ||
158 | - } | ||
159 | - | ||
160 | - private void sendMessage(int schoolId , String mobile , String msg){ | ||
161 | - String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | ||
162 | - ShortMsg shortMsg = new ShortMsg(); | ||
163 | - shortMsg.setTableName("smsNew"+tableSuffix); | ||
164 | - shortMsg.setSchoolId(schoolId); | ||
165 | - shortMsg.setMobile(mobile); | ||
166 | - shortMsg.setMsg(msg); | ||
167 | - smsService.insertSMS(shortMsg); | ||
168 | - } | ||
169 | -} | 1 | +//package com.sincere.quartz.job; |
2 | +// | ||
3 | +//import com.alibaba.fastjson.JSONArray; | ||
4 | +//import com.alibaba.fastjson.JSONObject; | ||
5 | +//import com.sincere.common.dto.smartCampus.SZ_AttendanceDto; | ||
6 | +//import com.sincere.common.dto.smartCampus.SchoolDto; | ||
7 | +//import com.sincere.common.util.DateUtils; | ||
8 | +//import com.sincere.common.util.HttpClientUtils; | ||
9 | +//import com.sincere.quartz.feign.ScFeign; | ||
10 | +//import com.sincere.quartz.model.ShortMsg; | ||
11 | +//import com.sincere.quartz.service.ManagerService; | ||
12 | +//import com.sincere.quartz.service.SmsService; | ||
13 | +//import org.apache.commons.lang3.StringUtils; | ||
14 | +//import org.springframework.beans.factory.annotation.Autowired; | ||
15 | +//import org.springframework.scheduling.annotation.Scheduled; | ||
16 | +//import org.springframework.stereotype.Service; | ||
17 | +// | ||
18 | +//import java.util.ArrayList; | ||
19 | +//import java.util.Date; | ||
20 | +//import java.util.List; | ||
21 | +// | ||
22 | +///** | ||
23 | +// * @author chen | ||
24 | +// * @version 1.0 | ||
25 | +// * @date 2020/1/3 0003 10:02 | ||
26 | +// */ | ||
27 | +//@Service | ||
28 | +//public class AlarmJob { | ||
29 | +// | ||
30 | +// @Autowired | ||
31 | +// ScFeign scFeign; | ||
32 | +// | ||
33 | +// @Autowired | ||
34 | +// SmsService smsService; | ||
35 | +// | ||
36 | +// @Autowired | ||
37 | +// ManagerService managerService ; | ||
38 | +// | ||
39 | +// private static List<String> opexList ; | ||
40 | +// private static String integration ; | ||
41 | +// | ||
42 | +// static{ | ||
43 | +// opexList = new ArrayList<>(); | ||
44 | +// opexList.add("15857566147"); //王汉栋 | ||
45 | +// opexList.add("13858485977"); //王楠彬 | ||
46 | +// | ||
47 | +// integration = "18767117554" ; //林炜 | ||
48 | +// } | ||
49 | +// | ||
50 | +// /** | ||
51 | +// * 设备掉线 | ||
52 | +// */ | ||
53 | +// @Scheduled(cron = "0 0 6-18 * * MON-FRI") | ||
54 | +// public void attendanceAlarm(){ | ||
55 | +// List<Integer> list = scFeign.selectCloudAttendance(); | ||
56 | +// for(Integer schoolId : list){ | ||
57 | +// if(schoolId != 0 && schoolId != 16){ | ||
58 | +// SchoolDto schoolDto = scFeign.selectSchoolBySchoolId(schoolId); | ||
59 | +// List<String> weigengList = new ArrayList<>(); | ||
60 | +// List<String> faceList = new ArrayList<>(); | ||
61 | +// List<SZ_AttendanceDto> attendanceList = scFeign.selectCloudAttendanceBySchoolId(schoolId); | ||
62 | +// for(SZ_AttendanceDto attendanceDto : attendanceList){ | ||
63 | +// if(attendanceDto.getClint_type().equals("6")){ | ||
64 | +// //微耕,查询另一张表 | ||
65 | +// String lastDate = scFeign.selectByDeviceNo(attendanceDto.getClint_id()); | ||
66 | +// if(lastDate != null){ | ||
67 | +// if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(lastDate,DateUtils.format2),"s") > 20){ | ||
68 | +// weigengList.add(attendanceDto.getClint_id()); | ||
69 | +// } | ||
70 | +// } | ||
71 | +// }else { | ||
72 | +// //人脸 | ||
73 | +// if(attendanceDto.getIsConnection() == 0){ | ||
74 | +// faceList.add(attendanceDto.getClint_id()); } | ||
75 | +// } | ||
76 | +// } | ||
77 | +// if(weigengList.size() + faceList.size() > 0){ | ||
78 | +// //有设备掉线,发送短信 | ||
79 | +// String msg = "【设备掉线预警】" + schoolDto.getSchoolName() + "!" ; | ||
80 | +// if(weigengList.size() > 0){ | ||
81 | +// msg += weigengList.size() + "台闸机掉线。" ; | ||
82 | +// } | ||
83 | +// if(faceList.size() > 0){ | ||
84 | +// msg += faceList.size() + "台人脸机掉线。" ; | ||
85 | +// } | ||
86 | +// msg += "请关注。" ; | ||
87 | +// try{ | ||
88 | +// sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg); | ||
89 | +// sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg); | ||
90 | +// sendMessage(schoolDto.getSchoolId(),integration,msg); | ||
91 | +// sendMessage(schoolDto.getSchoolId(),managerService.selectManagerById(schoolDto.getManagerUserId()),msg); | ||
92 | +// }catch (Exception e){ | ||
93 | +// e.printStackTrace(); | ||
94 | +// } | ||
95 | +// } | ||
96 | +// } | ||
97 | +// } | ||
98 | +// } | ||
99 | +// | ||
100 | +// | ||
101 | +// /** | ||
102 | +// * 卡 脸未下发 | ||
103 | +// */ | ||
104 | +// @Scheduled(cron = "0 0 12,18 * * MON-FRI") | ||
105 | +// public void unPush(){ | ||
106 | +// List<Integer> list = scFeign.selectCloudAttendance(); | ||
107 | +// for(Integer schoolId : list) { | ||
108 | +// if(schoolId != 0 && schoolId != 16){ | ||
109 | +// SchoolDto schoolDto = scFeign.selectSchoolBySchoolId(schoolId); | ||
110 | +// JSONObject schoolResult = getCount(schoolDto); | ||
111 | +// int cardStudentCount = Integer.valueOf( schoolResult.get("studentCardCount").toString() ); | ||
112 | +// int successStudentCardCount = Integer.valueOf( schoolResult.get("successStudentCardCount").toString() ); | ||
113 | +// int fushuCardCount = Integer.valueOf( schoolResult.get("fushuCardCount").toString() ); | ||
114 | +// int successFushuCardCount = Integer.valueOf( schoolResult.get("successFushuCardCount").toString() ); | ||
115 | +// int teaCardCount = Integer.valueOf( schoolResult.get("teaCardCount").toString() ); | ||
116 | +// int successTeaCardCount = Integer.valueOf( schoolResult.get("successTeaCardCount").toString() ); | ||
117 | +// int totalCardNumber = cardStudentCount + fushuCardCount +teaCardCount ; | ||
118 | +// int successCardNumber = successFushuCardCount +successStudentCardCount +successTeaCardCount ; | ||
119 | +// int unSendCard = totalCardNumber-successCardNumber ; | ||
120 | +// | ||
121 | +// int errorStudentPhotoCount = Integer.valueOf( schoolResult.get("errorStudentPhotoCount").toString() ); | ||
122 | +// int errorFushuPhotoCount = Integer.valueOf( schoolResult.get("errorFushuPhotoCount").toString() ); | ||
123 | +// int errorTeaPhotoCount = Integer.valueOf( schoolResult.get("errorTeaPhotoCount").toString() ); | ||
124 | +// int unSendFace = errorStudentPhotoCount+errorFushuPhotoCount+errorTeaPhotoCount ; | ||
125 | +// if(unSendCard + unSendFace > 0) { | ||
126 | +// String msg = "【人脸卡号下发异常预警】" + schoolDto.getSchoolName() + "!"; | ||
127 | +// if (unSendCard > 0) { | ||
128 | +// msg += unSendCard + "卡未下发。"; | ||
129 | +// } | ||
130 | +// if (unSendFace > 0) { | ||
131 | +// msg += unSendFace + "脸未下发。"; | ||
132 | +// } | ||
133 | +// msg += "请关注。"; | ||
134 | +// try { | ||
135 | +// sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg); | ||
136 | +// sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg); | ||
137 | +// sendMessage(schoolDto.getSchoolId(),integration,msg); | ||
138 | +// String managerMobile = managerService.selectManagerById(schoolDto.getManagerUserId()) ; | ||
139 | +// if(StringUtils.isNotBlank(managerMobile)){ | ||
140 | +// sendMessage(schoolDto.getSchoolId(),managerMobile,msg); | ||
141 | +// } | ||
142 | +// } catch (Exception e) { | ||
143 | +// e.printStackTrace(); | ||
144 | +// } | ||
145 | +// } | ||
146 | +// } | ||
147 | +// } | ||
148 | +// } | ||
149 | +// | ||
150 | +// | ||
151 | +// public JSONObject getCount(SchoolDto schoolDto){ | ||
152 | +// JSONObject object = new JSONObject(); | ||
153 | +// object.put("schoolName",schoolDto.getSchoolName()); | ||
154 | +// object.put("pageIndex",1); | ||
155 | +// object.put("pageSize",1); | ||
156 | +// JSONObject result = HttpClientUtils.httpPostJson("http://campus.myjxt.com/api/GateServiceManager/GetFacePhotoList",object.toJSONString()); | ||
157 | +// JSONObject data = (JSONObject) result.get("data"); | ||
158 | +// JSONArray array = (JSONArray) data.get("list"); | ||
159 | +// | ||
160 | +// JSONObject schoolResult = (JSONObject) array.get(0); | ||
161 | +// return schoolResult ; | ||
162 | +// } | ||
163 | +// | ||
164 | +// private void sendMessage(int schoolId , String mobile , String msg){ | ||
165 | +// String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | ||
166 | +// ShortMsg shortMsg = new ShortMsg(); | ||
167 | +// shortMsg.setTableName("smsNew"+tableSuffix); | ||
168 | +// shortMsg.setSchoolId(schoolId); | ||
169 | +// shortMsg.setMobile(mobile); | ||
170 | +// shortMsg.setMsg(msg); | ||
171 | +// smsService.insertSMS(shortMsg); | ||
172 | +// } | ||
173 | +//} |
cloud/quartz/src/main/java/com/sincere/quartz/job/KQJob.java
@@ -45,6 +45,8 @@ public class KQJob { | @@ -45,6 +45,8 @@ public class KQJob { | ||
45 | @Autowired | 45 | @Autowired |
46 | ManagerService managerService ; | 46 | ManagerService managerService ; |
47 | 47 | ||
48 | + private static String iotUrl = "http://60.190.202.57:8035"; | ||
49 | + | ||
48 | private static String date ; | 50 | private static String date ; |
49 | private static Map<String , String> map = new HashMap<>(); //学校 考勤推送map | 51 | private static Map<String , String> map = new HashMap<>(); //学校 考勤推送map |
50 | 52 | ||
@@ -98,7 +100,7 @@ public class KQJob { | @@ -98,7 +100,7 @@ public class KQJob { | ||
98 | } | 100 | } |
99 | } | 101 | } |
100 | 102 | ||
101 | - @Scheduled(cron = "0 0 18 * * MON-FRI") | 103 | + @Scheduled(cron = "0 0-59 * * * ? ") |
102 | public void alarmKaoQing() { | 104 | public void alarmKaoQing() { |
103 | String now = DateUtils.date2String(new Date(),DateUtils.format1) ; | 105 | String now = DateUtils.date2String(new Date(),DateUtils.format1) ; |
104 | if(StringUtils.isBlank(alarmDate)){ | 106 | if(StringUtils.isBlank(alarmDate)){ |
@@ -117,7 +119,8 @@ public class KQJob { | @@ -117,7 +119,8 @@ public class KQJob { | ||
117 | ){ | 119 | ){ |
118 | String key = entity.getKey(); | 120 | String key = entity.getKey(); |
119 | keyList.add(key); | 121 | keyList.add(key); |
120 | - alarm(entity); | 122 | + //alarm(entity); //告警 |
123 | + //insertIOT(entity); //iot | ||
121 | } | 124 | } |
122 | } | 125 | } |
123 | for(String key : keyList){ | 126 | for(String key : keyList){ |
@@ -142,9 +145,9 @@ public class KQJob { | @@ -142,9 +145,9 @@ public class KQJob { | ||
142 | String type = msg.substring(msg.indexOf("Type")+6,msg.indexOf("Type")+8); | 145 | String type = msg.substring(msg.indexOf("Type")+6,msg.indexOf("Type")+8); |
143 | type = type.replace("\"",""); | 146 | type = type.replace("\"",""); |
144 | int nowWeek = DateUtils.getWeek() ; | 147 | int nowWeek = DateUtils.getWeek() ; |
145 | - if(Week.contains(nowWeek+"") && nowWeek != 1 && nowWeek != 7 ){ //周末不告警 | 148 | + if(Week.contains(nowWeek+"") && nowWeek != 6 && nowWeek != 0 ){ //周末不告警 |
146 | logger.info((templateId+"_"+templateDto.getSchoolId()+"------"+beginTime+"_"+endTime)); | 149 | logger.info((templateId+"_"+templateDto.getSchoolId()+"------"+beginTime+"_"+endTime)); |
147 | - alarmMap.put(templateId+"_"+templateDto.getSchoolId() , beginTime+"_"+endTime+"_"+type+"_"+templateDto.getId()); | 150 | + alarmMap.put(templateId+"_"+templateDto.getSchoolId()+"_"+templateDto.getTitle() , beginTime+"_"+endTime+"_"+type+"_"+templateDto.getId()); |
148 | } | 151 | } |
149 | }catch (Exception e){ | 152 | }catch (Exception e){ |
150 | e.printStackTrace(); | 153 | e.printStackTrace(); |
@@ -159,7 +162,8 @@ public class KQJob { | @@ -159,7 +162,8 @@ public class KQJob { | ||
159 | String schoolId = entry.getKey().split("_")[1] ; | 162 | String schoolId = entry.getKey().split("_")[1] ; |
160 | String id = entry.getValue().split("_")[3]; | 163 | String id = entry.getValue().split("_")[3]; |
161 | String type = entry.getValue().split("_")[2] ; | 164 | String type = entry.getValue().split("_")[2] ; |
162 | - if(DateUtils.getWeek() == 3 || DateUtils.getWeek() == 6){ | 165 | + |
166 | + if(DateUtils.getWeek() == 2 || DateUtils.getWeek() == 5){ | ||
163 | //可以相差40% | 167 | //可以相差40% |
164 | BigDecimal percent = getAlarmCensus(Integer.valueOf(id),templateId,Integer.valueOf(schoolId),Integer.valueOf(type)); | 168 | BigDecimal percent = getAlarmCensus(Integer.valueOf(id),templateId,Integer.valueOf(schoolId),Integer.valueOf(type)); |
165 | if(templateMap.get(templateId) != null){ | 169 | if(templateMap.get(templateId) != null){ |
@@ -182,6 +186,30 @@ public class KQJob { | @@ -182,6 +186,30 @@ public class KQJob { | ||
182 | } | 186 | } |
183 | } | 187 | } |
184 | 188 | ||
189 | + private void insertIOT(Map.Entry<String,String> entry){ | ||
190 | + String templateId = entry.getKey().split("_")[0] ; | ||
191 | + String schoolId = entry.getKey().split("_")[1] ; | ||
192 | + String title = entry.getKey().split("_")[2] ; | ||
193 | + String id = entry.getValue().split("_")[3]; | ||
194 | + String type = entry.getValue().split("_")[2] ; | ||
195 | + String beginTime = entry.getValue().split("_")[0] ; | ||
196 | + String endTime = entry.getValue().split("_")[1] ; | ||
197 | + | ||
198 | + List<Integer> list = getIOTCensus(Integer.valueOf(id),templateId,Integer.valueOf(schoolId),Integer.valueOf(type)) ; | ||
199 | + JSONObject object = new JSONObject(); | ||
200 | + object.put("strTime",beginTime); | ||
201 | + object.put("endTime",endTime); | ||
202 | + object.put("inTime",DateUtils.date2String(new Date(),DateUtils.format1)); | ||
203 | + object.put("noAttendanceCount",list.get(1)); | ||
204 | + object.put("attendanceCount",list.get(0)); | ||
205 | + object.put("leaveCount",list.get(2)); | ||
206 | + object.put("templateName",title); | ||
207 | + object.put("qianDaoIdId",id); | ||
208 | + object.put("schoolId",schoolId); | ||
209 | + object.put("templateId",templateId); | ||
210 | + HttpClientUtils.httpPostJson(iotUrl+"/api/Association/addIntelligenceAttendance",object.toJSONString()); | ||
211 | + } | ||
212 | + | ||
185 | //初始化要推送的模板 | 213 | //初始化要推送的模板 |
186 | private void initMap(){ | 214 | private void initMap(){ |
187 | map = new HashMap<>(); | 215 | map = new HashMap<>(); |
@@ -436,7 +464,44 @@ public class KQJob { | @@ -436,7 +464,44 @@ public class KQJob { | ||
436 | e.printStackTrace(); | 464 | e.printStackTrace(); |
437 | } | 465 | } |
438 | } | 466 | } |
439 | - return new BigDecimal(attendNumber).divide(new BigDecimal(allNumber)) ; | 467 | + if(allNumber != 0){ |
468 | + BigDecimal pecrent = new BigDecimal(attendNumber).divide(new BigDecimal(allNumber),10, BigDecimal.ROUND_HALF_DOWN) ; | ||
469 | + return pecrent ; | ||
470 | + }else { | ||
471 | + return BigDecimal.ZERO ; | ||
472 | + } | ||
473 | + | ||
474 | + } | ||
475 | + | ||
476 | + /** | ||
477 | + * | ||
478 | + * @param id | ||
479 | + * @param templateId | ||
480 | + * @param schoolId | ||
481 | + * @param type | ||
482 | + * @return list(0) 出勤 list(1) 未出勤 List(2) 请假 | ||
483 | + */ | ||
484 | + private List<Integer> getIOTCensus(int id , String templateId ,int schoolId , int type){ | ||
485 | + List<Integer> result = new ArrayList<>(); | ||
486 | + int attend = 0 , unattend = 0 , leave = 0; | ||
487 | + List<Integer> list = scFeign.selectClassBySchoolId(schoolId); | ||
488 | + for(Integer classId : list){ | ||
489 | + String url = "http://campus.myjxt.com/api/EasyN/GeAttendDetail?classId="+classId+ | ||
490 | + "&id="+id+"&templateID="+templateId+"&type="+type+"&time=" + DateUtils.date2String(new Date(),DateUtils.format1); | ||
491 | + JSONObject jsonObject = HttpClientUtils.httpGet(url); | ||
492 | + try{ | ||
493 | + JSONObject data = (JSONObject) jsonObject.get("data"); | ||
494 | + attend = attend + (Integer) data.get("stuAttendCount"); | ||
495 | + unattend = unattend + (Integer) data.get("noAttendCount"); | ||
496 | + leave = leave + (Integer) data.get("leaveCount"); | ||
497 | + }catch (Exception e){ | ||
498 | + e.printStackTrace(); | ||
499 | + } | ||
500 | + } | ||
501 | + result.add(attend); | ||
502 | + result.add(unattend); | ||
503 | + result.add(leave); | ||
504 | + return result ; | ||
440 | } | 505 | } |
441 | 506 | ||
442 | 507 | ||
@@ -464,7 +529,10 @@ public class KQJob { | @@ -464,7 +529,10 @@ public class KQJob { | ||
464 | sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg); | 529 | sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg); |
465 | sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg); | 530 | sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg); |
466 | sendMessage(schoolDto.getSchoolId(),integration,msg); | 531 | sendMessage(schoolDto.getSchoolId(),integration,msg); |
467 | - sendMessage(schoolDto.getSchoolId(),managerService.selectManagerById(schoolDto.getManagerUserId()),msg); | 532 | + String managerPhone = managerService.selectManagerById(schoolDto.getManagerUserId()) ; |
533 | + if(StringUtils.isNotBlank(managerPhone)){ | ||
534 | + sendMessage(schoolDto.getSchoolId(),managerPhone,msg); | ||
535 | + } | ||
468 | }catch (Exception e){ | 536 | }catch (Exception e){ |
469 | e.printStackTrace(); | 537 | e.printStackTrace(); |
470 | } | 538 | } |
cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java
@@ -20,11 +20,10 @@ public class SyncJob { | @@ -20,11 +20,10 @@ public class SyncJob { | ||
20 | @Autowired | 20 | @Autowired |
21 | YXYReadService yxyReadService ; | 21 | YXYReadService yxyReadService ; |
22 | 22 | ||
23 | - //@Scheduled(cron = "0/1 * * * * ? ") | ||
24 | - //@Scheduled(cron = "0 0 23 * * ? ") | 23 | + @Scheduled(cron = "0 0 23 * * ? ") |
25 | public void Sync(){ | 24 | public void Sync(){ |
26 | //翼校通的同步 之后还有钉钉的同步等等 | 25 | //翼校通的同步 之后还有钉钉的同步等等 |
27 | - //yxyWriteService.sync(); | ||
28 | - yxyReadService.sync(); | 26 | + yxyWriteService.sync(); |
27 | + //yxyReadService.sync(); | ||
29 | } | 28 | } |
30 | } | 29 | } |
cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java
@@ -44,9 +44,9 @@ public class YXYReadService { | @@ -44,9 +44,9 @@ public class YXYReadService { | ||
44 | list.add(SI); | 44 | list.add(SI); |
45 | list.add(getPassword(SI_CODE)); | 45 | list.add(getPassword(SI_CODE)); |
46 | list.add("05750400"); | 46 | list.add("05750400"); |
47 | - String wsdl =getAllStudent ; | 47 | + String wsdl =getAllTeacher ; |
48 | String ns = nameSpace; | 48 | String ns = nameSpace; |
49 | - String method = getALlStudent_method; | 49 | + String method = getAllTeacher_method; |
50 | JSONArray jsonArray = getMessage(wsdl, ns, method, list); | 50 | JSONArray jsonArray = getMessage(wsdl, ns, method, list); |
51 | System.out.println(jsonArray.toJSONString()); | 51 | System.out.println(jsonArray.toJSONString()); |
52 | } | 52 | } |
cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java
@@ -7,6 +7,8 @@ import com.sincere.common.dto.smartCampus.*; | @@ -7,6 +7,8 @@ import com.sincere.common.dto.smartCampus.*; | ||
7 | import com.sincere.common.util.HttpClientUtils; | 7 | import com.sincere.common.util.HttpClientUtils; |
8 | import com.sincere.quartz.feign.ScFeign; | 8 | import com.sincere.quartz.feign.ScFeign; |
9 | import org.apache.commons.lang3.StringUtils; | 9 | import org.apache.commons.lang3.StringUtils; |
10 | +import org.slf4j.Logger; | ||
11 | +import org.slf4j.LoggerFactory; | ||
10 | import org.springframework.beans.factory.annotation.Autowired; | 12 | import org.springframework.beans.factory.annotation.Autowired; |
11 | import org.springframework.stereotype.Service; | 13 | import org.springframework.stereotype.Service; |
12 | 14 | ||
@@ -20,6 +22,9 @@ import java.util.List; | @@ -20,6 +22,9 @@ import java.util.List; | ||
20 | */ | 22 | */ |
21 | @Service | 23 | @Service |
22 | public class YXYWriteService { | 24 | public class YXYWriteService { |
25 | + | ||
26 | + private Logger logger = LoggerFactory.getLogger(YXYWriteService.class); | ||
27 | + | ||
23 | private String TOKEN="" ; | 28 | private String TOKEN="" ; |
24 | 29 | ||
25 | private static String key = "SZKJ"; | 30 | private static String key = "SZKJ"; |
@@ -47,8 +52,10 @@ public class YXYWriteService { | @@ -47,8 +52,10 @@ public class YXYWriteService { | ||
47 | 52 | ||
48 | public void sync(){ | 53 | public void sync(){ |
49 | //查出要同步的学校 | 54 | //查出要同步的学校 |
55 | + logger.info("开始同步翼学云数据==========="); | ||
50 | List<SyncSchoolDto> schoolList = scFeign.selectSyncSchool(); | 56 | List<SyncSchoolDto> schoolList = scFeign.selectSyncSchool(); |
51 | for(SyncSchoolDto school : schoolList){ | 57 | for(SyncSchoolDto school : schoolList){ |
58 | + logger.info("学校"+school.getSchoolName()); | ||
52 | if(school.getPush() == 0){ | 59 | if(school.getPush() == 0){ |
53 | //同步课程 | 60 | //同步课程 |
54 | syncSubject(school); | 61 | syncSubject(school); |
@@ -159,6 +166,7 @@ public class YXYWriteService { | @@ -159,6 +166,7 @@ public class YXYWriteService { | ||
159 | JSONArray array = initAddJson(addDept,school.getYxtId()); | 166 | JSONArray array = initAddJson(addDept,school.getYxtId()); |
160 | YXYResult result = getResult(prefix_url+suffix_org_add,array.toJSONString()); | 167 | YXYResult result = getResult(prefix_url+suffix_org_add,array.toJSONString()); |
161 | if(result.getCode() == 0 || result.getCode() == -3){ | 168 | if(result.getCode() == 0 || result.getCode() == -3){ |
169 | + logger.info("同步组织架构:total:" + result.getTotal() + ";pass:"+result.getPass()); | ||
162 | for(YXYResultDetail detail : result.getData()){ | 170 | for(YXYResultDetail detail : result.getData()){ |
163 | if(StringUtils.isNotBlank(detail.getId())){ | 171 | if(StringUtils.isNotBlank(detail.getId())){ |
164 | //成功 | 172 | //成功 |
@@ -238,6 +246,7 @@ public class YXYWriteService { | @@ -238,6 +246,7 @@ public class YXYWriteService { | ||
238 | JSONArray array = initAddJson(addGrade,school.getYxtId()); | 246 | JSONArray array = initAddJson(addGrade,school.getYxtId()); |
239 | YXYResult result = getResult(prefix_url+suffix_grade_add,array.toJSONString()); | 247 | YXYResult result = getResult(prefix_url+suffix_grade_add,array.toJSONString()); |
240 | if(result.getCode() == 0 || result.getCode() == -3){ | 248 | if(result.getCode() == 0 || result.getCode() == -3){ |
249 | + logger.info("同步年级:total:" + result.getTotal() + ";pass:"+result.getPass()); | ||
241 | for(YXYResultDetail detail : result.getData()){ | 250 | for(YXYResultDetail detail : result.getData()){ |
242 | if(StringUtils.isNotBlank(detail.getId())){ | 251 | if(StringUtils.isNotBlank(detail.getId())){ |
243 | //成功 | 252 | //成功 |
@@ -317,6 +326,7 @@ public class YXYWriteService { | @@ -317,6 +326,7 @@ public class YXYWriteService { | ||
317 | JSONArray array = initClassAddJson(addClass); | 326 | JSONArray array = initClassAddJson(addClass); |
318 | YXYResult result = getResult(prefix_url+suffix_class_add,array.toJSONString()); | 327 | YXYResult result = getResult(prefix_url+suffix_class_add,array.toJSONString()); |
319 | if(result.getCode() == 0 || result.getCode() == -3){ | 328 | if(result.getCode() == 0 || result.getCode() == -3){ |
329 | + logger.info("同步班级:total:" + result.getTotal() + ";pass:"+result.getPass()); | ||
320 | for(YXYResultDetail detail : result.getData()){ | 330 | for(YXYResultDetail detail : result.getData()){ |
321 | if(StringUtils.isNotBlank(detail.getClassid())){ | 331 | if(StringUtils.isNotBlank(detail.getClassid())){ |
322 | //成功 | 332 | //成功 |
@@ -396,6 +406,7 @@ public class YXYWriteService { | @@ -396,6 +406,7 @@ public class YXYWriteService { | ||
396 | JSONArray array = initAddJson(addStudentList); | 406 | JSONArray array = initAddJson(addStudentList); |
397 | YXYResult result = getResult(prefix_url+suffix_student_add,array.toJSONString()); | 407 | YXYResult result = getResult(prefix_url+suffix_student_add,array.toJSONString()); |
398 | if(result.getCode() == 0 || result.getCode() == -3){ | 408 | if(result.getCode() == 0 || result.getCode() == -3){ |
409 | + logger.info("同步学生:total:" + result.getTotal() + ";pass:"+result.getPass()); | ||
399 | for(YXYResultDetail detail : result.getData()){ | 410 | for(YXYResultDetail detail : result.getData()){ |
400 | if(StringUtils.isNotBlank(detail.getUserid())){ | 411 | if(StringUtils.isNotBlank(detail.getUserid())){ |
401 | //成功 | 412 | //成功 |
@@ -473,6 +484,7 @@ public class YXYWriteService { | @@ -473,6 +484,7 @@ public class YXYWriteService { | ||
473 | JSONArray array = initTeacherAddJson(school,addTeacherList); | 484 | JSONArray array = initTeacherAddJson(school,addTeacherList); |
474 | YXYResult result = getResult(prefix_url+suffix_teacher_add,array.toJSONString()); | 485 | YXYResult result = getResult(prefix_url+suffix_teacher_add,array.toJSONString()); |
475 | if(result.getCode() == 0 || result.getCode() == -3){ | 486 | if(result.getCode() == 0 || result.getCode() == -3){ |
487 | + logger.info("同步老师:total:" + result.getTotal() + ";pass:"+result.getPass()); | ||
476 | for(YXYResultDetail detail : result.getData()){ | 488 | for(YXYResultDetail detail : result.getData()){ |
477 | if(StringUtils.isNotBlank(detail.getUserid())){ | 489 | if(StringUtils.isNotBlank(detail.getUserid())){ |
478 | //成功 | 490 | //成功 |
@@ -554,7 +566,7 @@ public class YXYWriteService { | @@ -554,7 +566,7 @@ public class YXYWriteService { | ||
554 | object.put("schoolid",yxtId); | 566 | object.put("schoolid",yxtId); |
555 | object.put("name",deptDto.getDeptName()); | 567 | object.put("name",deptDto.getDeptName()); |
556 | if(deptDto.getGradeId() != 0){ | 568 | if(deptDto.getGradeId() != 0){ |
557 | - object.put("groupname",getDept(list,deptDto.getGradeId()).getDeptName()); | 569 | + object.put("groupname",scFeign.selectDeptByGradeId(deptDto.getGradeId()).getDeptName()); |
558 | } | 570 | } |
559 | array.add(object); | 571 | array.add(object); |
560 | } | 572 | } |
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/SyncController.java
@@ -69,6 +69,11 @@ public class SyncController { | @@ -69,6 +69,11 @@ public class SyncController { | ||
69 | return syncService.selectUser(schoolId); | 69 | return syncService.selectUser(schoolId); |
70 | } | 70 | } |
71 | 71 | ||
72 | + @RequestMapping(value = "selectDeptByGradeId",method = RequestMethod.GET) | ||
73 | + SyncDeptDto selectDeptByGradeId(@RequestParam("gradeId") int gradeId){ | ||
74 | + return syncService.selectDeptByGradeId(gradeId); | ||
75 | + } | ||
76 | + | ||
72 | @RequestMapping(value = "selectYxyIdByHxyId",method = RequestMethod.GET) | 77 | @RequestMapping(value = "selectYxyIdByHxyId",method = RequestMethod.GET) |
73 | String selectYxyIdByHxyId(@RequestParam("hxyId") int hxyId){ | 78 | String selectYxyIdByHxyId(@RequestParam("hxyId") int hxyId){ |
74 | return syncService.selectYxyIdByHxyId(hxyId); | 79 | return syncService.selectYxyIdByHxyId(hxyId); |
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/SyncMapper.java
@@ -26,6 +26,8 @@ public interface SyncMapper { | @@ -26,6 +26,8 @@ public interface SyncMapper { | ||
26 | 26 | ||
27 | List<SyncDeptDto> selectDept(int schoolId) ; | 27 | List<SyncDeptDto> selectDept(int schoolId) ; |
28 | 28 | ||
29 | + SyncDeptDto selectDeptByGradeId(int gradeId); | ||
30 | + | ||
29 | List<SyncUserDto> selectUser(int schoolId); | 31 | List<SyncUserDto> selectUser(int schoolId); |
30 | 32 | ||
31 | int insertDeptRelation(DeptRelationDto deptRelationDto); | 33 | int insertDeptRelation(DeptRelationDto deptRelationDto); |
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/SyncService.java
@@ -25,6 +25,8 @@ public interface SyncService { | @@ -25,6 +25,8 @@ public interface SyncService { | ||
25 | 25 | ||
26 | List<SyncDeptDto> selectDept(int schoolId) ; | 26 | List<SyncDeptDto> selectDept(int schoolId) ; |
27 | 27 | ||
28 | + SyncDeptDto selectDeptByGradeId(int gradeId); | ||
29 | + | ||
28 | List<SyncUserDto> selectUser(int schoolId); | 30 | List<SyncUserDto> selectUser(int schoolId); |
29 | 31 | ||
30 | int insertDeptRelation(DeptRelationDto deptRelationDto); | 32 | int insertDeptRelation(DeptRelationDto deptRelationDto); |
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/SyncServiceImpl.java
@@ -55,6 +55,11 @@ public class SyncServiceImpl implements SyncService { | @@ -55,6 +55,11 @@ public class SyncServiceImpl implements SyncService { | ||
55 | } | 55 | } |
56 | 56 | ||
57 | @Override | 57 | @Override |
58 | + public SyncDeptDto selectDeptByGradeId(int gradeId) { | ||
59 | + return syncMapper.selectDeptByGradeId(gradeId); | ||
60 | + } | ||
61 | + | ||
62 | + @Override | ||
58 | public List<SyncUserDto> selectUser(int schoolId) { | 63 | public List<SyncUserDto> selectUser(int schoolId) { |
59 | return syncMapper.selectUser(schoolId); | 64 | return syncMapper.selectUser(schoolId); |
60 | } | 65 | } |
cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml
@@ -40,7 +40,12 @@ | @@ -40,7 +40,12 @@ | ||
40 | </resultMap> | 40 | </resultMap> |
41 | <select id="selectDept" parameterType="java.lang.Integer" resultMap="DeptDto"> | 41 | <select id="selectDept" parameterType="java.lang.Integer" resultMap="DeptDto"> |
42 | select ID , Dept_id , schoolid , Dept_name ,UpdateType ,gradeId , usertype from HS_TeaGroupUpdate where schoolid = #{schoolId} | 42 | select ID , Dept_id , schoolid , Dept_name ,UpdateType ,gradeId , usertype from HS_TeaGroupUpdate where schoolid = #{schoolId} |
43 | - and yxy_is_new = 0 | 43 | + and yxy_is_new = 0 order by ID |
44 | + </select> | ||
45 | + | ||
46 | + <select id="selectDeptByGradeId" parameterType="java.lang.Integer" resultMap="DeptDto"> | ||
47 | + select ID , Dept_id , schoolid , Dept_name ,UpdateType ,gradeId , usertype from HS_TeaGroupUpdate | ||
48 | + where gradeId = #{gradeId} | ||
44 | </select> | 49 | </select> |
45 | 50 | ||
46 | <update id="updateDept" parameterType="java.lang.Integer" > | 51 | <update id="updateDept" parameterType="java.lang.Integer" > |