|
@@ -438,7 +438,7 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
|
|
|
List<ExamRoomStudentRelation> examRoomStudentWithOrgans = examRoomStudentRelationDao.getNoSendExamPlanRooms(examId.longValue(), null);
|
|
|
|
|
|
if(CollectionUtils.isEmpty(examRoomStudentWithOrgans)){
|
|
|
- return BaseController.succeed("所有考场都已发送考试安排");
|
|
|
+ return BaseController.succeedMsg("所有考场都已发送考试安排");
|
|
|
}
|
|
|
|
|
|
Set<Integer> locationIds = examRoomStudentWithOrgans.stream().filter(e -> Objects.nonNull(e.getExamLocationId())).map(ExamRoomStudentRelation::getExamLocationId).collect(Collectors.toSet());
|
|
@@ -478,6 +478,24 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
|
|
|
ExamRoom examRoom=students.get(0);
|
|
|
examRoom.setId(students.get(0).getExamRoomId());
|
|
|
|
|
|
+ MessageTypeEnum pushMessageType = MessageTypeEnum.EXAM_ROOM_CONFIRM_ONLINE_STUDENT_PUSH;
|
|
|
+ MessageTypeEnum smsMessageType = MessageTypeEnum.EXAM_ROOM_CONFIRM_ONLINE_STUDENT_SMS;
|
|
|
+
|
|
|
+ String examName = exam.getName();
|
|
|
+
|
|
|
+ String examDayStr = DateUtil.dateToString(examRoom.getExamStartTime(), "MM月dd日");
|
|
|
+ StringBuffer examTimeStr = new StringBuffer();
|
|
|
+ examTimeStr.append(DateUtil.dateToString(examRoom.getExamStartTime(), "HH时mm分"));
|
|
|
+ examTimeStr.append("-");
|
|
|
+ examTimeStr.append(DateUtil.dateToString(examRoom.getExamEndTime(), "HH时mm分"));
|
|
|
+
|
|
|
+ String locationName = "网络考场";
|
|
|
+ if(ExamModeEnum.OFFLINE.equals(examRoom.getExamMode())){
|
|
|
+ pushMessageType = MessageTypeEnum.EXAM_ROOM_CONFIRM_OFFLINE_STUDENT_PUSH;
|
|
|
+ smsMessageType = MessageTypeEnum.EXAM_ROOM_CONFIRM_OFFLINE_STUDENT_SMS;
|
|
|
+ locationName=idLocationMap.get(examRoom.getExamLocationId());
|
|
|
+ }
|
|
|
+
|
|
|
for (ExamRoomStudentRelation student : students) {
|
|
|
ExamRegistration examRegistration = studentRegistMap.get(Integer.valueOf(student.getExamRegistrationId().toString()));
|
|
|
if(Objects.isNull(examRegistration)){
|
|
@@ -510,6 +528,19 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
|
|
|
|
|
|
examRegistration.setCardNo(ec.getCardNo());
|
|
|
updateRegistrations.add(examRegistration);
|
|
|
+
|
|
|
+ Map<Integer, String> receiverMap = new HashMap<>();
|
|
|
+ receiverMap.put(student.getStudentId(), student.getStudentId().toString());
|
|
|
+ Map<Integer, String> phoneMap = new HashMap<>();
|
|
|
+ phoneMap.put(student.getStudentId(), idPhoneMap.get(student.getStudentId()));
|
|
|
+
|
|
|
+ String url = baseUrl + student.getExamRegistrationId();
|
|
|
+ sysMessageService.batchSendMessage(pushMessageType,
|
|
|
+ receiverMap, null, 0, url, JiguangPushPlugin.PLUGIN_NAME,
|
|
|
+ examName, examDayStr, examTimeStr, locationName);
|
|
|
+ sysMessageService.batchSendMessage(smsMessageType,
|
|
|
+ phoneMap, null, 0, null, YimeiSmsPlugin.PLUGIN_NAME,
|
|
|
+ examName, examDayStr, examTimeStr, locationName, downloadUrl + student.getExamRegistrationId());
|
|
|
}
|
|
|
|
|
|
needUpdateExamRooms.add(new ExamRoom(examRoom.getId(), 1));
|
|
@@ -527,34 +558,6 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
|
|
|
teacherExamRoomsMap.get(ateacherId).add(examRoom);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- Map<Integer, String> receiverMap = studentIds.stream().collect(Collectors.toMap(e->e, e->e.toString()));
|
|
|
- Map<Integer, String> phoneMap = idPhoneMap.entrySet().stream().filter(e->studentIds.contains(e.getKey())).collect(Collectors.toMap(e->e.getKey(), e->e.getValue()));
|
|
|
-
|
|
|
- MessageTypeEnum pushMessageType = MessageTypeEnum.EXAM_ROOM_CONFIRM_ONLINE_STUDENT_PUSH;
|
|
|
- MessageTypeEnum smsMessageType = MessageTypeEnum.EXAM_ROOM_CONFIRM_ONLINE_STUDENT_SMS;
|
|
|
-
|
|
|
- String examName = exam.getName();
|
|
|
-
|
|
|
- String examDayStr = DateUtil.dateToString(examRoom.getExamStartTime(), "MM月dd日");
|
|
|
- StringBuffer examTimeStr = new StringBuffer();
|
|
|
- examTimeStr.append(DateUtil.dateToString(examRoom.getExamStartTime(), "HH时mm分"));
|
|
|
- examTimeStr.append("-");
|
|
|
- examTimeStr.append(DateUtil.dateToString(examRoom.getExamEndTime(), "HH时mm分"));
|
|
|
-
|
|
|
- String locationName = "网络考场";
|
|
|
- if(ExamModeEnum.OFFLINE.equals(examRoom.getExamMode())){
|
|
|
- pushMessageType = MessageTypeEnum.EXAM_ROOM_CONFIRM_OFFLINE_STUDENT_PUSH;
|
|
|
- smsMessageType = MessageTypeEnum.EXAM_ROOM_CONFIRM_OFFLINE_STUDENT_SMS;
|
|
|
- locationName=idLocationMap.get(examRoom.getExamLocationId());
|
|
|
- }
|
|
|
- String url = baseUrl + students.get(0).getExamRegistrationId();
|
|
|
- sysMessageService.batchSendMessage(pushMessageType,
|
|
|
- receiverMap, null, 0, url, JiguangPushPlugin.PLUGIN_NAME,
|
|
|
- examName, examDayStr, examTimeStr, locationName);
|
|
|
- sysMessageService.batchSendMessage(smsMessageType,
|
|
|
- phoneMap, null, 0, null, YimeiSmsPlugin.PLUGIN_NAME,
|
|
|
- examName, examDayStr, examTimeStr, locationName, downloadUrl + students.get(0).getExamRegistrationId());
|
|
|
}
|
|
|
|
|
|
Map<Integer, String> idTeacherPhoneMap = this.getMap("sys_user", "id_", "phone_", new ArrayList(teacherExamRoomsMap.keySet()), Integer.class, String.class);
|