Browse Source

。。。。

wangwei 7 years ago
parent
commit
9fe2f84477

+ 9 - 2
examcloud-core-basic-api-client/src/main/java/cn/com/qmth/examcloud/core/basic/api/client/StudentCloudServiceClient.java

@@ -5,7 +5,9 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 
 import cn.com.qmth.examcloud.core.basic.api.StudentCloudService;
+import cn.com.qmth.examcloud.core.basic.api.request.GetStudentReq;
 import cn.com.qmth.examcloud.core.basic.api.request.InsertOrUpdateStudentReq;
+import cn.com.qmth.examcloud.core.basic.api.response.GetStudentResp;
 import cn.com.qmth.examcloud.core.basic.api.response.InsertOrUpdateStudentResp;
 
 @Service
@@ -18,14 +20,19 @@ public class StudentCloudServiceClient extends BasicCloudClientSupport
 	@Autowired
 	private RestTemplate restTemplate;
 
+	@Override
+	protected RestTemplate getRestTemplate() {
+		return restTemplate;
+	}
+
 	@Override
 	public InsertOrUpdateStudentResp insertOrUpdateStudent(InsertOrUpdateStudentReq studentReq) {
 		return post("student/insertOrUpdateStudent", studentReq, InsertOrUpdateStudentResp.class);
 	}
 
 	@Override
-	protected RestTemplate getRestTemplate() {
-		return restTemplate;
+	public GetStudentResp getStudent(GetStudentReq req) {
+		return post("student/getStudent", req, GetStudentResp.class);
 	}
 
 }

+ 56 - 0
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/provider/StudentCloudServiceProvider.java

@@ -1,14 +1,19 @@
 package cn.com.qmth.examcloud.core.basic.api.provider;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import cn.com.qmth.examcloud.commons.base.exception.StatusException;
 import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.core.basic.api.StudentCloudService;
+import cn.com.qmth.examcloud.core.basic.api.bean.StudentBean;
+import cn.com.qmth.examcloud.core.basic.api.request.GetStudentReq;
 import cn.com.qmth.examcloud.core.basic.api.request.InsertOrUpdateStudentReq;
+import cn.com.qmth.examcloud.core.basic.api.response.GetStudentResp;
 import cn.com.qmth.examcloud.core.basic.api.response.InsertOrUpdateStudentResp;
 import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
 import cn.com.qmth.examcloud.core.basic.dao.StudentRepo;
@@ -67,4 +72,55 @@ public class StudentCloudServiceProvider extends ControllerSupport implements St
 		return resp;
 	}
 
+	@ApiOperation(value = "查询学生")
+	@PostMapping("getStudent")
+	@Override
+	public GetStudentResp getStudent(GetStudentReq req) {
+		Long rootOrgId = req.getRootOrgId();
+		String studentCode = req.getStudentCode();
+		String identityNumber = req.getIdentityNumber();
+
+		if (null == rootOrgId) {
+			throw new StatusException("B-150000", "rootOrgId is null");
+		}
+		if (StringUtils.isBlank(studentCode)) {
+			throw new StatusException("B-150003", "studentCode is null");
+		}
+		if (StringUtils.isBlank(identityNumber)) {
+			throw new StatusException("B-150004", "identityNumber is null");
+		}
+
+		Org rootOrg = orgRepo.findOne(rootOrgId);
+		if (null == rootOrg) {
+			throw new StatusException("B-150001", "机构不存在");
+		}
+		if (!rootOrg.getParentId().equals(0L)) {
+			throw new StatusException("B-150002", "机构错误");
+		}
+
+		Student student = studentRepo.findByIdentityNumberAndStudentCodeAndRootOrgId(identityNumber,
+				studentCode, rootOrgId);
+
+		if (null == student) {
+			throw new StatusException("B-150005", "学生不存在");
+		}
+
+		Org org = orgRepo.findOne(student.getOrgId());
+
+		StudentBean studentBean = new StudentBean();
+		studentBean.setName(student.getName());
+		studentBean.setIdentityNumber(student.getIdentityNumber());
+		studentBean.setStudentCode(student.getStudentCode());
+		studentBean.setRootOrgId(student.getRootOrgId());
+		studentBean.setOrgCode(org.getCode());
+		studentBean.setOrgName(org.getName());
+		studentBean.setPhoneNumber(student.getPhoneNumber());
+		studentBean.setPhotoPath(student.getPhotoPath());
+		studentBean.setRemark(student.getRemark());
+
+		GetStudentResp resp = new GetStudentResp();
+		resp.setStudentInfo(studentBean);
+		return resp;
+	}
+
 }

+ 4 - 0
examcloud-core-basic-api/src/main/java/cn/com/qmth/examcloud/core/basic/api/StudentCloudService.java

@@ -1,7 +1,9 @@
 package cn.com.qmth.examcloud.core.basic.api;
 
 import cn.com.qmth.examcloud.commons.web.cloud.api.CloudService;
+import cn.com.qmth.examcloud.core.basic.api.request.GetStudentReq;
 import cn.com.qmth.examcloud.core.basic.api.request.InsertOrUpdateStudentReq;
+import cn.com.qmth.examcloud.core.basic.api.response.GetStudentResp;
 import cn.com.qmth.examcloud.core.basic.api.response.InsertOrUpdateStudentResp;
 
 /**
@@ -22,4 +24,6 @@ public interface StudentCloudService extends CloudService {
 	 */
 	InsertOrUpdateStudentResp insertOrUpdateStudent(InsertOrUpdateStudentReq req);
 
+	GetStudentResp getStudent(GetStudentReq req);
+
 }

+ 139 - 0
examcloud-core-basic-api/src/main/java/cn/com/qmth/examcloud/core/basic/api/bean/StudentBean.java

@@ -0,0 +1,139 @@
+package cn.com.qmth.examcloud.core.basic.api.bean;
+
+import cn.com.qmth.examcloud.commons.web.cloud.api.JsonSerializable;
+
+public class StudentBean implements JsonSerializable {
+
+	private static final long serialVersionUID = -5365301843181593678L;
+
+	/**
+	 * 学生姓名
+	 */
+	private String name;
+
+	/**
+	 * 顶级机构ID
+	 */
+	private Long rootOrgId;
+
+	/**
+	 * 机构ID
+	 */
+	private Long orgId;
+
+	/**
+	 * 学习中心编码
+	 */
+	private String orgCode;
+
+	/**
+	 * 学习中心名称
+	 */
+	private String orgName;
+
+	/**
+	 * 学生code
+	 */
+	private String studentCode;
+
+	/**
+	 * 身份证号码
+	 */
+	private String identityNumber;
+
+	/**
+	 * 备注
+	 */
+	private String remark;
+
+	/**
+	 * 图片地址
+	 */
+	private String photoPath;
+
+	/**
+	 * 手机号码
+	 */
+	private String phoneNumber;
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public Long getOrgId() {
+		return orgId;
+	}
+
+	public void setOrgId(Long orgId) {
+		this.orgId = orgId;
+	}
+
+	public String getOrgCode() {
+		return orgCode;
+	}
+
+	public void setOrgCode(String orgCode) {
+		this.orgCode = orgCode;
+	}
+
+	public String getOrgName() {
+		return orgName;
+	}
+
+	public void setOrgName(String orgName) {
+		this.orgName = orgName;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public String getPhotoPath() {
+		return photoPath;
+	}
+
+	public void setPhotoPath(String photoPath) {
+		this.photoPath = photoPath;
+	}
+
+	public String getPhoneNumber() {
+		return phoneNumber;
+	}
+
+	public void setPhoneNumber(String phoneNumber) {
+		this.phoneNumber = phoneNumber;
+	}
+
+}

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

@@ -1,9 +0,0 @@
-package cn.com.qmth.examcloud.core.basic.api.bean;
-
-import cn.com.qmth.examcloud.commons.web.cloud.api.JsonSerializable;
-
-public class StudentInfo implements JsonSerializable {
-
-	private static final long serialVersionUID = -5365301843181593678L;
-
-}

+ 44 - 1
examcloud-core-basic-api/src/main/java/cn/com/qmth/examcloud/core/basic/api/request/GetStudentReq.java

@@ -1,5 +1,48 @@
 package cn.com.qmth.examcloud.core.basic.api.request;
 
-public class GetStudentReq {
+import cn.com.qmth.examcloud.commons.web.cloud.api.BaseRequest;
+
+public class GetStudentReq extends BaseRequest {
+
+	private static final long serialVersionUID = 2135618523755240278L;
+
+	/**
+	 * 顶级机构ID
+	 */
+	private Long rootOrgId;
+
+	/**
+	 * 学生code
+	 */
+	private String studentCode;
+
+	/**
+	 * 身份证号码
+	 */
+	private String identityNumber;
+
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
+
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
+
+	public String getStudentCode() {
+		return studentCode;
+	}
+
+	public void setStudentCode(String studentCode) {
+		this.studentCode = studentCode;
+	}
+
+	public String getIdentityNumber() {
+		return identityNumber;
+	}
+
+	public void setIdentityNumber(String identityNumber) {
+		this.identityNumber = identityNumber;
+	}
 
 }

+ 20 - 0
examcloud-core-basic-api/src/main/java/cn/com/qmth/examcloud/core/basic/api/response/GetStudentResp.java

@@ -0,0 +1,20 @@
+package cn.com.qmth.examcloud.core.basic.api.response;
+
+import cn.com.qmth.examcloud.commons.web.cloud.api.BaseResponse;
+import cn.com.qmth.examcloud.core.basic.api.bean.StudentBean;
+
+public class GetStudentResp extends BaseResponse {
+
+	private static final long serialVersionUID = 7197179106056569555L;
+
+	private StudentBean studentInfo;
+
+	public StudentBean getStudentInfo() {
+		return studentInfo;
+	}
+
+	public void setStudentInfo(StudentBean studentInfo) {
+		this.studentInfo = studentInfo;
+	}
+
+}