Browse Source

Merge branch 'master' of http://git.qmth.com.cn/ExamCloud-2/examcloud-core-basic

weiwenhai 7 years ago
parent
commit
8f5223988a

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

@@ -63,21 +63,21 @@ public class UserCloudServiceProvider extends ControllerSupport implements UserC
 	public LoginResp login(@RequestBody LoginReq req) {
 
 		String rootOrgId = req.getRootOrgId();
-		Org org = null;
+		Org rootOrg = null;
 		if (StringUtils.isBlank(rootOrgId)) {
 			if (StringUtils.isBlank(req.getDomain())) {
 				throw new StatusException("B-001001", "domain,rootOrgId 必须有一个不为空");
 			}
 
-			org = orgRepo.findFirstByParentIdAndCode(0L, req.getDomain());
+			rootOrg = orgRepo.findFirstByParentIdAndCode(0L, req.getDomain());
 
-			rootOrgId = String.valueOf(org.getRootId());
+			rootOrgId = String.valueOf(rootOrg.getRootId());
 
 			if (StringUtils.isBlank(rootOrgId)) {
 				throw new StatusException("B-001002", "domain错误");
 			}
 		}else{
-			org = orgRepo.findOne(Long.valueOf(rootOrgId));
+			rootOrg = orgRepo.findOne(Long.valueOf(rootOrgId));
 		}
 
 		String accountType = req.getAccountType();
@@ -100,7 +100,7 @@ public class UserCloudServiceProvider extends ControllerSupport implements UserC
 			userBean.setUserId(user.getId());
 			userBean.setDisplayName(user.getLoginName());
 			userBean.setRootOrgId(user.getRootOrgId());
-			userBean.setRootOrgName(org!=null?org.getName():null);
+			userBean.setRootOrgName(rootOrg!=null?rootOrg.getName():null);
 			userBean.setOrgId(user.getOrgId());
 			List<UserRole> userRoles = user.getUserRoles();
 			ArrayList<RoleBean> roleList = Lists.newArrayList();
@@ -120,41 +120,13 @@ 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());
+	        Student student = studentRepo.findByStudentCodeAndRootOrgId(accountValue, rootOrg.getId());
+	        userBean = setStudentUserInfo(password,student);
 		}
 		// 学生身份证号登录
 		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());
+			Student student = studentRepo.findByIdentityNumberAndRootOrgId(accountValue,rootOrg.getId());
+			userBean = setStudentUserInfo(password,student);
 		}
 
 		LoginResp resp = new LoginResp();
@@ -162,5 +134,32 @@ public class UserCloudServiceProvider extends ControllerSupport implements UserC
 
 		return resp;
 	}
+	
+	private UserBean setStudentUserInfo(String password,Student student){
+		UserBean userBean = new UserBean();
+		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.getName());
+		userBean.setRootOrgId(user.getRootOrgId());
+		userBean.setOrgId(user.getOrgId());
+		userBean.setStudentCode(student.getStudentCode());
+		userBean.setIdentityNumber(student.getIdentityNumber());
+		//设置学生角色
+		ArrayList<RoleBean> roleList = Lists.newArrayList();
+		roleList.add(new RoleBean(RoleMeta.STUDENT.name(),RoleMeta.STUDENT.getCnName()));
+		userBean.setRoleList(roleList);
+		
+		Org org = orgRepo.findOne(user.getOrgId());
+		userBean.setOrgName(org.getName());
+		return userBean;
+	}
 
 }

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

@@ -44,6 +44,10 @@ public class UserBean implements JsonSerializable {
 	 * 学习中心 ID
 	 */
 	private Long orgId;
+	/**
+	 * 学习中心名称
+	 */
+	private String orgName;
 
 	/**
 	 * 角色集合
@@ -131,5 +135,13 @@ public class UserBean implements JsonSerializable {
 	public void setIdentityNumber(String identityNumber) {
 		this.identityNumber = identityNumber;
 	}
+
+	public String getOrgName() {
+		return orgName;
+	}
+
+	public void setOrgName(String orgName) {
+		this.orgName = orgName;
+	}
 	
 }