|
@@ -9,19 +9,20 @@ import java.util.List;
|
|
|
|
|
|
import javax.transaction.Transactional;
|
|
import javax.transaction.Transactional;
|
|
|
|
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.domain.Example;
|
|
import org.springframework.data.domain.Example;
|
|
import org.springframework.data.domain.ExampleMatcher;
|
|
import org.springframework.data.domain.ExampleMatcher;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
-import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
import cn.com.qmth.examcloud.commons.base.util.ErrorMsg;
|
|
import cn.com.qmth.examcloud.commons.base.util.ErrorMsg;
|
|
import cn.com.qmth.examcloud.commons.web.security.AccessCtrlUtil;
|
|
import cn.com.qmth.examcloud.commons.web.security.AccessCtrlUtil;
|
|
import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
|
|
import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
|
|
import cn.com.qmth.examcloud.core.basic.dao.StudentRepo;
|
|
import cn.com.qmth.examcloud.core.basic.dao.StudentRepo;
|
|
import cn.com.qmth.examcloud.core.basic.dao.UserRepo;
|
|
import cn.com.qmth.examcloud.core.basic.dao.UserRepo;
|
|
|
|
+import cn.com.qmth.examcloud.core.basic.dao.constants.Consts;
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.Org;
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.Org;
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.Student;
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.Student;
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.UserEntity;
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.UserEntity;
|
|
@@ -115,52 +116,64 @@ public class StudentService {
|
|
|
|
|
|
@Transactional
|
|
@Transactional
|
|
public Student save(Student student) {
|
|
public Student save(Student student) {
|
|
- if (student.getUser() == null || null == student.getUser().getId()) {//判断是否有用户
|
|
|
|
- //判断是否有该学生,
|
|
|
|
|
|
+ //判断是否有用户
|
|
|
|
+ if (student.getUser() == null || null == student.getUser().getId()) {
|
|
|
|
+ //判断是否有该学生
|
|
if (!StringUtils.isEmpty(student.getStudentCode())) {
|
|
if (!StringUtils.isEmpty(student.getStudentCode())) {
|
|
- Student domain = studentRepo.findByRootOrgIdAndStudentCode(student.getUser().getRootOrgId(), student.getStudentCode());
|
|
|
|
- if (domain != null) {//学号查找不为空,更新身份证号
|
|
|
|
- domain.setIdentityNumber(student.getIdentityNumber());
|
|
|
|
- domain.setUpdateTime(new Date());
|
|
|
|
- domain.setName(student.getName());
|
|
|
|
- domain.setOrgId(student.getOrgId());
|
|
|
|
- domain = studentRepo.save(domain);
|
|
|
|
- dataSendService.sendStudent(domain);
|
|
|
|
- return domain;
|
|
|
|
|
|
+ //学号查找不为空,更新身份证号
|
|
|
|
+ Student s1 = studentRepo.findByRootOrgIdAndStudentCode(student.getUser().getRootOrgId(), student.getStudentCode());
|
|
|
|
+ if (s1 != null) {
|
|
|
|
+ s1.setIdentityNumber(student.getIdentityNumber());
|
|
|
|
+ s1.setUpdateTime(new Date());
|
|
|
|
+ s1.setName(student.getName());
|
|
|
|
+ s1.setOrgId(student.getOrgId());
|
|
|
|
+ s1 = studentRepo.save(s1);
|
|
|
|
+ dataSendService.sendStudent(s1);
|
|
|
|
+ return s1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- Student entity = studentRepo.findByIdentityNumberAndRootOrgId(student.getIdentityNumber(), student.getRootOrgId());
|
|
|
|
- if (entity != null) {//身份证查找不为空,更新学号
|
|
|
|
- entity.setStudentCode(student.getStudentCode());
|
|
|
|
- entity.setUpdateTime(new Date());
|
|
|
|
- entity.setName(student.getName());
|
|
|
|
- entity.setOrgId(student.getOrgId());
|
|
|
|
- entity = studentRepo.save(entity);
|
|
|
|
- dataSendService.sendStudent(entity);
|
|
|
|
- return entity;
|
|
|
|
|
|
+
|
|
|
|
+ //身份证查找不为空,更新学号
|
|
|
|
+ Student s2 = studentRepo.findByIdentityNumberAndRootOrgId(student.getIdentityNumber(), student.getRootOrgId());
|
|
|
|
+ if (s2 != null) {
|
|
|
|
+ s2.setStudentCode(student.getStudentCode());
|
|
|
|
+ s2.setUpdateTime(new Date());
|
|
|
|
+ s2.setName(student.getName());
|
|
|
|
+ s2.setOrgId(student.getOrgId());
|
|
|
|
+ s2 = studentRepo.save(s2);
|
|
|
|
+ dataSendService.sendStudent(s2);
|
|
|
|
+ return s2;
|
|
}
|
|
}
|
|
|
|
+
|
|
student.setOrgId(student.getUser().getOrgId());
|
|
student.setOrgId(student.getUser().getOrgId());
|
|
student.setRootOrgId(student.getUser().getRootOrgId());
|
|
student.setRootOrgId(student.getUser().getRootOrgId());
|
|
//新建用户和学生
|
|
//新建用户和学生
|
|
UserEntity user = new UserEntity(student.getName(), UserScope.ORG, student.getUser().getRootOrgId(), student.getUser().getOrgId(), UserType.STUDENT);
|
|
UserEntity user = new UserEntity(student.getName(), UserScope.ORG, student.getUser().getRootOrgId(), student.getUser().getOrgId(), UserType.STUDENT);
|
|
user.setEnable(student.getUser().getEnable() == null ? true : student.getUser().getEnable());
|
|
user.setEnable(student.getUser().getEnable() == null ? true : student.getUser().getEnable());
|
|
- String password = null;
|
|
|
|
- if (!StringUtils.isEmpty(student.getIdentityNumber())) {//身份证号后6位
|
|
|
|
- if (!StringUtils.isEmpty(student.getStudentCode())) {
|
|
|
|
- user.setLoginName(student.getStudentCode());
|
|
|
|
- } else {
|
|
|
|
- user.setLoginName(student.getIdentityNumber());
|
|
|
|
- }
|
|
|
|
- password = student.getIdentityNumber().substring(student.getIdentityNumber().length() - 6, student.getIdentityNumber().length());
|
|
|
|
- }
|
|
|
|
- user.setPassword(password);
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (StringUtils.isNotEmpty(student.getStudentCode())) {
|
|
|
|
+ user.setLoginName(student.getStudentCode());
|
|
|
|
+ } else {
|
|
|
|
+ user.setLoginName(student.getIdentityNumber());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ String identityNumber = student.getIdentityNumber();
|
|
|
|
+ if (StringUtils.isNotEmpty(identityNumber)
|
|
|
|
+ && identityNumber.matches("[0-9a-zA-Z]{6,}")) {
|
|
|
|
+ user.setPassword(
|
|
|
|
+ StringUtils.substring(identityNumber, -6, identityNumber.length()));
|
|
|
|
+ } else {
|
|
|
|
+ user.setPassword(Consts.DEFAULT_PASSWORD);
|
|
|
|
+ }
|
|
|
|
+
|
|
List<UserRole> userRoles = new ArrayList<UserRole>();
|
|
List<UserRole> userRoles = new ArrayList<UserRole>();
|
|
userRoles.add(new UserRole("STUDENT"));
|
|
userRoles.add(new UserRole("STUDENT"));
|
|
user.setUserRoles(userRoles);
|
|
user.setUserRoles(userRoles);
|
|
userRepo.save(user);
|
|
userRepo.save(user);
|
|
student.setUser(user);
|
|
student.setUser(user);
|
|
}
|
|
}
|
|
|
|
+
|
|
student = studentRepo.save(student);
|
|
student = studentRepo.save(student);
|
|
dataSendService.sendStudent(student);
|
|
dataSendService.sendStudent(student);
|
|
return student;
|
|
return student;
|