wangwei 6 жил өмнө
parent
commit
1764e5dbec

+ 1 - 1
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/AuthController.java

@@ -140,7 +140,7 @@ public class AuthController extends ControllerSupport {
 		}
 
 		User accessUser = getAccessUser();
-		Long studentId = accessUser.getStudentId();
+		Long studentId = accessUser.getUserId();
 
 		StudentEntity sb = studentRepo.findBySecurityPhone(phone);
 		if (null != sb) {

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

@@ -6,7 +6,6 @@ import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 import javax.persistence.criteria.Predicate;
-import javax.servlet.http.HttpServletRequest;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,12 +14,9 @@ import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.domain.Sort.Direction;
 import org.springframework.data.jpa.domain.Specification;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -70,9 +66,9 @@ public class StudentController extends ControllerSupport {
 	 */
 	@ApiOperation(value = "查询所有学生", notes = "分页")
 	@GetMapping("/{curPage}/{pageSize}")
-	public Page<StudentEntity> getAllStudent(@RequestParam String name, @RequestParam String studentCode,
-			@RequestParam String identityNumber, @PathVariable Integer curPage,
-			@PathVariable Integer pageSize) {
+	public Page<StudentEntity> getAllStudent(@RequestParam String name,
+			@RequestParam String studentCode, @RequestParam String identityNumber,
+			@PathVariable Integer curPage, @PathVariable Integer pageSize) {
 		User accessUser = getAccessUser();
 
 		Specification<StudentEntity> specification = (root, query, cb) -> {
@@ -99,21 +95,6 @@ public class StudentController extends ControllerSupport {
 		return studentList;
 	}
 
-	@ApiOperation(value = "查询所有学生", notes = "不分页")
-	@GetMapping
-	public ResponseEntity getAllStudent(HttpServletRequest request,
-			@ModelAttribute StudentEntity studentCriteria) {
-		cn.com.qmth.examcloud.commons.web.security.bean.User accessUser = getAccessUser();
-		if (accessUser != null) {
-			if (accessUser.getRootOrgId().longValue() == accessUser.getOrgId().longValue()) {
-				studentCriteria.setRootOrgId(accessUser.getRootOrgId());
-			} else {
-				studentCriteria.setOrgId(accessUser.getOrgId());
-			}
-		}
-		return new ResponseEntity(studentService.getAllStudent(studentCriteria), HttpStatus.OK);
-	}
-
 	/**
 	 * 方法注释
 	 *
@@ -231,7 +212,7 @@ public class StudentController extends ControllerSupport {
 			throw new StatusException("B-450111", "密码必须是6至18位字母或数字");
 		}
 
-		StudentEntity s = studentRepo.findOne(accessUser.getStudentId());
+		StudentEntity s = studentRepo.findOne(accessUser.getUserId());
 
 		if (StringUtils.isNotBlank(s.getPassword()) && !s.getPassword().equals(password)) {
 			throw new StatusException("B-450111", "当前密码错误");
@@ -255,7 +236,7 @@ public class StudentController extends ControllerSupport {
 	public StudentInfo getStudentInfoBySession() {
 		User accessUser = getAccessUser();
 		Long rootOrgId = accessUser.getRootOrgId();
-		Long studentId = accessUser.getStudentId();
+		Long studentId = accessUser.getUserId();
 		StudentInfo studentInfo = studentService.getStudentInfo(rootOrgId, studentId, null, null,
 				null);
 		return studentInfo;

+ 2 - 2
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/UserController.java

@@ -480,7 +480,7 @@ public class UserController extends ControllerSupport {
 
 		Map<String, Object> ret = Maps.newHashMap();
 		ret.put("userId", loginUser.getUserId());
-		ret.put("token", loginUser.getUserToken());
+		ret.put("token", loginUser.getKey() + ":" + loginUser.getToken());
 		return ret;
 	}
 
@@ -504,7 +504,7 @@ public class UserController extends ControllerSupport {
 
 		Map<String, Object> ret = Maps.newHashMap();
 		ret.put("userId", loginUser.getUserId());
-		ret.put("token", loginUser.getUserToken());
+		ret.put("token", loginUser.getKey() + ":" + loginUser.getToken());
 		return ret;
 	}
 

+ 0 - 59
examcloud-core-basic-base/src/main/java/cn/com/qmth/examcloud/core/basic/base/enums/UserType.java

@@ -1,59 +0,0 @@
-package cn.com.qmth.examcloud.core.basic.base.enums;
-
-/**
- * 用户类型
- *
- * @author WANGWEI
- * @date 2018年5月25日
- * @Copyright (c) 2018-? http://qmth.com.cn All Rights Reserved.
- */
-public enum UserType {
-
-	/**
-	 * 学生
-	 */
-	STUDENT("S", "学生"),
-
-	/**
-	 * 常规用户
-	 */
-	COMMON("C", "常规用户");
-
-	// ===========================================================================
-
-	/**
-	 * 码
-	 */
-	private String code;
-
-	/**
-	 * 描述
-	 */
-	private String desc;
-
-	/**
-	 * 构造函数
-	 *
-	 * @param code
-	 * @param desc
-	 */
-	private UserType(String code, String desc) {
-		this.code = code;
-		this.desc = desc;
-	}
-
-	/**
-	 * @return the code
-	 */
-	public String getCode() {
-		return code;
-	}
-
-	/**
-	 * @return the desc
-	 */
-	public String getDesc() {
-		return desc;
-	}
-
-}

+ 17 - 30
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/AuthServiceImpl.java

@@ -23,10 +23,10 @@ import cn.com.qmth.examcloud.commons.base.util.UUID;
 import cn.com.qmth.examcloud.commons.web.redis.RedisClient;
 import cn.com.qmth.examcloud.commons.web.security.bean.Role;
 import cn.com.qmth.examcloud.commons.web.security.bean.User;
+import cn.com.qmth.examcloud.commons.web.security.bean.UserType;
 import cn.com.qmth.examcloud.commons.web.security.enums.RoleMeta;
 import cn.com.qmth.examcloud.core.basic.base.constants.PropKeys;
 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.RoleRepo;
 import cn.com.qmth.examcloud.core.basic.dao.StudentRepo;
@@ -117,6 +117,7 @@ public class AuthServiceImpl implements AuthService {
 		}
 
 		User user = new User();
+		Long orgId = null;
 
 		// 常规账户登录
 		if (AccountType.COMMON_LOGIN_NAME.name().equals(accountType)) {
@@ -132,11 +133,10 @@ public class AuthServiceImpl implements AuthService {
 				throw new StatusException("B-001003", "密码错误");
 			}
 			user.setUserId(userEntity.getId());
-			user.setUserType(UserType.COMMON.getCode());
+			user.setUserType(UserType.COMMON);
 			user.setDisplayName(userEntity.getLoginName() + " (" + userEntity.getName() + ")");
 			user.setRootOrgId(userEntity.getRootOrgId());
-			user.setRootOrgName(rootOrg.getName());
-			user.setOrgId(userEntity.getOrgId());
+			orgId = userEntity.getOrgId();
 
 			List<Role> roleList = getUserRoles(userEntity.getId());
 			user.setRoleList(roleList);
@@ -162,14 +162,11 @@ public class AuthServiceImpl implements AuthService {
 				throw new StatusException("B-001003", "密码错误");
 			}
 
-			user.setStudentId(student.getId());
-			user.setUserType(UserType.STUDENT.getCode());
-			user.setStudentCode(student.getStudentCode());
-			user.setIdentityNumber(student.getIdentityNumber());
+			user.setUserId(student.getId());
+			user.setUserType(UserType.STUDENT);
 			user.setRootOrgId(student.getRootOrgId());
-			user.setRootOrgName(rootOrg.getName());
-			user.setOrgId(student.getOrgId());
 			user.setDisplayName(student.getName());
+			orgId = student.getOrgId();
 
 			List<Role> roleList = Lists.newArrayList();
 			Role role = new Role(8L, "STUDENT", "学生");
@@ -180,9 +177,8 @@ public class AuthServiceImpl implements AuthService {
 		user.setClientIp(loginInfo.getClientIp());
 
 		OrgEntity org = null;
-		if (null != user.getOrgId()) {
-			org = orgRepo.findOne(user.getOrgId());
-			user.setOrgName(org.getName());
+		if (null != orgId) {
+			org = orgRepo.findOne(orgId);
 		}
 
 		boolean isLcUser = isLcUser(user);
@@ -197,7 +193,7 @@ public class AuthServiceImpl implements AuthService {
 		setSession(user);
 
 		if (isLcUser) {
-			setSecurityIp(user);
+			setSecurityIp(user, orgId);
 		}
 
 		return user;
@@ -208,9 +204,10 @@ public class AuthServiceImpl implements AuthService {
 	 *
 	 * @author WANGWEI
 	 * @param user
+	 * @param orgId
 	 */
-	private void setSecurityIp(User user) {
-		String key = "IP_" + user.getOrgId();
+	private void setSecurityIp(User user, Long orgId) {
+		String key = "IP_" + orgId;
 
 		String clientIp = user.getClientIp();
 		if (StringUtils.isBlank(clientIp)) {
@@ -269,13 +266,9 @@ public class AuthServiceImpl implements AuthService {
 	 */
 	private String buildUserKey(User user) {
 		Long rootOrgId = user.getRootOrgId();
-		String userType = user.getUserType();
-		String key = null;
-		if (UserType.COMMON.getCode().equals(userType)) {
-			key = StringUtil.join("U_", userType, "_", rootOrgId, "_", user.getUserId());
-		} else if (UserType.STUDENT.getCode().equals(userType)) {
-			key = StringUtil.join("U_", userType, "_", rootOrgId, "_", user.getStudentId());
-		}
+		UserType userType = user.getUserType();
+		String key = StringUtil.join("U_", userType.getCode(), "_", rootOrgId, "_",
+				user.getUserId());
 		return key;
 	}
 
@@ -348,15 +341,10 @@ public class AuthServiceImpl implements AuthService {
 		}
 
 		User user = new User();
+		user.setUserType(UserType.COMMON);
 		user.setUserId(userEntity.getId());
 		user.setDisplayName(userEntity.getLoginName());
 		user.setRootOrgId(userEntity.getRootOrgId());
-		user.setRootOrgName(rootOrg.getName());
-		user.setOrgId(userEntity.getOrgId());
-		if (null != user.getOrgId()) {
-			OrgEntity org = orgRepo.findOne(user.getOrgId());
-			user.setOrgName(org.getName());
-		}
 
 		List<Role> roleList = getUserRoles(userEntity.getId());
 		user.setRoleList(roleList);
@@ -377,7 +365,6 @@ public class AuthServiceImpl implements AuthService {
 		user.setToken(UUID.randomUUID());
 		String key = buildUserKey(user);
 		user.setKey(key);
-		user.setUserToken(key + ":" + user.getToken());
 
 		int sessionTimeout = PropertiesUtil.getInt(PropKeys.SESSION_TIMEOUT, 3600);
 		Integer sessionTimeoutCache = redisClient.get("$_SESSION_TIMEOUT", Integer.class);