|
@@ -253,12 +253,13 @@ public class UserServiceImpl implements UserService {
|
|
|
private void saveMarkerBySubject(int examId, Integer number, String password, String subjectCode) {
|
|
|
Exam exam = examService.findById(examId);
|
|
|
List<MarkGroup> groups = groupService.findByExamAndSubject(examId, subjectCode);
|
|
|
- List<Marker> saveList = new ArrayList<Marker>();
|
|
|
for (MarkGroup group : groups) {
|
|
|
+ List<Marker> saveList = new ArrayList<Marker>();
|
|
|
String prefix = exam.getSchoolId() + "-" + subjectCode + "-" + group.getNumber();
|
|
|
int maxNumber = this.findMaxNumberByLoginNameStart(prefix);
|
|
|
- for (int j = 0; j < number; j++) {
|
|
|
- String loginName = prefix + "-" + (maxNumber + j + 1);
|
|
|
+ int createNumber = 1;
|
|
|
+ while (saveList.size() < number) {
|
|
|
+ String loginName = prefix + "-" + (maxNumber + createNumber);
|
|
|
User user = userDao.findFirstByLoginName(loginName);
|
|
|
if (user == null) {
|
|
|
user = new User();
|
|
@@ -270,15 +271,11 @@ public class UserServiceImpl implements UserService {
|
|
|
user.setEnable(true);
|
|
|
user.setSchoolId(exam.getSchoolId());
|
|
|
user.setCreatedTime(new Date());
|
|
|
- }
|
|
|
- if (StringUtils.isNotBlank(password)) {
|
|
|
- user.setPassword(EncryptUtils.md5(password));
|
|
|
- }
|
|
|
- userDao.save(user);
|
|
|
- Marker marker = markerService.findByExamAndSubjectAndNumberAndUserId(examId, subjectCode,
|
|
|
- group.getNumber(), user.getId());
|
|
|
- if (marker == null) {
|
|
|
- marker = new Marker();
|
|
|
+ if (StringUtils.isNotBlank(password)) {
|
|
|
+ user.setPassword(EncryptUtils.md5(password));
|
|
|
+ }
|
|
|
+ userDao.save(user);
|
|
|
+ Marker marker = new Marker();
|
|
|
marker.setSubjectCode(subjectCode);
|
|
|
marker.setGroupNumber(group.getNumber());
|
|
|
marker.setUserId(user.getId());
|
|
@@ -286,9 +283,10 @@ public class UserServiceImpl implements UserService {
|
|
|
marker.setEnable(true);
|
|
|
saveList.add(marker);
|
|
|
}
|
|
|
+ createNumber++;
|
|
|
}
|
|
|
+ markerService.batchSave(saveList);
|
|
|
}
|
|
|
- markerService.batchSave(saveList);
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@@ -309,13 +307,14 @@ public class UserServiceImpl implements UserService {
|
|
|
private void saveSubjectUserBySubject(int examId, Integer number, Role role, String subjectCode) {
|
|
|
Exam exam = examService.findById(examId);
|
|
|
List<SubjectUser> saveList = new ArrayList<SubjectUser>();
|
|
|
- for (int i = 0; i < number; i++) {
|
|
|
+ int createNumber = 1;
|
|
|
+ while (saveList.size() < number) {
|
|
|
String prefix = exam.getSchoolId() + "-" + subjectCode;
|
|
|
if (role.equals(Role.INSPECTOR)) {
|
|
|
prefix = exam.getSchoolId() + "-FH-" + subjectCode;
|
|
|
}
|
|
|
int maxNumber = this.findMaxNumberByLoginNameStart(prefix);
|
|
|
- String loginName = prefix + "-" + (maxNumber + i + 1);
|
|
|
+ String loginName = prefix + "-" + (maxNumber + createNumber);
|
|
|
User user = userDao.findFirstByLoginName(loginName);
|
|
|
if (user == null) {
|
|
|
user = new User();
|
|
@@ -327,17 +326,13 @@ public class UserServiceImpl implements UserService {
|
|
|
user.setEnable(true);
|
|
|
user.setSchoolId(exam.getSchoolId());
|
|
|
user.setCreatedTime(new Date());
|
|
|
- } else {
|
|
|
- user.setPassword(EncryptUtils.md5(USER_PASSWORD));
|
|
|
- }
|
|
|
- userDao.save(user);
|
|
|
- SubjectUser subjectUser = subjectUserService.findBySubjectCodeAndUserId(subjectCode, user.getId());
|
|
|
- if (subjectUser == null) {
|
|
|
- subjectUser = new SubjectUser();
|
|
|
+ user = userDao.save(user);
|
|
|
+ SubjectUser subjectUser = new SubjectUser();
|
|
|
subjectUser.setSubjectCode(subjectCode);
|
|
|
subjectUser.setUserId(user.getId());
|
|
|
saveList.add(subjectUser);
|
|
|
}
|
|
|
+ createNumber++;
|
|
|
}
|
|
|
subjectUserService.batchSave(saveList);
|
|
|
}
|