Parcourir la source

Merge branch 'master' of http://git.dayaedu.com/yonge/edu-saas

zouxuan il y a 5 ans
Parent
commit
5d9762d79d

+ 4 - 0
edu-common/src/main/java/com/keao/edu/common/controller/BaseController.java

@@ -29,6 +29,10 @@ public class BaseController {
 		return getResponseData(true, HttpStatus.OK, obj, "操作成功");
 	}
 
+	public static HttpResponseResult succeedMsg(String msg) {
+		return getResponseData(true, HttpStatus.OK, null, msg);
+	}
+
 	public static <T> HttpResponseResult<T> warned(String message) {
 		return failed(HttpStatus.MULTI_STATUS, message);
 	}

+ 32 - 29
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamRoomServiceImpl.java

@@ -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);

+ 3 - 1
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamRoomStudentRelationServiceImpl.java

@@ -76,6 +76,8 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 	private IdGeneratorService idGeneratorService;
 	@Autowired
 	private SysConfigService sysConfigService;
+	@Autowired
+	private ShortUrlService shortUrlService;
 
 	@Override
 	public BaseDAO<Long, ExamRoomStudentRelation> getDAO() {
@@ -234,7 +236,7 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 						examName, examDayStr, examTimeStr, locationName);
 				sysMessageService.batchSendMessage(smsMessageType,
 						phoneMap, null, 0, null, YimeiSmsPlugin.PLUGIN_NAME,
-						examName, examDayStr, examTimeStr, locationName, downloadUrl + examRoomStudentRelation.getExamRegistrationId());
+						examName, examDayStr, examTimeStr, locationName, shortUrlService.createShortUrl(downloadUrl + examRoomStudentRelation.getExamRegistrationId()));
 			}
 		}
 	}