浏览代码

。。。

wangwei 7 年之前
父节点
当前提交
cff612bb2f

+ 22 - 0
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/StudentController.java

@@ -39,6 +39,7 @@ 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.constants.Consts;
 import cn.com.qmth.examcloud.core.basic.dao.entity.Student;
+import cn.com.qmth.examcloud.core.basic.service.bean.StudentInfo;
 import cn.com.qmth.examcloud.core.basic.service.impl.StudentServiceImpl;
 import io.swagger.annotations.ApiOperation;
 
@@ -255,4 +256,25 @@ public class StudentController extends ControllerSupport {
 		return s.getId();
 	}
 
+	/**
+	 * 查询用户
+	 *
+	 * @author WANGWEI
+	 * @param identityNumber
+	 * @param studentCode
+	 * @param securityPhone
+	 * @return
+	 */
+	@ApiOperation(value = "查询学生")
+	@GetMapping("getStudentInfo")
+	public StudentInfo getStudentInfo(@RequestParam(required = false) String identityNumber,
+			@RequestParam(required = false) String studentCode,
+			@RequestParam(required = false) String securityPhone) {
+		User accessUser = getAccessUser();
+		Long rootOrgId = accessUser.getRootOrgId();
+		StudentInfo studentInfo = studentService.getStudentInfo(rootOrgId, identityNumber,
+				studentCode, securityPhone);
+		return studentInfo;
+	}
+
 }

+ 2 - 0
examcloud-core-basic-dao/src/main/java/cn/com/qmth/examcloud/core/basic/dao/StudentRepo.java

@@ -26,6 +26,8 @@ public interface StudentRepo
 
 	Student findByStudentCodeAndRootOrgId(String studentCode, Long rootOrgId);
 
+	Student findBySecurityPhoneAndRootOrgId(String securityPhone, Long rootOrgId);
+
 	List<Student> findAllByIdentityNumberAndRootOrgId(String identityNumber, Long rootOrgId);
 
 	List<Student> findAllByStudentCodeAndRootOrgId(String studentCode, Long rootOrgId);

+ 15 - 0
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/StudentService.java

@@ -1,5 +1,7 @@
 package cn.com.qmth.examcloud.core.basic.service;
 
+import org.springframework.web.bind.annotation.RequestParam;
+
 import cn.com.qmth.examcloud.core.basic.dao.entity.Student;
 import cn.com.qmth.examcloud.core.basic.service.bean.StudentInfo;
 
@@ -21,4 +23,17 @@ public interface StudentService {
 	 */
 	Student insertOrUpdateStudent(StudentInfo studentInfo);
 
+	/**
+	 * 查询
+	 *
+	 * @author WANGWEI
+	 * @param rootOrgId
+	 * @param identityNumber
+	 * @param studentCode
+	 * @param securityPhone
+	 * @return
+	 */
+	StudentInfo getStudentInfo(Long rootOrgId, String identityNumber, String studentCode,
+			String securityPhone);
+
 }

+ 26 - 0
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/bean/StudentInfo.java

@@ -13,6 +13,11 @@ public class StudentInfo implements JsonSerializable {
 
 	private static final long serialVersionUID = 5341258253620314306L;
 
+	/**
+	 * 学生ID
+	 */
+	private Long id;
+
 	/**
 	 * 学生姓名
 	 */
@@ -68,6 +73,19 @@ public class StudentInfo implements JsonSerializable {
 	 */
 	private Boolean enable;
 
+	/**
+	 * 安全手机号码(用于登录)
+	 */
+	private String securityPhone;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
 	public String getName() {
 		return name;
 	}
@@ -156,4 +174,12 @@ public class StudentInfo implements JsonSerializable {
 		this.enable = enable;
 	}
 
+	public String getSecurityPhone() {
+		return securityPhone;
+	}
+
+	public void setSecurityPhone(String securityPhone) {
+		this.securityPhone = securityPhone;
+	}
+
 }

+ 59 - 0
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/StudentServiceImpl.java

@@ -249,4 +249,63 @@ public class StudentServiceImpl implements StudentService {
 		return saved;
 	}
 
+	/*
+	 * 实现
+	 *
+	 * @author WANGWEI
+	 * 
+	 * @see
+	 * cn.com.qmth.examcloud.core.basic.service.StudentService#getStudentInfo(
+	 * java.lang.Long, java.lang.String, java.lang.String, java.lang.String)
+	 */
+	@Override
+	public StudentInfo getStudentInfo(Long rootOrgId, String identityNumber, String studentCode,
+			String securityPhone) {
+		Student s = null;
+		int count = 0;
+		if (StringUtils.isNotBlank(identityNumber)) {
+			count++;
+			s = studentRepo.findByIdentityNumberAndRootOrgId(identityNumber, rootOrgId);
+		}
+		if (StringUtils.isNotBlank(studentCode)) {
+			count++;
+			s = studentRepo.findByStudentCodeAndRootOrgId(studentCode, rootOrgId);
+		}
+		if (StringUtils.isNotBlank(securityPhone)) {
+			count++;
+			s = studentRepo.findBySecurityPhoneAndRootOrgId(securityPhone, rootOrgId);
+		}
+
+		if (count > 1) {
+			throw new StatusException("B-160210",
+					"参数过多,只需要[identityNumber,studentCode,securityPhone]中的一个");
+		}
+
+		if (null == s) {
+			throw new StatusException("B-160211", "学生不存在");
+		}
+
+		StudentInfo info = new StudentInfo();
+		info.setId(s.getId());
+		info.setEnable(s.getEnable());
+		info.setIdentityNumber(s.getIdentityNumber());
+		info.setName(s.getName());
+		info.setOrgId(s.getOrgId());
+		if (null != s.getOrgId()) {
+			Org org = orgRepo.findOne(s.getOrgId());
+			if (null != org) {
+				info.setOrgCode(org.getCode());
+				info.setOrgName(org.getName());
+			}
+		}
+		info.setPhoneNumber(s.getPhoneNumber());
+		info.setPhotoPath(s.getPhotoPath());
+		info.setRemark(s.getRemark());
+		info.setRootOrgId(s.getRootOrgId());
+		info.setSecurityPhone(s.getSecurityPhone());
+		info.setStudentCode(s.getStudentCode());
+
+		return info;
+	}
+
 }