From bb8cc5ddc7a90bff28e95a2ace04b0c017568854 Mon Sep 17 00:00:00 2001 From: 陈杰 <504987307@qq.com> Date: Thu, 16 Jan 2020 16:59:31 +0800 Subject: [PATCH] 翼学云同步 --- cloud/quartz/src/main/java/com/sincere/quartz/enums/KqTypeEnums.java | 2 -- cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java | 5 +++++ cloud/quartz/src/main/java/com/sincere/quartz/job/AlarmJob.java | 342 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------- cloud/quartz/src/main/java/com/sincere/quartz/job/KQJob.java | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------- cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java | 7 +++---- cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java | 4 ++-- cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java | 14 +++++++++++++- cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/SyncController.java | 5 +++++ cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/SyncMapper.java | 2 ++ cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/SyncService.java | 2 ++ cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/SyncServiceImpl.java | 5 +++++ cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml | 7 ++++++- 12 files changed, 291 insertions(+), 186 deletions(-) diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/enums/KqTypeEnums.java b/cloud/quartz/src/main/java/com/sincere/quartz/enums/KqTypeEnums.java index d5e4cd7..9d946e1 100644 --- a/cloud/quartz/src/main/java/com/sincere/quartz/enums/KqTypeEnums.java +++ b/cloud/quartz/src/main/java/com/sincere/quartz/enums/KqTypeEnums.java @@ -1,7 +1,5 @@ package com.sincere.quartz.enums; -import com.sincere.common.dto.smartCampus.KqTeacherDto; - /** * @author chen * @version 1.0 diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java b/cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java index c929b09..ca83465 100644 --- a/cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java +++ b/cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java @@ -73,6 +73,9 @@ public interface ScFeign { @RequestMapping(value = "sm/sync/selectDept",method = RequestMethod.GET) List selectDept(@RequestParam("schoolId") int schoolId) ; + @RequestMapping(value = "sm/sync/selectDeptByGradeId",method = RequestMethod.GET) + SyncDeptDto selectDeptByGradeId(@RequestParam("gradeId") int gradeId); + @RequestMapping(value = "sm/sync/selectUser",method = RequestMethod.GET) List selectUser(@RequestParam("schoolId") int schoolId); @@ -96,4 +99,6 @@ public interface ScFeign { @RequestMapping(value = "sm/sync/selectUserYxyIdByHxyId",method = RequestMethod.GET) String selectUserYxyIdByHxyId(@RequestParam("hxyCustomerId") String hxyCustomerId); + + } diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/job/AlarmJob.java b/cloud/quartz/src/main/java/com/sincere/quartz/job/AlarmJob.java index 1757b01..e35e17d 100644 --- a/cloud/quartz/src/main/java/com/sincere/quartz/job/AlarmJob.java +++ b/cloud/quartz/src/main/java/com/sincere/quartz/job/AlarmJob.java @@ -1,169 +1,173 @@ -package com.sincere.quartz.job; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.sincere.common.dto.smartCampus.SZ_AttendanceDto; -import com.sincere.common.dto.smartCampus.SchoolDto; -import com.sincere.common.util.DateUtils; -import com.sincere.common.util.HttpClientUtils; -import com.sincere.quartz.feign.ScFeign; -import com.sincere.quartz.model.ShortMsg; -import com.sincere.quartz.service.ManagerService; -import com.sincere.quartz.service.SmsService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -/** - * @author chen - * @version 1.0 - * @date 2020/1/3 0003 10:02 - */ -@Service -public class AlarmJob { - - @Autowired - ScFeign scFeign; - - @Autowired - SmsService smsService; - - @Autowired - ManagerService managerService ; - - private static List opexList ; - private static String integration ; - - static{ - opexList = new ArrayList<>(); - opexList.add("15857566147"); //王汉栋 - opexList.add("13858485977"); //王楠彬 - - integration = "18767117554" ; //林炜 - } - - /** - * 设备掉线 - */ - @Scheduled(cron = "0 0 6-18 * * ? ") - public void attendanceAlarm(){ - List list = scFeign.selectCloudAttendance(); - for(Integer schoolId : list){ - if(schoolId != 0 && schoolId != 16){ - SchoolDto schoolDto = scFeign.selectSchoolBySchoolId(schoolId); - List weigengList = new ArrayList<>(); - List faceList = new ArrayList<>(); - List attendanceList = scFeign.selectCloudAttendanceBySchoolId(schoolId); - for(SZ_AttendanceDto attendanceDto : attendanceList){ - if(attendanceDto.getClint_type().equals("6")){ - //微耕,查询另一张表 - String lastDate = scFeign.selectByDeviceNo(attendanceDto.getClint_id()); - if(lastDate != null){ - if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(lastDate,DateUtils.format2),"s") > 20){ - weigengList.add(attendanceDto.getClint_id()); - } - } - }else { - //人脸 - if(attendanceDto.getIsConnection() == 0){ - faceList.add(attendanceDto.getClint_id()); } - } - } - if(weigengList.size() + faceList.size() > 0){ - //有设备掉线,发送短信 - String msg = "【设备掉线预警】" + schoolDto.getSchoolName() + "!" ; - if(weigengList.size() > 0){ - msg += weigengList.size() + "台闸机掉线。" ; - } - if(faceList.size() > 0){ - msg += faceList.size() + "台人脸机掉线。" ; - } - msg += "请关注。" ; - try{ - sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg); - sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg); - sendMessage(schoolDto.getSchoolId(),integration,msg); - sendMessage(schoolDto.getSchoolId(),managerService.selectManagerById(schoolDto.getManagerUserId()),msg); - }catch (Exception e){ - e.printStackTrace(); - } - } - } - } - } - - - /** - * 卡 脸未下发 - */ - @Scheduled(cron = "0 0 12,18 * * ? ") - public void unPush(){ - List list = scFeign.selectCloudAttendance(); - for(Integer schoolId : list) { - if(schoolId != 0 && schoolId != 16){ - SchoolDto schoolDto = scFeign.selectSchoolBySchoolId(schoolId); - JSONObject schoolResult = getCount(schoolDto); - int cardStudentCount = Integer.valueOf( schoolResult.get("studentCardCount").toString() ); - int successStudentCardCount = Integer.valueOf( schoolResult.get("successStudentCardCount").toString() ); - int fushuCardCount = Integer.valueOf( schoolResult.get("fushuCardCount").toString() ); - int successFushuCardCount = Integer.valueOf( schoolResult.get("successFushuCardCount").toString() ); - int teaCardCount = Integer.valueOf( schoolResult.get("teaCardCount").toString() ); - int successTeaCardCount = Integer.valueOf( schoolResult.get("successTeaCardCount").toString() ); - int totalCardNumber = cardStudentCount + fushuCardCount +teaCardCount ; - int successCardNumber = successFushuCardCount +successStudentCardCount +successTeaCardCount ; - int unSendCard = totalCardNumber-successCardNumber ; - - int errorStudentPhotoCount = Integer.valueOf( schoolResult.get("errorStudentPhotoCount").toString() ); - int errorFushuPhotoCount = Integer.valueOf( schoolResult.get("errorFushuPhotoCount").toString() ); - int errorTeaPhotoCount = Integer.valueOf( schoolResult.get("errorTeaPhotoCount").toString() ); - int unSendFace = errorStudentPhotoCount+errorFushuPhotoCount+errorTeaPhotoCount ; - if(unSendCard + unSendFace > 0) { - String msg = "【人脸卡号下发异常预警】" + schoolDto.getSchoolName() + "!"; - if (unSendCard > 0) { - msg += unSendCard + "卡未下发。"; - } - if (unSendFace > 0) { - msg += unSendFace + "脸未下发。"; - } - msg += "请关注。"; - try { - sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg); - sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg); - sendMessage(schoolDto.getSchoolId(),integration,msg); - sendMessage(schoolDto.getSchoolId(),managerService.selectManagerById(schoolDto.getManagerUserId()),msg); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - } - } - - - public JSONObject getCount(SchoolDto schoolDto){ - JSONObject object = new JSONObject(); - object.put("schoolName",schoolDto.getSchoolName()); - object.put("pageIndex",1); - object.put("pageSize",1); - JSONObject result = HttpClientUtils.httpPostJson("http://campus.myjxt.com/api/GateServiceManager/GetFacePhotoList",object.toJSONString()); - JSONObject data = (JSONObject) result.get("data"); - JSONArray array = (JSONArray) data.get("list"); - - JSONObject schoolResult = (JSONObject) array.get(0); - return schoolResult ; - } - - private void sendMessage(int schoolId , String mobile , String msg){ - String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); - ShortMsg shortMsg = new ShortMsg(); - shortMsg.setTableName("smsNew"+tableSuffix); - shortMsg.setSchoolId(schoolId); - shortMsg.setMobile(mobile); - shortMsg.setMsg(msg); - smsService.insertSMS(shortMsg); - } -} +//package com.sincere.quartz.job; +// +//import com.alibaba.fastjson.JSONArray; +//import com.alibaba.fastjson.JSONObject; +//import com.sincere.common.dto.smartCampus.SZ_AttendanceDto; +//import com.sincere.common.dto.smartCampus.SchoolDto; +//import com.sincere.common.util.DateUtils; +//import com.sincere.common.util.HttpClientUtils; +//import com.sincere.quartz.feign.ScFeign; +//import com.sincere.quartz.model.ShortMsg; +//import com.sincere.quartz.service.ManagerService; +//import com.sincere.quartz.service.SmsService; +//import org.apache.commons.lang3.StringUtils; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.scheduling.annotation.Scheduled; +//import org.springframework.stereotype.Service; +// +//import java.util.ArrayList; +//import java.util.Date; +//import java.util.List; +// +///** +// * @author chen +// * @version 1.0 +// * @date 2020/1/3 0003 10:02 +// */ +//@Service +//public class AlarmJob { +// +// @Autowired +// ScFeign scFeign; +// +// @Autowired +// SmsService smsService; +// +// @Autowired +// ManagerService managerService ; +// +// private static List opexList ; +// private static String integration ; +// +// static{ +// opexList = new ArrayList<>(); +// opexList.add("15857566147"); //王汉栋 +// opexList.add("13858485977"); //王楠彬 +// +// integration = "18767117554" ; //林炜 +// } +// +// /** +// * 设备掉线 +// */ +// @Scheduled(cron = "0 0 6-18 * * MON-FRI") +// public void attendanceAlarm(){ +// List list = scFeign.selectCloudAttendance(); +// for(Integer schoolId : list){ +// if(schoolId != 0 && schoolId != 16){ +// SchoolDto schoolDto = scFeign.selectSchoolBySchoolId(schoolId); +// List weigengList = new ArrayList<>(); +// List faceList = new ArrayList<>(); +// List attendanceList = scFeign.selectCloudAttendanceBySchoolId(schoolId); +// for(SZ_AttendanceDto attendanceDto : attendanceList){ +// if(attendanceDto.getClint_type().equals("6")){ +// //微耕,查询另一张表 +// String lastDate = scFeign.selectByDeviceNo(attendanceDto.getClint_id()); +// if(lastDate != null){ +// if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(lastDate,DateUtils.format2),"s") > 20){ +// weigengList.add(attendanceDto.getClint_id()); +// } +// } +// }else { +// //人脸 +// if(attendanceDto.getIsConnection() == 0){ +// faceList.add(attendanceDto.getClint_id()); } +// } +// } +// if(weigengList.size() + faceList.size() > 0){ +// //有设备掉线,发送短信 +// String msg = "【设备掉线预警】" + schoolDto.getSchoolName() + "!" ; +// if(weigengList.size() > 0){ +// msg += weigengList.size() + "台闸机掉线。" ; +// } +// if(faceList.size() > 0){ +// msg += faceList.size() + "台人脸机掉线。" ; +// } +// msg += "请关注。" ; +// try{ +// sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg); +// sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg); +// sendMessage(schoolDto.getSchoolId(),integration,msg); +// sendMessage(schoolDto.getSchoolId(),managerService.selectManagerById(schoolDto.getManagerUserId()),msg); +// }catch (Exception e){ +// e.printStackTrace(); +// } +// } +// } +// } +// } +// +// +// /** +// * 卡 脸未下发 +// */ +// @Scheduled(cron = "0 0 12,18 * * MON-FRI") +// public void unPush(){ +// List list = scFeign.selectCloudAttendance(); +// for(Integer schoolId : list) { +// if(schoolId != 0 && schoolId != 16){ +// SchoolDto schoolDto = scFeign.selectSchoolBySchoolId(schoolId); +// JSONObject schoolResult = getCount(schoolDto); +// int cardStudentCount = Integer.valueOf( schoolResult.get("studentCardCount").toString() ); +// int successStudentCardCount = Integer.valueOf( schoolResult.get("successStudentCardCount").toString() ); +// int fushuCardCount = Integer.valueOf( schoolResult.get("fushuCardCount").toString() ); +// int successFushuCardCount = Integer.valueOf( schoolResult.get("successFushuCardCount").toString() ); +// int teaCardCount = Integer.valueOf( schoolResult.get("teaCardCount").toString() ); +// int successTeaCardCount = Integer.valueOf( schoolResult.get("successTeaCardCount").toString() ); +// int totalCardNumber = cardStudentCount + fushuCardCount +teaCardCount ; +// int successCardNumber = successFushuCardCount +successStudentCardCount +successTeaCardCount ; +// int unSendCard = totalCardNumber-successCardNumber ; +// +// int errorStudentPhotoCount = Integer.valueOf( schoolResult.get("errorStudentPhotoCount").toString() ); +// int errorFushuPhotoCount = Integer.valueOf( schoolResult.get("errorFushuPhotoCount").toString() ); +// int errorTeaPhotoCount = Integer.valueOf( schoolResult.get("errorTeaPhotoCount").toString() ); +// int unSendFace = errorStudentPhotoCount+errorFushuPhotoCount+errorTeaPhotoCount ; +// if(unSendCard + unSendFace > 0) { +// String msg = "【人脸卡号下发异常预警】" + schoolDto.getSchoolName() + "!"; +// if (unSendCard > 0) { +// msg += unSendCard + "卡未下发。"; +// } +// if (unSendFace > 0) { +// msg += unSendFace + "脸未下发。"; +// } +// msg += "请关注。"; +// try { +// sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg); +// sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg); +// sendMessage(schoolDto.getSchoolId(),integration,msg); +// String managerMobile = managerService.selectManagerById(schoolDto.getManagerUserId()) ; +// if(StringUtils.isNotBlank(managerMobile)){ +// sendMessage(schoolDto.getSchoolId(),managerMobile,msg); +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +// } +// } +// } +// +// +// public JSONObject getCount(SchoolDto schoolDto){ +// JSONObject object = new JSONObject(); +// object.put("schoolName",schoolDto.getSchoolName()); +// object.put("pageIndex",1); +// object.put("pageSize",1); +// JSONObject result = HttpClientUtils.httpPostJson("http://campus.myjxt.com/api/GateServiceManager/GetFacePhotoList",object.toJSONString()); +// JSONObject data = (JSONObject) result.get("data"); +// JSONArray array = (JSONArray) data.get("list"); +// +// JSONObject schoolResult = (JSONObject) array.get(0); +// return schoolResult ; +// } +// +// private void sendMessage(int schoolId , String mobile , String msg){ +// String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); +// ShortMsg shortMsg = new ShortMsg(); +// shortMsg.setTableName("smsNew"+tableSuffix); +// shortMsg.setSchoolId(schoolId); +// shortMsg.setMobile(mobile); +// shortMsg.setMsg(msg); +// smsService.insertSMS(shortMsg); +// } +//} diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/job/KQJob.java b/cloud/quartz/src/main/java/com/sincere/quartz/job/KQJob.java index 0f61455..c9bc173 100644 --- a/cloud/quartz/src/main/java/com/sincere/quartz/job/KQJob.java +++ b/cloud/quartz/src/main/java/com/sincere/quartz/job/KQJob.java @@ -45,6 +45,8 @@ public class KQJob { @Autowired ManagerService managerService ; + private static String iotUrl = "http://60.190.202.57:8035"; + private static String date ; private static Map map = new HashMap<>(); //学校 考勤推送map @@ -98,7 +100,7 @@ public class KQJob { } } - @Scheduled(cron = "0 0 18 * * MON-FRI") + @Scheduled(cron = "0 0-59 * * * ? ") public void alarmKaoQing() { String now = DateUtils.date2String(new Date(),DateUtils.format1) ; if(StringUtils.isBlank(alarmDate)){ @@ -117,7 +119,8 @@ public class KQJob { ){ String key = entity.getKey(); keyList.add(key); - alarm(entity); + //alarm(entity); //告警 + //insertIOT(entity); //iot } } for(String key : keyList){ @@ -142,9 +145,9 @@ public class KQJob { String type = msg.substring(msg.indexOf("Type")+6,msg.indexOf("Type")+8); type = type.replace("\"",""); int nowWeek = DateUtils.getWeek() ; - if(Week.contains(nowWeek+"") && nowWeek != 1 && nowWeek != 7 ){ //周末不告警 + if(Week.contains(nowWeek+"") && nowWeek != 6 && nowWeek != 0 ){ //周末不告警 logger.info((templateId+"_"+templateDto.getSchoolId()+"------"+beginTime+"_"+endTime)); - alarmMap.put(templateId+"_"+templateDto.getSchoolId() , beginTime+"_"+endTime+"_"+type+"_"+templateDto.getId()); + alarmMap.put(templateId+"_"+templateDto.getSchoolId()+"_"+templateDto.getTitle() , beginTime+"_"+endTime+"_"+type+"_"+templateDto.getId()); } }catch (Exception e){ e.printStackTrace(); @@ -159,7 +162,8 @@ public class KQJob { String schoolId = entry.getKey().split("_")[1] ; String id = entry.getValue().split("_")[3]; String type = entry.getValue().split("_")[2] ; - if(DateUtils.getWeek() == 3 || DateUtils.getWeek() == 6){ + + if(DateUtils.getWeek() == 2 || DateUtils.getWeek() == 5){ //可以相差40% BigDecimal percent = getAlarmCensus(Integer.valueOf(id),templateId,Integer.valueOf(schoolId),Integer.valueOf(type)); if(templateMap.get(templateId) != null){ @@ -182,6 +186,30 @@ public class KQJob { } } + private void insertIOT(Map.Entry entry){ + String templateId = entry.getKey().split("_")[0] ; + String schoolId = entry.getKey().split("_")[1] ; + String title = entry.getKey().split("_")[2] ; + String id = entry.getValue().split("_")[3]; + String type = entry.getValue().split("_")[2] ; + String beginTime = entry.getValue().split("_")[0] ; + String endTime = entry.getValue().split("_")[1] ; + + List list = getIOTCensus(Integer.valueOf(id),templateId,Integer.valueOf(schoolId),Integer.valueOf(type)) ; + JSONObject object = new JSONObject(); + object.put("strTime",beginTime); + object.put("endTime",endTime); + object.put("inTime",DateUtils.date2String(new Date(),DateUtils.format1)); + object.put("noAttendanceCount",list.get(1)); + object.put("attendanceCount",list.get(0)); + object.put("leaveCount",list.get(2)); + object.put("templateName",title); + object.put("qianDaoIdId",id); + object.put("schoolId",schoolId); + object.put("templateId",templateId); + HttpClientUtils.httpPostJson(iotUrl+"/api/Association/addIntelligenceAttendance",object.toJSONString()); + } + //初始化要推送的模板 private void initMap(){ map = new HashMap<>(); @@ -436,7 +464,44 @@ public class KQJob { e.printStackTrace(); } } - return new BigDecimal(attendNumber).divide(new BigDecimal(allNumber)) ; + if(allNumber != 0){ + BigDecimal pecrent = new BigDecimal(attendNumber).divide(new BigDecimal(allNumber),10, BigDecimal.ROUND_HALF_DOWN) ; + return pecrent ; + }else { + return BigDecimal.ZERO ; + } + + } + + /** + * + * @param id + * @param templateId + * @param schoolId + * @param type + * @return list(0) 出勤 list(1) 未出勤 List(2) 请假 + */ + private List getIOTCensus(int id , String templateId ,int schoolId , int type){ + List result = new ArrayList<>(); + int attend = 0 , unattend = 0 , leave = 0; + List list = scFeign.selectClassBySchoolId(schoolId); + for(Integer classId : list){ + String url = "http://campus.myjxt.com/api/EasyN/GeAttendDetail?classId="+classId+ + "&id="+id+"&templateID="+templateId+"&type="+type+"&time=" + DateUtils.date2String(new Date(),DateUtils.format1); + JSONObject jsonObject = HttpClientUtils.httpGet(url); + try{ + JSONObject data = (JSONObject) jsonObject.get("data"); + attend = attend + (Integer) data.get("stuAttendCount"); + unattend = unattend + (Integer) data.get("noAttendCount"); + leave = leave + (Integer) data.get("leaveCount"); + }catch (Exception e){ + e.printStackTrace(); + } + } + result.add(attend); + result.add(unattend); + result.add(leave); + return result ; } @@ -464,7 +529,10 @@ public class KQJob { sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg); sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg); sendMessage(schoolDto.getSchoolId(),integration,msg); - sendMessage(schoolDto.getSchoolId(),managerService.selectManagerById(schoolDto.getManagerUserId()),msg); + String managerPhone = managerService.selectManagerById(schoolDto.getManagerUserId()) ; + if(StringUtils.isNotBlank(managerPhone)){ + sendMessage(schoolDto.getSchoolId(),managerPhone,msg); + } }catch (Exception e){ e.printStackTrace(); } diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java b/cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java index 53a3a7e..a39a0a9 100644 --- a/cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java +++ b/cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java @@ -20,11 +20,10 @@ public class SyncJob { @Autowired YXYReadService yxyReadService ; - //@Scheduled(cron = "0/1 * * * * ? ") - //@Scheduled(cron = "0 0 23 * * ? ") + @Scheduled(cron = "0 0 23 * * ? ") public void Sync(){ //翼校通的同步 之后还有钉钉的同步等等 - //yxyWriteService.sync(); - yxyReadService.sync(); + yxyWriteService.sync(); + //yxyReadService.sync(); } } diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java b/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java index 37cfd6b..ee9125a 100644 --- a/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java +++ b/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java @@ -44,9 +44,9 @@ public class YXYReadService { list.add(SI); list.add(getPassword(SI_CODE)); list.add("05750400"); - String wsdl =getAllStudent ; + String wsdl =getAllTeacher ; String ns = nameSpace; - String method = getALlStudent_method; + String method = getAllTeacher_method; JSONArray jsonArray = getMessage(wsdl, ns, method, list); System.out.println(jsonArray.toJSONString()); } diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java b/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java index fda8d7f..3cca9f0 100644 --- a/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java +++ b/cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java @@ -7,6 +7,8 @@ import com.sincere.common.dto.smartCampus.*; import com.sincere.common.util.HttpClientUtils; import com.sincere.quartz.feign.ScFeign; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -20,6 +22,9 @@ import java.util.List; */ @Service public class YXYWriteService { + + private Logger logger = LoggerFactory.getLogger(YXYWriteService.class); + private String TOKEN="" ; private static String key = "SZKJ"; @@ -47,8 +52,10 @@ public class YXYWriteService { public void sync(){ //查出要同步的学校 + logger.info("开始同步翼学云数据==========="); List schoolList = scFeign.selectSyncSchool(); for(SyncSchoolDto school : schoolList){ + logger.info("学校"+school.getSchoolName()); if(school.getPush() == 0){ //同步课程 syncSubject(school); @@ -159,6 +166,7 @@ public class YXYWriteService { JSONArray array = initAddJson(addDept,school.getYxtId()); YXYResult result = getResult(prefix_url+suffix_org_add,array.toJSONString()); if(result.getCode() == 0 || result.getCode() == -3){ + logger.info("同步组织架构:total:" + result.getTotal() + ";pass:"+result.getPass()); for(YXYResultDetail detail : result.getData()){ if(StringUtils.isNotBlank(detail.getId())){ //成功 @@ -238,6 +246,7 @@ public class YXYWriteService { JSONArray array = initAddJson(addGrade,school.getYxtId()); YXYResult result = getResult(prefix_url+suffix_grade_add,array.toJSONString()); if(result.getCode() == 0 || result.getCode() == -3){ + logger.info("同步年级:total:" + result.getTotal() + ";pass:"+result.getPass()); for(YXYResultDetail detail : result.getData()){ if(StringUtils.isNotBlank(detail.getId())){ //成功 @@ -317,6 +326,7 @@ public class YXYWriteService { JSONArray array = initClassAddJson(addClass); YXYResult result = getResult(prefix_url+suffix_class_add,array.toJSONString()); if(result.getCode() == 0 || result.getCode() == -3){ + logger.info("同步班级:total:" + result.getTotal() + ";pass:"+result.getPass()); for(YXYResultDetail detail : result.getData()){ if(StringUtils.isNotBlank(detail.getClassid())){ //成功 @@ -396,6 +406,7 @@ public class YXYWriteService { JSONArray array = initAddJson(addStudentList); YXYResult result = getResult(prefix_url+suffix_student_add,array.toJSONString()); if(result.getCode() == 0 || result.getCode() == -3){ + logger.info("同步学生:total:" + result.getTotal() + ";pass:"+result.getPass()); for(YXYResultDetail detail : result.getData()){ if(StringUtils.isNotBlank(detail.getUserid())){ //成功 @@ -473,6 +484,7 @@ public class YXYWriteService { JSONArray array = initTeacherAddJson(school,addTeacherList); YXYResult result = getResult(prefix_url+suffix_teacher_add,array.toJSONString()); if(result.getCode() == 0 || result.getCode() == -3){ + logger.info("同步老师:total:" + result.getTotal() + ";pass:"+result.getPass()); for(YXYResultDetail detail : result.getData()){ if(StringUtils.isNotBlank(detail.getUserid())){ //成功 @@ -554,7 +566,7 @@ public class YXYWriteService { object.put("schoolid",yxtId); object.put("name",deptDto.getDeptName()); if(deptDto.getGradeId() != 0){ - object.put("groupname",getDept(list,deptDto.getGradeId()).getDeptName()); + object.put("groupname",scFeign.selectDeptByGradeId(deptDto.getGradeId()).getDeptName()); } array.add(object); } diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/SyncController.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/SyncController.java index 4b9eb4a..5e42960 100644 --- a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/SyncController.java +++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/SyncController.java @@ -69,6 +69,11 @@ public class SyncController { return syncService.selectUser(schoolId); } + @RequestMapping(value = "selectDeptByGradeId",method = RequestMethod.GET) + SyncDeptDto selectDeptByGradeId(@RequestParam("gradeId") int gradeId){ + return syncService.selectDeptByGradeId(gradeId); + } + @RequestMapping(value = "selectYxyIdByHxyId",method = RequestMethod.GET) String selectYxyIdByHxyId(@RequestParam("hxyId") int hxyId){ return syncService.selectYxyIdByHxyId(hxyId); diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/SyncMapper.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/SyncMapper.java index c86d328..b41d8ed 100644 --- a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/SyncMapper.java +++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/SyncMapper.java @@ -26,6 +26,8 @@ public interface SyncMapper { List selectDept(int schoolId) ; + SyncDeptDto selectDeptByGradeId(int gradeId); + List selectUser(int schoolId); int insertDeptRelation(DeptRelationDto deptRelationDto); diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/SyncService.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/SyncService.java index 9eb8b12..d05bbf5 100644 --- a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/SyncService.java +++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/SyncService.java @@ -25,6 +25,8 @@ public interface SyncService { List selectDept(int schoolId) ; + SyncDeptDto selectDeptByGradeId(int gradeId); + List selectUser(int schoolId); int insertDeptRelation(DeptRelationDto deptRelationDto); diff --git a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/SyncServiceImpl.java b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/SyncServiceImpl.java index 5c77bcc..96250e2 100644 --- a/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/SyncServiceImpl.java +++ b/cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/SyncServiceImpl.java @@ -55,6 +55,11 @@ public class SyncServiceImpl implements SyncService { } @Override + public SyncDeptDto selectDeptByGradeId(int gradeId) { + return syncMapper.selectDeptByGradeId(gradeId); + } + + @Override public List selectUser(int schoolId) { return syncMapper.selectUser(schoolId); } diff --git a/cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml b/cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml index 7d1594c..2d1610c 100644 --- a/cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml +++ b/cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml @@ -40,7 +40,12 @@ + + -- libgit2 0.21.0