wangwei 7 år sedan
förälder
incheckning
071a0f28c9

+ 137 - 161
examcloud-core-basic-dao/src/main/java/cn/com/qmth/examcloud/core/basic/dao/entity/UserEntity.java

@@ -1,14 +1,19 @@
 package cn.com.qmth.examcloud.core.basic.dao.entity;
 
-import java.util.Date;
 import java.util.List;
 
-import javax.persistence.*;
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
 import javax.validation.constraints.NotNull;
 
-import org.springframework.format.annotation.DateTimeFormat;
-
-import cn.com.qmth.examcloud.commons.web.cloud.api.JsonSerializable;
+import cn.com.qmth.examcloud.commons.web.jpa.JpaEntity;
 import cn.com.qmth.examcloud.core.basic.base.enums.UserType;
 import cn.com.qmth.examcloud.core.basic.dao.enums.Gender;
 import cn.com.qmth.examcloud.core.basic.dao.enums.UserScope;
@@ -18,190 +23,161 @@ import cn.com.qmth.examcloud.core.basic.dao.enums.UserScope;
  */
 @Entity
 @Table(name = "ecs_core_user")
-public class UserEntity implements JsonSerializable{
+public class UserEntity extends JpaEntity {
+
+	private static final long serialVersionUID = 9190180279768027647L;
+
+	@Id
+	@GeneratedValue
+	private Long id;
+
+	private Long rootOrgId;
+
+	private Long orgId;
+
+	@NotNull
+	private String name;
+
+	@NotNull
+	private String loginName;
+
+	@NotNull
+	private String password;
+
+	private String mobile;
+
+	@Enumerated(EnumType.STRING)
+	private Gender gender;
+
+	@NotNull
+	@Enumerated(EnumType.STRING)
+	private UserScope scope;
+
+	private String avatar;
 
-    private static final long serialVersionUID = 9190180279768027647L;
+	@NotNull
+	@Enumerated(EnumType.STRING)
+	private UserType type;
 
-    @Id
-    @GeneratedValue
-    private Long id;
+	@NotNull
+	private Boolean enable;
 
-    private Long rootOrgId;
+	@OneToMany(cascade = {CascadeType.ALL})
+	@JoinColumn(name = "user_id")
+	private List<UserRole> userRoles;
 
-    private Long orgId;
+	public Long getId() {
+		return id;
+	}
 
-    @NotNull
-    private String name;
-    
-    @NotNull
-    private String loginName;
+	public void setId(Long id) {
+		this.id = id;
+	}
 
-    @NotNull
-    private String password;
+	public Long getRootOrgId() {
+		return rootOrgId;
+	}
 
-    private String mobile;
+	public void setRootOrgId(Long rootOrgId) {
+		this.rootOrgId = rootOrgId;
+	}
 
-    @Enumerated(EnumType.STRING)
-    private Gender gender;
+	public Long getOrgId() {
+		return orgId;
+	}
 
-    @NotNull
-    @Enumerated(EnumType.STRING)
-    private UserScope scope;
+	public void setOrgId(Long orgId) {
+		this.orgId = orgId;
+	}
 
-    private String avatar;
+	public String getName() {
+		return name;
+	}
 
-    @NotNull
-    @Enumerated(EnumType.STRING)
-    private UserType type;
+	public void setName(String name) {
+		this.name = name;
+	}
 
-    @NotNull
-    private Boolean enable;
+	public String getLoginName() {
+		return loginName;
+	}
 
-    @OneToMany(cascade = { CascadeType.ALL })
-    @JoinColumn(name="user_id")
-    private List<UserRole> userRoles;
+	public void setLoginName(String loginName) {
+		this.loginName = loginName;
+	}
 
-    @Temporal(value = TemporalType.DATE)
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date createTime;
+	public String getPassword() {
+		return password;
+	}
 
-    @Temporal(value = TemporalType.DATE)
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date updateTime;
+	public void setPassword(String password) {
+		this.password = password;
+	}
 
-    public static long getSerialVersionUID() {
-        return serialVersionUID;
-    }
+	public String getMobile() {
+		return mobile;
+	}
 
-    public Long getId() {
-        return id;
-    }
+	public void setMobile(String mobile) {
+		this.mobile = mobile;
+	}
 
-    public void setId(Long id) {
-        this.id = id;
-    }
+	public Gender getGender() {
+		return gender;
+	}
 
-    public Long getRootOrgId() {
-        return rootOrgId;
-    }
+	public void setGender(Gender gender) {
+		this.gender = gender;
+	}
 
-    public void setRootOrgId(Long rootOrgId) {
-        this.rootOrgId = rootOrgId;
-    }
+	public UserScope getScope() {
+		return scope;
+	}
 
-    public Long getOrgId() {
-        return orgId;
-    }
+	public void setScope(UserScope scope) {
+		this.scope = scope;
+	}
 
-    public void setOrgId(Long orgId) {
-        this.orgId = orgId;
-    }
+	public String getAvatar() {
+		return avatar;
+	}
 
-    public String getName() {
-        return name;
-    }
+	public void setAvatar(String avatar) {
+		this.avatar = avatar;
+	}
 
-    public void setName(String name) {
-        this.name = name;
-    }
+	public UserType getType() {
+		return type;
+	}
 
-    public String getLoginName() {
-        return loginName;
-    }
+	public void setType(UserType type) {
+		this.type = type;
+	}
 
-    public void setLoginName(String loginName) {
-        this.loginName = loginName;
-    }
+	public Boolean getEnable() {
+		return enable;
+	}
 
-    public String getPassword() {
-        return password;
-    }
+	public void setEnable(Boolean enable) {
+		this.enable = enable;
+	}
 
-    public void setPassword(String password) {
-        this.password = password;
-    }
+	public List<UserRole> getUserRoles() {
+		return userRoles;
+	}
 
-    public String getMobile() {
-        return mobile;
-    }
+	public void setUserRoles(List<UserRole> userRoles) {
+		this.userRoles = userRoles;
+	}
 
-    public void setMobile(String mobile) {
-        this.mobile = mobile;
-    }
-
-    public Gender getGender() {
-        return gender;
-    }
-
-    public void setGender(Gender gender) {
-        this.gender = gender;
-    }
-
-    public UserScope getScope() {
-        return scope;
-    }
-
-    public void setScope(UserScope scope) {
-        this.scope = scope;
-    }
-
-    public String getAvatar() {
-        return avatar;
-    }
-
-    public void setAvatar(String avatar) {
-        this.avatar = avatar;
-    }
-
-    public UserType getType() {
-        return type;
-    }
-
-    public void setType(UserType type) {
-        this.type = type;
-    }
-
-    public Boolean getEnable() {
-        return enable;
-    }
-
-    public void setEnable(Boolean enable) {
-        this.enable = enable;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
-
-    public List<UserRole> getUserRoles() {
-        return userRoles;
-    }
-
-    public void setUserRoles(List<UserRole> userRoles) {
-        this.userRoles = userRoles;
-    }
-
-    public UserEntity() {
-    }
-    
-    public UserEntity(String name,UserScope scope,Long rootOrgId,Long orgId,UserType type) {
-    	this.name = name;
-    	this.scope = scope;
-    	this.rootOrgId = rootOrgId;
-    	this.orgId = orgId;
-    	this.type = type;
-    	this.createTime = new Date();
-    }
+	public UserEntity() {
+	}
+
+	public UserEntity(String name, UserScope scope, Long rootOrgId, Long orgId, UserType type) {
+		this.name = name;
+		this.scope = scope;
+		this.rootOrgId = rootOrgId;
+		this.orgId = orgId;
+		this.type = type;
+	}
 }

+ 0 - 1
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/OrgService.java

@@ -120,7 +120,6 @@ public class OrgService {
 				tempOrg.getId(), UserType.COMMON);
 		user.setLoginName(tempOrg.getCode());
 		user.setEnable(true);
-		user.setCreateTime(new Date());
 		user.setPassword(Consts.DEFAULT_PASSWORD);
 		List<UserRole> userRoles = new ArrayList<UserRole>();
 		userRoles.add(new UserRole("LC_USER"));

+ 360 - 353
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/UserServiceImpl.java

@@ -53,186 +53,186 @@ import cn.com.qmth.examcloud.core.basic.service.bean.LoginInfo;
 import cn.com.qmth.examcloud.core.basic.service.bean.UserInfo;
 
 /**
- * 用户服务类
- * Created by songyue on 17/1/13.
+ * 用户服务类 Created by songyue on 17/1/13.
  */
 @Service
-public class UserServiceImpl  implements UserService{
+public class UserServiceImpl implements UserService {
 
-    @Autowired
-    UserRepo userRepo;
+	@Autowired
+	UserRepo userRepo;
 
-    @Autowired
-    StudentRepo studentRepo;
+	@Autowired
+	StudentRepo studentRepo;
 
-    @Autowired
-    OrgRepo orgRepo;
+	@Autowired
+	OrgRepo orgRepo;
 
-    @Autowired
-    OrgService orgService;
+	@Autowired
+	OrgService orgService;
 
-    @Autowired
-    UserRoleRepo userRoleRepo;
+	@Autowired
+	UserRoleRepo userRoleRepo;
 
-    @Autowired
-    UserLoginRepo userLoginRepo;
+	@Autowired
+	UserLoginRepo userLoginRepo;
 
-    @Autowired
-    UserOpsLogRepo userOpsLogRepo;
-    
-    @Autowired
-    ThirdPartyAccessRepo thirdPartyAccessDao;
+	@Autowired
+	UserOpsLogRepo userOpsLogRepo;
+
+	@Autowired
+	ThirdPartyAccessRepo thirdPartyAccessDao;
+
+	RedisTemplate redisTemplate;
 
-    RedisTemplate redisTemplate;
-    
 	@Autowired
 	AuthService authService;
 
-    AccessUserOps accessUserOps;
-
-    @Autowired
-    public UserServiceImpl(RedisTemplate redisTemplate){
-        this.redisTemplate = redisTemplate;
-        this.accessUserOps = new AccessUserOpsForRedis(redisTemplate);
-    }
-
-    /**
-     * 查询所有用户
-     * @param userCriteria
-     * @param pageable
-     * @return
-     */
-    public Page<UserEntity> findAll(UserEntity userCriteria, Pageable pageable){
-        Specification<UserEntity> userSpecification = (root, query, cb) -> {
-            List<Predicate> predicates = new ArrayList<>();
-            if(userCriteria.getType() != null){
-            	predicates.add(cb.equal(root.get("type"),userCriteria.getType()));
-            }
-            predicates.add(cb.equal(root.get("rootOrgId"),userCriteria.getRootOrgId()));
-            if(StringUtils.isNotEmpty(userCriteria.getLoginName())){
-                predicates.add(cb.like(root.get("loginName"),"%"+userCriteria.getLoginName()+"%"));
-            }
-            if(StringUtils.isNotEmpty(userCriteria.getName())){
-                predicates.add(cb.like(root.get("name"),"%"+userCriteria.getName()+"%"));
-            }
-            if(userCriteria.getOrgId() != null){
-                predicates.add(cb.equal(root.get("orgId"),userCriteria.getOrgId()));
-            }
-            if(userCriteria.getEnable() != null){
-                predicates.add(cb.equal(root.get("enable"),userCriteria.getEnable()));
-            }
-            return cb.and(predicates.toArray(new Predicate[predicates.size()]));
-        };
-        List<UserEntity> users = userRepo.findAll(userSpecification);
-        int pageNumber = pageable.getPageNumber();
-        int pageSize = pageable.getPageSize();
-        users = users.stream()
-                .filter(user -> filterNonMarkerUser(user))
-                .collect(Collectors.toList());
-        long total = users.size();
-        users = users.stream()
-                .skip(pageNumber * pageSize)
-                .limit(pageSize)
-                .collect(Collectors.toList());
-        Page<UserEntity> userPage = new PageImpl<UserEntity>(users,pageable,total);
-        return userPage;
-    }
-
-    /**
-     * 过滤非评卷员
-     * @param user
-     * @return
-     */
-    private boolean filterNonMarkerUser(UserEntity user){
-        List<UserRole> userRoles = user.getUserRoles();
-        if(userRoles != null){
-            if(userRoles.size() == 1 && userRoles.get(0).getRoleCode().equals(RoleMeta.MARKER.name())){
-                return false;
-            }
-            return true;
-        }else{
-            return false;
-        }
-    }
-
-    /**
-     * 过滤管理角色
-     * @param user
-     * @return
-     */
-    private boolean filterAdminUser(UserEntity user){
-        List<UserRole> userRoles = user.getUserRoles();
-        if(userRoles != null){
-            for(UserRole userRole:userRoles){
-                if(userRole.getRoleCode().equals(RoleMeta.MARKER.name())
-                        || userRole.getRoleCode().equals(RoleMeta.STUDENT.name())
-                        || userRole.getRoleCode().equals(RoleMeta.LC_USER.name())){
-                    return false;
-                }
-            }
-            return true;
-        }else{
-            return false;
-        }
-    }
-
-    /**
-     * 查询所有机构用户
-     * @param userCriteria
-     * @param pageable
-     * @return
-     */
-    public Page<UserEntity> findOrgUser(UserEntity userCriteria,Pageable pageable){
-        Specification<UserEntity> userSpecification = (root, query, cb) -> {
-            List<Predicate> predicates = new ArrayList<>();
-            predicates.add(cb.equal(root.get("rootOrgId"),root.get("orgId")));
-            if(userCriteria.getType() != null){
-            	predicates.add(cb.equal(root.get("type"),userCriteria.getType()));
-            }
-            if(userCriteria.getOrgId() != null){
-                predicates.add(cb.equal(root.get("rootOrgId"),userCriteria.getOrgId()));
-            }
-            if(StringUtils.isNotEmpty(userCriteria.getLoginName())){
-                predicates.add(cb.like(root.get("loginName"),"%"+userCriteria.getLoginName()+"%"));
-            }
-            if(StringUtils.isNotEmpty(userCriteria.getName())){
-                predicates.add(cb.like(root.get("name"),"%"+userCriteria.getName()+"%"));
-            }
-            if(userCriteria.getEnable() != null){
-                predicates.add(cb.equal(root.get("enable"),userCriteria.getEnable()));
-            }
-            return cb.and(predicates.toArray(new Predicate[predicates.size()]));
-        };
-        List<UserEntity> users = userRepo.findAll(userSpecification);
-        int pageNumber = pageable.getPageNumber();
-        int pageSize = pageable.getPageSize();
-        users = users.stream()
-                .filter(user -> filterAdminUser(user))
-                .collect(Collectors.toList());
-        long total = users.size();
-        users = users.stream()
-                .skip(pageNumber * pageSize)
-                .limit(pageSize)
-                .collect(Collectors.toList());
-        Page<UserEntity> userPage = new PageImpl<UserEntity>(users,pageable,total);
-        return userPage;
-    }
-
-    /**
-     * 初始化密码
-     * @param userId
-     */
-    public void initPassword(long userId){
-        UserEntity user = userRepo.findOne(userId);
-        //根据用户类型采用不同的初始化策略
-        if(user.getType() == UserType.COMMON){
-            //初始化为默认密码
-            user.setPassword(Consts.DEFAULT_PASSWORD);
-
-        }else if(user.getType() == UserType.STUDENT){
-            //截取身份证后6位为学生登录密码
-            Student student = studentRepo.findByUserId(userId);
-            String identityNumber = student.getIdentityNumber();
+	AccessUserOps accessUserOps;
+
+	@Autowired
+	public UserServiceImpl(RedisTemplate redisTemplate) {
+		this.redisTemplate = redisTemplate;
+		this.accessUserOps = new AccessUserOpsForRedis(redisTemplate);
+	}
+
+	/**
+	 * 查询所有用户
+	 * 
+	 * @param userCriteria
+	 * @param pageable
+	 * @return
+	 */
+	public Page<UserEntity> findAll(UserEntity userCriteria, Pageable pageable) {
+		Specification<UserEntity> userSpecification = (root, query, cb) -> {
+			List<Predicate> predicates = new ArrayList<>();
+			if (userCriteria.getType() != null) {
+				predicates.add(cb.equal(root.get("type"), userCriteria.getType()));
+			}
+			predicates.add(cb.equal(root.get("rootOrgId"), userCriteria.getRootOrgId()));
+			if (StringUtils.isNotEmpty(userCriteria.getLoginName())) {
+				predicates.add(
+						cb.like(root.get("loginName"), "%" + userCriteria.getLoginName() + "%"));
+			}
+			if (StringUtils.isNotEmpty(userCriteria.getName())) {
+				predicates.add(cb.like(root.get("name"), "%" + userCriteria.getName() + "%"));
+			}
+			if (userCriteria.getOrgId() != null) {
+				predicates.add(cb.equal(root.get("orgId"), userCriteria.getOrgId()));
+			}
+			if (userCriteria.getEnable() != null) {
+				predicates.add(cb.equal(root.get("enable"), userCriteria.getEnable()));
+			}
+			return cb.and(predicates.toArray(new Predicate[predicates.size()]));
+		};
+		List<UserEntity> users = userRepo.findAll(userSpecification);
+		int pageNumber = pageable.getPageNumber();
+		int pageSize = pageable.getPageSize();
+		users = users.stream().filter(user -> filterNonMarkerUser(user))
+				.collect(Collectors.toList());
+		long total = users.size();
+		users = users.stream().skip(pageNumber * pageSize).limit(pageSize)
+				.collect(Collectors.toList());
+		Page<UserEntity> userPage = new PageImpl<UserEntity>(users, pageable, total);
+		return userPage;
+	}
+
+	/**
+	 * 过滤非评卷员
+	 * 
+	 * @param user
+	 * @return
+	 */
+	private boolean filterNonMarkerUser(UserEntity user) {
+		List<UserRole> userRoles = user.getUserRoles();
+		if (userRoles != null) {
+			if (userRoles.size() == 1
+					&& userRoles.get(0).getRoleCode().equals(RoleMeta.MARKER.name())) {
+				return false;
+			}
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+	/**
+	 * 过滤管理角色
+	 * 
+	 * @param user
+	 * @return
+	 */
+	private boolean filterAdminUser(UserEntity user) {
+		List<UserRole> userRoles = user.getUserRoles();
+		if (userRoles != null) {
+			for (UserRole userRole : userRoles) {
+				if (userRole.getRoleCode().equals(RoleMeta.MARKER.name())
+						|| userRole.getRoleCode().equals(RoleMeta.STUDENT.name())
+						|| userRole.getRoleCode().equals(RoleMeta.LC_USER.name())) {
+					return false;
+				}
+			}
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+	/**
+	 * 查询所有机构用户
+	 * 
+	 * @param userCriteria
+	 * @param pageable
+	 * @return
+	 */
+	public Page<UserEntity> findOrgUser(UserEntity userCriteria, Pageable pageable) {
+		Specification<UserEntity> userSpecification = (root, query, cb) -> {
+			List<Predicate> predicates = new ArrayList<>();
+			predicates.add(cb.equal(root.get("rootOrgId"), root.get("orgId")));
+			if (userCriteria.getType() != null) {
+				predicates.add(cb.equal(root.get("type"), userCriteria.getType()));
+			}
+			if (userCriteria.getOrgId() != null) {
+				predicates.add(cb.equal(root.get("rootOrgId"), userCriteria.getOrgId()));
+			}
+			if (StringUtils.isNotEmpty(userCriteria.getLoginName())) {
+				predicates.add(
+						cb.like(root.get("loginName"), "%" + userCriteria.getLoginName() + "%"));
+			}
+			if (StringUtils.isNotEmpty(userCriteria.getName())) {
+				predicates.add(cb.like(root.get("name"), "%" + userCriteria.getName() + "%"));
+			}
+			if (userCriteria.getEnable() != null) {
+				predicates.add(cb.equal(root.get("enable"), userCriteria.getEnable()));
+			}
+			return cb.and(predicates.toArray(new Predicate[predicates.size()]));
+		};
+		List<UserEntity> users = userRepo.findAll(userSpecification);
+		int pageNumber = pageable.getPageNumber();
+		int pageSize = pageable.getPageSize();
+		users = users.stream().filter(user -> filterAdminUser(user)).collect(Collectors.toList());
+		long total = users.size();
+		users = users.stream().skip(pageNumber * pageSize).limit(pageSize)
+				.collect(Collectors.toList());
+		Page<UserEntity> userPage = new PageImpl<UserEntity>(users, pageable, total);
+		return userPage;
+	}
+
+	/**
+	 * 初始化密码
+	 * 
+	 * @param userId
+	 */
+	public void initPassword(long userId) {
+		UserEntity user = userRepo.findOne(userId);
+		// 根据用户类型采用不同的初始化策略
+		if (user.getType() == UserType.COMMON) {
+			// 初始化为默认密码
+			user.setPassword(Consts.DEFAULT_PASSWORD);
+
+		} else if (user.getType() == UserType.STUDENT) {
+			// 截取身份证后6位为学生登录密码
+			Student student = studentRepo.findByUserId(userId);
+			String identityNumber = student.getIdentityNumber();
 			if (StringUtils.isNotEmpty(identityNumber)
 					&& identityNumber.matches("[0-9a-zA-Z]{6,}")) {
 				user.setPassword(
@@ -240,20 +240,19 @@ public class UserServiceImpl  implements UserService{
 			} else {
 				user.setPassword(Consts.DEFAULT_PASSWORD);
 			}
-        }
-        user.setUpdateTime(new Date());
-        userRepo.save(user);
-    }
-
-
-    /**
-     * 一般登录
-     * @param loginName
-     * @param password
-     * @return
-     */
-    public UserInfo login(String loginName,
-                          String password)throws Exception{
+		}
+		user.setUpdateTime(new Date());
+		userRepo.save(user);
+	}
+
+	/**
+	 * 一般登录
+	 * 
+	 * @param loginName
+	 * @param password
+	 * @return
+	 */
+	public UserInfo login(String loginName, String password) throws Exception {
 		UserEntity user = userRepo.findByLoginName(loginName);
 		if (user == null) {
 			throw new RuntimeException("该用户不存在");
@@ -262,46 +261,46 @@ public class UserServiceImpl  implements UserService{
 		}
 		return loginProcess(user);
 
-    }
-    
-    /**
-     * 二级登录
-     * @param orgId
-     * @param loginName
-     * @param password
-     * @return
-     */
-    public UserInfo login(long orgId,
-                          String loginName,
-                          String password)throws Exception{
-        UserEntity user = userRepo.findByRootOrgIdAndLoginName(orgId,loginName);
+	}
+
+	/**
+	 * 二级登录
+	 * 
+	 * @param orgId
+	 * @param loginName
+	 * @param password
+	 * @return
+	 */
+	public UserInfo login(long orgId, String loginName, String password) throws Exception {
+		UserEntity user = userRepo.findByRootOrgIdAndLoginName(orgId, loginName);
 		if (user == null) {
 			throw new RuntimeException("该用户不存在");
 		} else if (!user.getEnable()) {
 			throw new RuntimeException("该用户被禁用");
 		}
 		return loginProcess(user);
-    }
-
-    /**
-     * 登录处理
-     * 重新定义 by wangwei 
-     * @param user
-     * @return
-     */
+	}
+
+	/**
+	 * 登录处理 重新定义 by wangwei
+	 * 
+	 * @param user
+	 * @return
+	 */
 	public UserInfo loginProcess(UserEntity user) throws Exception {
-		LoginInfo loginInfo=new LoginInfo();
+		LoginInfo loginInfo = new LoginInfo();
 		loginInfo.setAccountType(AccountType.COMMON_LOGIN_NAME.getCode());
 		loginInfo.setAccountValue(user.getLoginName());
 		loginInfo.setPassword(user.getPassword());
 		loginInfo.setRootOrgId(String.valueOf(user.getRootOrgId()));
-		cn.com.qmth.examcloud.commons.web.security.bean.User loginUser = authService.login(loginInfo);
+		cn.com.qmth.examcloud.commons.web.security.bean.User loginUser = authService
+				.login(loginInfo);
 		String userToken = loginUser.getUserToken();
 		return getUserInfo(user, userToken);
 	}
-    
+
 	/**
-	 *第三方接入
+	 * 第三方接入
 	 *
 	 * @author WANGWEI
 	 * @param orgId
@@ -310,25 +309,27 @@ public class UserServiceImpl  implements UserService{
 	 * @param timestamp
 	 * @param token
 	 * @return
-	 * @throws Exception 
+	 * @throws Exception
 	 */
 	@Deprecated
-	public UserInfo thirdPartyAccess(long orgId, String userid, String appid, String timestamp, String token)
-			throws Exception {
-		ThirdPartyAccessEntity thirdPartyAccess = thirdPartyAccessDao.findOne(new ThirdPartyAccessPK(orgId, appid));
+	public UserInfo thirdPartyAccess(long orgId, String userid, String appid, String timestamp,
+			String token) throws Exception {
+		ThirdPartyAccessEntity thirdPartyAccess = thirdPartyAccessDao
+				.findOne(new ThirdPartyAccessPK(orgId, appid));
 
 		if (null == thirdPartyAccess) {
 			throw new RuntimeException("第三方系统接入信息未配置!");
 		}
-		
+
 		long timestampLong = 0L;
 		try {
 			timestampLong = Long.parseLong(timestamp);
 		} catch (Exception e) {
 			throw new RuntimeException("timestamp错误");
 		}
-		
-		if (Math.abs(System.currentTimeMillis() - timestampLong) > thirdPartyAccess.getTimeRange()) {
+
+		if (Math.abs(System.currentTimeMillis() - timestampLong) > thirdPartyAccess
+				.getTimeRange()) {
 			throw new RuntimeException("第三方系统接入鉴权失败: timestamp超出时间差范围!");
 		}
 
@@ -345,166 +346,173 @@ public class UserServiceImpl  implements UserService{
 		if (user == null) {
 			throw new RuntimeException("该用户不存在!");
 		}
-		
+
 		return loginProcess(user);
 	}
 
-    /**
-     * 初始化用户登录
-     * @param user
-     */
+	/**
+	 * 初始化用户登录
+	 * 
+	 * @param user
+	 */
+	@Deprecated
+	public void initUserLogin(UserEntity user) {
+		// 判断是否已登录,若已登录则强制已登录用户退出
+		UserLogin userLogin = userLoginRepo.findFirstByUserId(user.getId());
+		if (userLogin != null) {
+			accessUserOps.delete(userLogin.getToken());
+			userLoginRepo.deleteByUserId(userLogin.getUserId());
+		}
+	}
+
+	/**
+	 * 创建用户操作日志
+	 * 
+	 * @param user
+	 * @param action
+	 */
+	public void createUserOpsLog(UserEntity user, String action) {
+		UserOpsLog userOpsLog = new UserOpsLog(action, user.getId(), user.getName(), new Date());
+		userOpsLogRepo.save(userOpsLog);
+	}
+
+	/**
+	 * 创建用户登录记录
+	 * 
+	 * @param token
+	 * @param user
+	 */
 	@Deprecated
-    public void initUserLogin(UserEntity user){
-        //判断是否已登录,若已登录则强制已登录用户退出
-        UserLogin userLogin= userLoginRepo.findFirstByUserId(user.getId());
-        if(userLogin != null){
-            accessUserOps.delete(userLogin.getToken());
-            userLoginRepo.deleteByUserId(userLogin.getUserId());
-        }
-    }
-
-    /**
-     * 创建用户操作日志
-     * @param user
-     * @param action
-     */
-    public void createUserOpsLog(UserEntity user,String action){
-        UserOpsLog userOpsLog = new UserOpsLog(action,user.getId(),user.getName(),new Date());
-        userOpsLogRepo.save(userOpsLog);
-    }
-
-    /**
-     * 创建用户登录记录
-     * @param token
-     * @param user
-     */
-    @Deprecated
-    public void createUserLogin(String token,UserEntity user){
-        UserLogin userLogin = new UserLogin();
-        userLogin.setLoginTime(new Date());
-        userLogin.setUserId(user.getId());
-        userLogin.setToken(token);
-        userLoginRepo.save(userLogin);
-    }
-
-    /**
-     * 创建访问用户并加入K/V缓存
-     * @param token
-     * @param user
-     */
-    @Deprecated
-    public void createAccessUser(String token,UserEntity user,Long studentId)throws Exception{
-        AccessUser accessUser = new AccessUser();
-        Set<UserRole> userRoleSet = new HashSet<UserRole>(user.getUserRoles());
-        Org org = orgService.findOne(user.getRootOrgId());
-//        Map<String,Set<String>> rolesMap = userRoleSet.stream()
-//                .collect(Collectors.groupingBy(UserRole::getAppCode,
-//                        Collectors.mapping(UserRole::getRoleCode,Collectors.toSet())));
-        accessUser.setLoginName(user.getLoginName());
-        accessUser.setName(user.getName());
-        accessUser.setOrgId(user.getOrgId());
-        accessUser.setRootOrgId(user.getRootOrgId());
-        if(org != null){
-            accessUser.setRootOrgName(org.getName());
-        }
-        accessUser.setUserId(user.getId());
-//        accessUser.setRoles(rolesMap);
-        accessUser.setToken(token);
-        accessUser.setStudentId(studentId);
-        accessUserOps.set(token,accessUser);
-    }
-
-    /**
-     * 获取用户信息DTO
-     * @param user
-     * @param token
-     * @return
-     */
-    public UserInfo getUserInfo(UserEntity user,String token)throws Exception{
-        UserInfo userInfo = new UserInfo();
-        Org org = orgService.findOne(user.getOrgId());
-        Org rootOrg = orgService.findOne(user.getRootOrgId());
-        userInfo.setUserId(user.getId());
-        userInfo.setOrgId(user.getOrgId());
-        userInfo.setRootOrgId(user.getRootOrgId());
-        userInfo.setName(user.getName());
-        userInfo.setAvatar(user.getAvatar());
-        userInfo.setLoginName(user.getLoginName());
-        if(org != null){
-            userInfo.setOrgName(org.getName());
-        }
-        if(rootOrg != null){
-            userInfo.setRootOrgLogo(rootOrg.getLogo());
-            userInfo.setRootOrgName(rootOrg.getName());
-        }
-        userInfo.setToken(token);
-        userInfo.setType(user.getType().toString());
-        userInfo.setUserRoles(user.getUserRoles());
-        userInfo.setRoleNames(getRoleNames(user.getUserRoles()));
-        return userInfo;
-    }
-
-    /**
-     * 获取角色名称
-     * @param userRoles
-     * @return
-     */
-    public List<String> getRoleNames(List<UserRole> userRoles){
-
-        List<String> roleNameList = userRoles.stream()
-                .map(userRole -> RoleMeta.valueOf(userRole.getRoleCode()).getName())
-                .collect(Collectors.toList());
-        return roleNameList;
-
-    }
-
-    /**
-     * 登出
-     * @param accessUser
-     */
+	public void createUserLogin(String token, UserEntity user) {
+		UserLogin userLogin = new UserLogin();
+		userLogin.setLoginTime(new Date());
+		userLogin.setUserId(user.getId());
+		userLogin.setToken(token);
+		userLoginRepo.save(userLogin);
+	}
+
+	/**
+	 * 创建访问用户并加入K/V缓存
+	 * 
+	 * @param token
+	 * @param user
+	 */
+	@Deprecated
+	public void createAccessUser(String token, UserEntity user, Long studentId) throws Exception {
+		AccessUser accessUser = new AccessUser();
+		Set<UserRole> userRoleSet = new HashSet<UserRole>(user.getUserRoles());
+		Org org = orgService.findOne(user.getRootOrgId());
+		// Map<String,Set<String>> rolesMap = userRoleSet.stream()
+		// .collect(Collectors.groupingBy(UserRole::getAppCode,
+		// Collectors.mapping(UserRole::getRoleCode,Collectors.toSet())));
+		accessUser.setLoginName(user.getLoginName());
+		accessUser.setName(user.getName());
+		accessUser.setOrgId(user.getOrgId());
+		accessUser.setRootOrgId(user.getRootOrgId());
+		if (org != null) {
+			accessUser.setRootOrgName(org.getName());
+		}
+		accessUser.setUserId(user.getId());
+		// accessUser.setRoles(rolesMap);
+		accessUser.setToken(token);
+		accessUser.setStudentId(studentId);
+		accessUserOps.set(token, accessUser);
+	}
+
+	/**
+	 * 获取用户信息DTO
+	 * 
+	 * @param user
+	 * @param token
+	 * @return
+	 */
+	public UserInfo getUserInfo(UserEntity user, String token) throws Exception {
+		UserInfo userInfo = new UserInfo();
+		Org org = orgService.findOne(user.getOrgId());
+		Org rootOrg = orgService.findOne(user.getRootOrgId());
+		userInfo.setUserId(user.getId());
+		userInfo.setOrgId(user.getOrgId());
+		userInfo.setRootOrgId(user.getRootOrgId());
+		userInfo.setName(user.getName());
+		userInfo.setAvatar(user.getAvatar());
+		userInfo.setLoginName(user.getLoginName());
+		if (org != null) {
+			userInfo.setOrgName(org.getName());
+		}
+		if (rootOrg != null) {
+			userInfo.setRootOrgLogo(rootOrg.getLogo());
+			userInfo.setRootOrgName(rootOrg.getName());
+		}
+		userInfo.setToken(token);
+		userInfo.setType(user.getType().toString());
+		userInfo.setUserRoles(user.getUserRoles());
+		userInfo.setRoleNames(getRoleNames(user.getUserRoles()));
+		return userInfo;
+	}
+
+	/**
+	 * 获取角色名称
+	 * 
+	 * @param userRoles
+	 * @return
+	 */
+	public List<String> getRoleNames(List<UserRole> userRoles) {
+
+		List<String> roleNameList = userRoles.stream()
+				.map(userRole -> RoleMeta.valueOf(userRole.getRoleCode()).getName())
+				.collect(Collectors.toList());
+		return roleNameList;
+
+	}
+
+	/**
+	 * 登出
+	 * 
+	 * @param accessUser
+	 */
 	public void logout(AccessUser accessUser) {
-        accessUserOps.delete(accessUser.getToken());
-        userLoginRepo.deleteByUserId(accessUser.getUserId());
+		accessUserOps.delete(accessUser.getToken());
+		userLoginRepo.deleteByUserId(accessUser.getUserId());
 	}
 
 	public List<UserEntity> getMarker(Long rootOrgId) {
 		return userRepo.findMarkerByRootOrgId(rootOrgId);
 	}
-	
+
 	/**
 	 * 查询评卷员带分页
+	 * 
 	 * @param user
 	 * @param pageable
 	 * @return
 	 */
-	public Page<UserEntity> getAllMaker(UserEntity user,Pageable pageable){
+	public Page<UserEntity> getAllMaker(UserEntity user, Pageable pageable) {
 		Specification<UserEntity> specification = getSpecification(user);
-		return userRepo.findAll(specification,pageable);
+		return userRepo.findAll(specification, pageable);
 	}
 
-	public Specification<UserEntity> getSpecification(UserEntity user){
+	public Specification<UserEntity> getSpecification(UserEntity user) {
 		Specification<UserEntity> specification = (root, query, cb) -> {
 			List<Predicate> predicates = new ArrayList<>();
-			predicates.add(cb.equal(root.get("type"),UserType.COMMON));
-            predicates.add(cb.equal(root.get("rootOrgId"),user.getRootOrgId()));
-            Join join = root.join("userRoles");
-            predicates.add(cb.equal(join.get("roleCode"), RoleMeta.MARKER.name()));
-            if(StringUtils.isNotEmpty(user.getLoginName())){
-                predicates.add(cb.like(root.get("loginName"),"%"+user.getLoginName()+"%"));
-            }
-            if(StringUtils.isNotEmpty(user.getName())){
-                predicates.add(cb.like(root.get("name"),"%"+user.getName()+"%"));
-            }
-            if(user.getEnable() != null){
-                predicates.add(cb.equal(root.get("enable"),user.getEnable()));
-            }
+			predicates.add(cb.equal(root.get("type"), UserType.COMMON));
+			predicates.add(cb.equal(root.get("rootOrgId"), user.getRootOrgId()));
+			Join join = root.join("userRoles");
+			predicates.add(cb.equal(join.get("roleCode"), RoleMeta.MARKER.name()));
+			if (StringUtils.isNotEmpty(user.getLoginName())) {
+				predicates.add(cb.like(root.get("loginName"), "%" + user.getLoginName() + "%"));
+			}
+			if (StringUtils.isNotEmpty(user.getName())) {
+				predicates.add(cb.like(root.get("name"), "%" + user.getName() + "%"));
+			}
+			if (user.getEnable() != null) {
+				predicates.add(cb.equal(root.get("enable"), user.getEnable()));
+			}
 			return cb.and(predicates.toArray(new Predicate[predicates.size()]));
 		};
 		return specification;
 	}
-	
+
 	public UserEntity save(UserEntity user) {
-		user.setCreateTime(new Date());
 		UserEntity one = userRepo.findByRootOrgIdAndLoginName(user.getRootOrgId(),
 				user.getLoginName());
 		if (one != null && (!one.getId().equals(user.getId()))) {
@@ -513,9 +521,9 @@ public class UserServiceImpl  implements UserService{
 		return userRepo.save(user);
 	}
 
-	public UserEntity saveMarker(Long rootOrgId, String loginName,String name) {
-		UserEntity old = userRepo.findByRootOrgIdAndLoginName(rootOrgId,loginName);
-		if(old!=null){
+	public UserEntity saveMarker(Long rootOrgId, String loginName, String name) {
+		UserEntity old = userRepo.findByRootOrgIdAndLoginName(rootOrgId, loginName);
+		if (old != null) {
 			return old;
 		}
 		UserEntity user = new UserEntity();
@@ -531,14 +539,13 @@ public class UserServiceImpl  implements UserService{
 		user.setUserRoles(userRoles);
 		user.setScope(UserScope.ORG);
 		user.setType(UserType.COMMON);
-		user.setCreateTime(new Date());
 		return userRepo.save(user);
 	}
 
 	@Override
 	public UserEntity getUser(Long rootOrgId, String loginName) {
-        UserEntity user = userRepo.findByRootOrgIdAndLoginName(rootOrgId,loginName);
-        return user;
+		UserEntity user = userRepo.findByRootOrgIdAndLoginName(rootOrgId, loginName);
+		return user;
 	}
 
 }