Jelajahi Sumber

提交学生登录代码

chenken 7 tahun lalu
induk
melakukan
a585bd9696

+ 45 - 5
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/provider/UserCloudServiceProvider.java

@@ -24,7 +24,10 @@ import cn.com.qmth.examcloud.core.basic.api.response.LoginResp;
 import cn.com.qmth.examcloud.core.basic.base.enums.AccountType;
 import cn.com.qmth.examcloud.core.basic.base.enums.UserType;
 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.UserRepo;
 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.User;
 import cn.com.qmth.examcloud.core.basic.dao.entity.UserRole;
 import cn.com.qmth.examcloud.core.basic.service.UserService;
@@ -44,9 +47,15 @@ public class UserCloudServiceProvider extends ControllerSupport implements UserC
 
 	@Autowired
 	UserService userService;
+	
+	@Autowired
+	UserRepo userRepo;
 
 	@Autowired
 	OrgRepo orgRepo;
+	
+	@Autowired
+	StudentRepo studentRepo;
 
 	@ApiOperation(value = "登录", notes = "")
 	@PostMapping("login")
@@ -54,13 +63,13 @@ public class UserCloudServiceProvider extends ControllerSupport implements UserC
 	public LoginResp login(@RequestBody LoginReq req) {
 
 		String rootOrgId = req.getRootOrgId();
-
+		Org org = null;
 		if (StringUtils.isBlank(rootOrgId)) {
 			if (StringUtils.isBlank(req.getDomain())) {
 				throw new StatusException("B-001001", "domain,rootOrgId 必须有一个不为空");
 			}
 
-			Org org = orgRepo.findFirstByParentIdAndCode(0L, req.getDomain());
+			org = orgRepo.findFirstByParentIdAndCode(0L, req.getDomain());
 
 			rootOrgId = String.valueOf(org.getRootId());
 
@@ -89,7 +98,8 @@ public class UserCloudServiceProvider extends ControllerSupport implements UserC
 			userBean.setUserId(user.getId());
 			userBean.setDisplayName(user.getLoginName());
 			userBean.setRootOrgId(user.getRootOrgId());
-
+			userBean.setRootOrgName(org.getName());
+			userBean.setOrgId(user.getOrgId());
 			List<UserRole> userRoles = user.getUserRoles();
 			ArrayList<RoleBean> roleList = Lists.newArrayList();
 
@@ -108,11 +118,41 @@ public class UserCloudServiceProvider extends ControllerSupport implements UserC
 		}
 		// 学生学号登录
 		else if (AccountType.STUDENT_CODE.getCode().equals(accountType)) {
-
+	        Student student = studentRepo.findByStudentCodeAndRootOrgId(accountValue, org.getId());
+	        if (null == student) {
+				throw new StatusException("B-001005", "学生信息不存在");
+			}
+	        User user = userRepo.findOne(student.getUser().getId());
+			String rightPassword = user.getPassword();
+			if (!rightPassword.equals(password)) {
+				throw new StatusException("B-001003", "密码错误");
+			}
+			userBean.setUserType(UserType.STUDENT.getCode());
+			userBean.setUserId(student.getId());		//学生userid存studentId
+			userBean.setDisplayName(user.getLoginName());
+			userBean.setRootOrgId(user.getRootOrgId());
+			userBean.setOrgId(user.getOrgId());
+			userBean.setStudentCode(student.getStudentCode());
+			userBean.setIdentityNumber(student.getIdentityNumber());
 		}
 		// 学生身份证号登录
 		else if (AccountType.STUDENT_IDENTITY_NUMBER.getCode().equals(accountType)) {
-
+			Student student = studentRepo.findByIdentityNumberAndRootOrgId(accountValue,  org.getId());
+	        if (null == student) {
+				throw new StatusException("B-001005", "学生信息不存在");
+			}
+	        User user = userRepo.findOne(student.getUser().getId());
+			String rightPassword = user.getPassword();
+			if (!rightPassword.equals(password)) {
+				throw new StatusException("B-001003", "密码错误");
+			}
+			userBean.setUserType(UserType.STUDENT.getCode());
+			userBean.setUserId(student.getId());		//学生userid存studentId
+			userBean.setDisplayName(user.getLoginName());
+			userBean.setRootOrgId(user.getRootOrgId());
+			userBean.setOrgId(user.getOrgId());
+			userBean.setStudentCode(student.getStudentCode());
+			userBean.setIdentityNumber(student.getIdentityNumber());
 		}
 
 		LoginResp resp = new LoginResp();

+ 8 - 1
examcloud-core-basic-api/src/main/java/cn/com/qmth/examcloud/core/basic/api/bean/RoleBean.java

@@ -16,7 +16,14 @@ public class RoleBean implements JsonSerializable {
 	private String roleCode;
 
 	private String roleName;
-
+	
+	public RoleBean(){}
+	
+	public RoleBean(String roleCode,String roleName){
+		this.roleCode = roleCode;
+		this.roleName = roleName;
+	}
+	
 	public String getRoleCode() {
 		return roleCode;
 	}

+ 53 - 1
examcloud-core-basic-api/src/main/java/cn/com/qmth/examcloud/core/basic/api/bean/UserBean.java

@@ -31,14 +31,34 @@ public class UserBean implements JsonSerializable {
 	private String displayName;
 
 	/**
-	 * 顶级机构ID
+	 * 顶级机构(学校)ID
 	 */
 	private Long rootOrgId;
+	
+	/**
+	 * 顶级机构(学校)名称
+	 */
+	private String rootOrgName;
+	
+	/**
+	 * 学习中心 ID
+	 */
+	private Long orgId;
 
 	/**
 	 * 角色集合
 	 */
 	private List<RoleBean> roleList;
+	
+	/**
+	 * 学号 
+	 */
+	private String studentCode;
+	
+	/**
+	 * 身份证号
+	 */
+	private String identityNumber;
 
 	public String getUserType() {
 		return userType;
@@ -80,4 +100,36 @@ public class UserBean implements JsonSerializable {
 		this.roleList = roleList;
 	}
 
+	public Long getOrgId() {
+		return orgId;
+	}
+
+	public void setOrgId(Long orgId) {
+		this.orgId = orgId;
+	}
+
+	public String getRootOrgName() {
+		return rootOrgName;
+	}
+
+	public void setRootOrgName(String rootOrgName) {
+		this.rootOrgName = rootOrgName;
+	}
+
+	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;
+	}
+	
 }