|
|
@@ -2,9 +2,11 @@ package com.railway.system.service.impl;
|
|
|
|
|
|
import com.railway.common.annotation.DataScope;
|
|
|
import com.railway.common.constant.UserConstants;
|
|
|
+import com.railway.common.core.domain.AjaxResult;
|
|
|
import com.railway.common.core.domain.entity.SysRole;
|
|
|
import com.railway.common.core.domain.entity.SysUser;
|
|
|
import com.railway.common.exception.ServiceException;
|
|
|
+import com.railway.common.utils.PhoneUtils;
|
|
|
import com.railway.common.utils.SecurityUtils;
|
|
|
import com.railway.common.utils.StringUtils;
|
|
|
import com.railway.common.utils.spring.SpringUtils;
|
|
|
@@ -71,6 +73,13 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
.collect(Collectors.joining(","));
|
|
|
sysUser.setRoleName(roleName);
|
|
|
}
|
|
|
+ // 手机号脱敏
|
|
|
+ String phone = sysUser.getPhone();
|
|
|
+ try {
|
|
|
+ phone = PhoneUtils.blurPhone(sysUser.getPhone());
|
|
|
+ } catch (IllegalArgumentException ignored) {
|
|
|
+ }
|
|
|
+ sysUser.setPhone(phone);
|
|
|
}
|
|
|
return users;
|
|
|
}
|
|
|
@@ -110,6 +119,17 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
return userMapper.selectUserByUserName(userName);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 通过工号查询用户
|
|
|
+ *
|
|
|
+ * @param nickName 工号
|
|
|
+ * @return 用户对象信息
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public SysUser selectUserByNickName(String nickName) {
|
|
|
+ return userMapper.selectUserByUserName(nickName);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 通过用户ID查询用户
|
|
|
*
|
|
|
@@ -159,6 +179,34 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
return idsStr.toString();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 校验用户是否唯一
|
|
|
+ *
|
|
|
+ * @param user 用户信息
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public AjaxResult checkUserUnique(SysUser user) {
|
|
|
+ String tips = "修改用户'";
|
|
|
+ if(StringUtils.isNull(user.getUserId())){
|
|
|
+ tips = "新增用户'";
|
|
|
+ if (UserConstants.NOT_UNIQUE.equals(checkUserNameUnique(user.getUserName()))) {
|
|
|
+ return AjaxResult.error(tips + user.getUserName() + "'失败,登录账号已存在");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(user.getNickName())
|
|
|
+ && UserConstants.NOT_UNIQUE.equals(checkPhoneUnique(user))) {
|
|
|
+ return AjaxResult.error(tips + user.getUserName() + "'失败,手机号码已存在");
|
|
|
+ } else if (StringUtils.isNotEmpty(user.getPhone())
|
|
|
+ && UserConstants.NOT_UNIQUE.equals(checkNickNameUnique(user))) {
|
|
|
+ return AjaxResult.error(tips + user.getUserName() + "'失败,工已存在");
|
|
|
+ } else if (StringUtils.isNotEmpty(user.getEmail())
|
|
|
+ && UserConstants.NOT_UNIQUE.equals(checkEmailUnique(user))) {
|
|
|
+ return AjaxResult.error(tips + user.getUserName() + "'失败,邮箱账号已存在");
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 校验用户名称是否唯一
|
|
|
*
|
|
|
@@ -174,6 +222,22 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
return UserConstants.UNIQUE;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 校验工号是否唯一
|
|
|
+ *
|
|
|
+ * @param user 用户信息
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public String checkNickNameUnique(SysUser user) {
|
|
|
+ long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
|
|
|
+ SysUser info = userMapper.checkNickNameUnique(user.getNickName());
|
|
|
+ if (StringUtils.isNotNull(info) && info.getUserId() != userId) {
|
|
|
+ return UserConstants.NOT_UNIQUE;
|
|
|
+ }
|
|
|
+ return UserConstants.UNIQUE;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 校验用户名称是否唯一
|
|
|
*
|
|
|
@@ -274,7 +338,7 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- @Transactional
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public int updateUser(SysUser user) {
|
|
|
Long userId = user.getUserId();
|
|
|
// 删除用户与角色关联
|
|
|
@@ -295,7 +359,7 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
* @param roleIds 角色组
|
|
|
*/
|
|
|
@Override
|
|
|
- @Transactional
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void insertUserAuth(Long userId, Long[] roleIds) {
|
|
|
userRoleMapper.deleteUserRoleByUserId(userId);
|
|
|
insertUserRole(userId, roleIds);
|