|
@@ -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;
|
|
|
+ }
|
|
|
|
|
|
}
|