|
@@ -1,22 +1,22 @@
|
|
|
package com.fdkk.sxz.system.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.fdkk.sxz.base.impl.BaseServiceImpl;
|
|
|
import com.fdkk.sxz.constant.Constant;
|
|
|
+import com.fdkk.sxz.entity.system.DataPermission;
|
|
|
+import com.fdkk.sxz.entity.system.OrganizationUser;
|
|
|
+import com.fdkk.sxz.entity.system.User;
|
|
|
+import com.fdkk.sxz.entity.system.UserRole;
|
|
|
import com.fdkk.sxz.exception.BusinessException;
|
|
|
-import com.fdkk.sxz.base.impl.BaseServiceImpl;
|
|
|
+import com.fdkk.sxz.system.dto.CreateUser;
|
|
|
+import com.fdkk.sxz.system.dto.QueryUser;
|
|
|
+import com.fdkk.sxz.system.dto.UpdateUser;
|
|
|
+import com.fdkk.sxz.system.dto.UserInfo;
|
|
|
import com.fdkk.sxz.system.mapper.UserMapper;
|
|
|
import com.fdkk.sxz.system.service.IDataPermissionService;
|
|
|
import com.fdkk.sxz.system.service.IOrganizationUserService;
|
|
|
import com.fdkk.sxz.system.service.IUserRoleService;
|
|
|
import com.fdkk.sxz.system.service.IUserService;
|
|
|
-import com.fdkk.sxz.system.dto.CreateUser;
|
|
|
-import com.fdkk.sxz.system.dto.QueryUser;
|
|
|
-import com.fdkk.sxz.system.dto.UpdateUser;
|
|
|
-import com.fdkk.sxz.system.dto.UserInfo;
|
|
|
-import com.fdkk.sxz.entity.system.DataPermission;
|
|
|
-import com.fdkk.sxz.entity.system.OrganizationUser;
|
|
|
-import com.fdkk.sxz.entity.system.User;
|
|
|
-import com.fdkk.sxz.entity.system.UserRole;
|
|
|
import com.fdkk.sxz.util.RedisUtil;
|
|
|
import com.github.pagehelper.Page;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
@@ -34,9 +34,9 @@ import org.springframework.util.StringUtils;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
|
+ * @author Xiewj
|
|
|
* @ClassName: UserServiceImpl
|
|
|
* @Description: 用户相关操作接口实现类
|
|
|
- * @author Xiewj
|
|
|
* @date 2018年5月18日 下午3:20:30
|
|
|
*/
|
|
|
@Service
|
|
@@ -70,29 +70,18 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
|
|
|
@Override
|
|
|
public PageInfo<UserInfo> selectUserList(Page<UserInfo> page, QueryUser user) {
|
|
|
PageHelper.startPage(page.getPageNum(), page.getPageSize(), true);
|
|
|
- List<UserInfo> list = userMapper.selectUserList( user);
|
|
|
+ List<UserInfo> list = userMapper.selectUserList(user);
|
|
|
PageInfo<UserInfo> pageInfo = new PageInfo<>(list);
|
|
|
return pageInfo;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public boolean createUser(CreateUser user) {
|
|
|
- QueryWrapper<User> ew = new QueryWrapper<>();
|
|
|
- ew.and(e -> e.eq("user_account", user.getUserAccount()).or().eq("user_account", user.getUserNickName()).or()
|
|
|
- .eq("user_account", user.getUserEmail()).or().eq("user_account", user.getUserMobile()).or()
|
|
|
- .eq("user_nick_name", user.getUserAccount()).or().eq("user_nick_name", user.getUserNickName()).or()
|
|
|
- .eq("user_nick_name", user.getUserEmail()).or().eq("user_nick_name", user.getUserMobile()).or()
|
|
|
- .eq("user_email", user.getUserAccount()).or().eq("user_email", user.getUserNickName()).or()
|
|
|
- .eq("user_email", user.getUserEmail()).or().eq("user_email", user.getUserMobile()).or()
|
|
|
- .eq("user_mobile", user.getUserAccount()).or().eq("user_mobile", user.getUserNickName()).or()
|
|
|
- .eq("user_mobile", user.getUserEmail()).or().eq("user_mobile", user.getUserMobile()));
|
|
|
- List<User> userList = this.list(ew);
|
|
|
- if (!CollectionUtils.isEmpty(userList)) {
|
|
|
+ boolean userExists = getUsersExists(user);
|
|
|
+ if (userExists) {
|
|
|
throw new BusinessException("账号已经存在");
|
|
|
}
|
|
|
-
|
|
|
- if(null == user.getOrganizationId())
|
|
|
- {
|
|
|
+ if (null == user.getOrganizationId()) {
|
|
|
user.setOrganizationId(defaultOrgId);
|
|
|
}
|
|
|
|
|
@@ -139,16 +128,12 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
|
|
|
user.setUserPassword(cryptPwd);
|
|
|
UserRole userRole = new UserRole();
|
|
|
userRole.setUserId(userEntity.getId());
|
|
|
- if(!CollectionUtils.isEmpty(roleIds))
|
|
|
- {
|
|
|
- for (Long role : roleIds)
|
|
|
- {
|
|
|
+ if (!CollectionUtils.isEmpty(roleIds)) {
|
|
|
+ for (Long role : roleIds) {
|
|
|
userRole.setRoleId(role);
|
|
|
result = userRoleService.save(userRole);
|
|
|
}
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
+ } else {
|
|
|
userRole.setRoleId(roleId);
|
|
|
result = userRoleService.save(userRole);
|
|
|
}
|
|
@@ -157,6 +142,24 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public boolean getUsersExists(CreateUser user) {
|
|
|
+ QueryWrapper<User> ew = new QueryWrapper<>();
|
|
|
+ ew.and(e -> e.eq("user_account", user.getUserAccount()).or().eq("user_account", user.getUserNickName()).or()
|
|
|
+ .eq("user_account", user.getUserEmail()).or().eq("user_account", user.getUserMobile()).or()
|
|
|
+ .eq("user_nick_name", user.getUserAccount()).or().eq("user_nick_name", user.getUserNickName()).or()
|
|
|
+ .eq("user_nick_name", user.getUserEmail()).or().eq("user_nick_name", user.getUserMobile()).or()
|
|
|
+ .eq("user_email", user.getUserAccount()).or().eq("user_email", user.getUserNickName()).or()
|
|
|
+ .eq("user_email", user.getUserEmail()).or().eq("user_email", user.getUserMobile()).or()
|
|
|
+ .eq("user_mobile", user.getUserAccount()).or().eq("user_mobile", user.getUserNickName()).or()
|
|
|
+ .eq("user_mobile", user.getUserEmail()).or().eq("user_mobile", user.getUserMobile()));
|
|
|
+ List<User> userList = this.list(ew);
|
|
|
+ if (!CollectionUtils.isEmpty(userList)) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
@CacheEvict(value = "users", key = "'id_'.concat(#user.id)")
|
|
|
public boolean updateUser(UpdateUser user) {
|
|
|
QueryWrapper<User> ew = new QueryWrapper<>();
|
|
@@ -193,12 +196,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
|
|
|
|
|
|
//修改后更新缓存
|
|
|
redisUtil.set("users", "account_" + oldInfo.getUserAccount());
|
|
|
- if (!StringUtils.isEmpty(oldInfo.getUserEmail()))
|
|
|
- {
|
|
|
+ if (!StringUtils.isEmpty(oldInfo.getUserEmail())) {
|
|
|
redisUtil.set("users", "account_" + oldInfo.getUserEmail());
|
|
|
}
|
|
|
- if (!StringUtils.isEmpty(oldInfo.getUserMobile()))
|
|
|
- {
|
|
|
+ if (!StringUtils.isEmpty(oldInfo.getUserMobile())) {
|
|
|
redisUtil.set("users", "account_" + oldInfo.getUserMobile());
|
|
|
}
|
|
|
|
|
@@ -206,8 +207,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
|
|
|
QueryWrapper<OrganizationUser> organizationUserWrapper = new QueryWrapper<>();
|
|
|
organizationUserWrapper.eq("user_id", userEntity.getId()).eq("organization_id", organizationId);
|
|
|
OrganizationUser orgUserOld = organizationUserService.getOne(organizationUserWrapper);
|
|
|
- if (null == orgUserOld && null != organizationId)
|
|
|
- {
|
|
|
+ if (null == orgUserOld && null != organizationId) {
|
|
|
QueryWrapper<OrganizationUser> organizationUserRemoveWrapper = new QueryWrapper<>();
|
|
|
organizationUserRemoveWrapper.eq("user_id", userEntity.getId());
|
|
|
OrganizationUser orgUserRemove = organizationUserService.getOne(organizationUserRemoveWrapper);
|
|
@@ -231,18 +231,15 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
|
|
|
|
|
|
List<Long> roleIds = user.getRoleIds();
|
|
|
if (result && (null != user.getRoleId() || !CollectionUtils.isEmpty(roleIds))) {
|
|
|
- if(!CollectionUtils.isEmpty(roleIds))
|
|
|
- {
|
|
|
+ if (!CollectionUtils.isEmpty(roleIds)) {
|
|
|
//删除不存在的权限
|
|
|
QueryWrapper<UserRole> wp = new QueryWrapper<>();
|
|
|
wp.eq("user_id", userEntity.getId());
|
|
|
List<UserRole> urList = userRoleService.list(wp);
|
|
|
if (!CollectionUtils.isEmpty(urList)) {
|
|
|
- for (UserRole role : urList)
|
|
|
- {
|
|
|
+ for (UserRole role : urList) {
|
|
|
//如果这个权限不存在,则删除
|
|
|
- if (!roleIds.contains(role.getRoleId()))
|
|
|
- {
|
|
|
+ if (!roleIds.contains(role.getRoleId())) {
|
|
|
QueryWrapper<UserRole> wpd = new QueryWrapper<>();
|
|
|
wpd.eq("user_id", userEntity.getId()).eq("role_id", role.getRoleId());
|
|
|
userRoleService.remove(wpd);
|
|
@@ -251,23 +248,19 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
|
|
|
}
|
|
|
|
|
|
//新增库里不存在的权限
|
|
|
- for (Long role : roleIds)
|
|
|
- {
|
|
|
+ for (Long role : roleIds) {
|
|
|
QueryWrapper<UserRole> oldWp = new QueryWrapper<>();
|
|
|
oldWp.eq("user_id", userEntity.getId()).eq("role_id", role);
|
|
|
UserRole oldUserRole = userRoleService.getOne(oldWp);
|
|
|
//查询出库中存在的角色列表,如果更新中的存在则不操作,如果不存在则新增
|
|
|
- if(null == oldUserRole)
|
|
|
- {
|
|
|
+ if (null == oldUserRole) {
|
|
|
UserRole userRole = new UserRole();
|
|
|
userRole.setUserId(userEntity.getId());
|
|
|
userRole.setRoleId(role);
|
|
|
result = userRoleService.save(userRole);
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- else if(null != user.getRoleId())
|
|
|
- {
|
|
|
+ } else if (null != user.getRoleId()) {
|
|
|
UserRole userRole = new UserRole();
|
|
|
userRole.setUserId(userEntity.getId());
|
|
|
userRole.setRoleId(user.getRoleId());
|
|
@@ -296,12 +289,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
|
|
|
boolean result = this.removeById(userId);
|
|
|
if (result) {
|
|
|
redisUtil.set("users", "account_" + oldInfo.getUserAccount());
|
|
|
- if (!StringUtils.isEmpty(oldInfo.getUserEmail()))
|
|
|
- {
|
|
|
+ if (!StringUtils.isEmpty(oldInfo.getUserEmail())) {
|
|
|
redisUtil.set("users", "account_" + oldInfo.getUserEmail());
|
|
|
}
|
|
|
- if (!StringUtils.isEmpty(oldInfo.getUserMobile()))
|
|
|
- {
|
|
|
+ if (!StringUtils.isEmpty(oldInfo.getUserMobile())) {
|
|
|
redisUtil.set("users", "account_" + oldInfo.getUserMobile());
|
|
|
}
|
|
|
redisUtil.set("roles", "user_id_" + userId);
|
|
@@ -312,15 +303,12 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
|
|
|
@Override
|
|
|
public boolean batchDeleteUser(List<Long> userIds) {
|
|
|
List<User> userList = (List<User>) this.listByIds(userIds);
|
|
|
- for (User oldInfo : userList)
|
|
|
- {
|
|
|
+ for (User oldInfo : userList) {
|
|
|
redisUtil.set("users", "account_" + oldInfo.getUserAccount());
|
|
|
- if (!StringUtils.isEmpty(oldInfo.getUserEmail()))
|
|
|
- {
|
|
|
+ if (!StringUtils.isEmpty(oldInfo.getUserEmail())) {
|
|
|
redisUtil.set("users", "account_" + oldInfo.getUserEmail());
|
|
|
}
|
|
|
- if (!StringUtils.isEmpty(oldInfo.getUserMobile()))
|
|
|
- {
|
|
|
+ if (!StringUtils.isEmpty(oldInfo.getUserMobile())) {
|
|
|
redisUtil.set("users", "account_" + oldInfo.getUserMobile());
|
|
|
}
|
|
|
redisUtil.set("users", "id_" + oldInfo.getId());
|