Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fulixin
dsk-operate-sys-cscec
Commits
2a473681
Commit
2a473681
authored
Nov 16, 2023
by
施翔轲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复批量新增企业普通管理员账号手机号重复问题
parent
22d5962b
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
59 additions
and
33 deletions
+59
-33
SysTenantController.java
...va/com/dsk/web/controller/system/SysTenantController.java
+3
-1
ISysUserService.java
...src/main/java/com/dsk/system/service/ISysUserService.java
+9
-0
ISysTenantServiceImpl.java
...va/com/dsk/system/service/impl/ISysTenantServiceImpl.java
+24
-26
SysUserServiceImpl.java
.../java/com/dsk/system/service/impl/SysUserServiceImpl.java
+23
-6
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/system/SysTenantController.java
View file @
2a473681
...
@@ -104,10 +104,12 @@ public class SysTenantController extends BaseController {
...
@@ -104,10 +104,12 @@ public class SysTenantController extends BaseController {
@Log
(
title
=
"用户管理"
,
businessType
=
BusinessType
.
INSERT
)
@Log
(
title
=
"用户管理"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
(
"/addTenantAdmin"
)
@PostMapping
(
"/addTenantAdmin"
)
public
R
<
Void
>
addTenantAdmin
(
@Validated
@RequestBody
SysTenantAdminBo
tenantAdminBo
)
{
public
R
<
Void
>
addTenantAdmin
(
@Validated
@RequestBody
SysTenantAdminBo
tenantAdminBo
)
{
if
(!
userService
.
checkPhoneUnique
(
BeanUtil
.
toBean
(
tenantAdminBo
,
SysUser
.
class
)))
{
//校验手机号是否已存在
if
(
TenantHelper
.
ignore
(()->
userService
.
checkTenantAdminPhoneUnique
(
tenantAdminBo
)))
{
return
R
.
fail
(
"新增用户'"
+
tenantAdminBo
.
getPhonenumber
()
+
"'失败,手机号码已存在"
);
return
R
.
fail
(
"新增用户'"
+
tenantAdminBo
.
getPhonenumber
()
+
"'失败,手机号码已存在"
);
}
}
return
toAjax
(
TenantHelper
.
ignore
(()
->
tenantService
.
addTenantAdmin
(
tenantAdminBo
)));
return
toAjax
(
TenantHelper
.
ignore
(()
->
tenantService
.
addTenantAdmin
(
tenantAdminBo
)));
//return R.ok("手机号验证成功");
}
}
/**
/**
...
...
dsk-system/src/main/java/com/dsk/system/service/ISysUserService.java
View file @
2a473681
...
@@ -3,6 +3,7 @@ package com.dsk.system.service;
...
@@ -3,6 +3,7 @@ package com.dsk.system.service;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.system.domain.SysUser
;
import
com.dsk.system.domain.SysUser
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.system.domain.bo.SysTenantAdminBo
;
import
com.dsk.system.domain.vo.SysUserImportVo
;
import
com.dsk.system.domain.vo.SysUserImportVo
;
import
java.util.List
;
import
java.util.List
;
...
@@ -103,6 +104,14 @@ public interface ISysUserService {
...
@@ -103,6 +104,14 @@ public interface ISysUserService {
*/
*/
boolean
checkPhoneUnique
(
SysUser
user
);
boolean
checkPhoneUnique
(
SysUser
user
);
/**
* 校验企业普通管理员手机号码是否唯一
*
* @param tenantAdminBo 用户信息
* @return 结果
*/
boolean
checkTenantAdminPhoneUnique
(
SysTenantAdminBo
tenantAdminBo
);
/**
/**
* 校验email是否唯一
* 校验email是否唯一
*
*
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/ISysTenantServiceImpl.java
View file @
2a473681
...
@@ -16,6 +16,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...
@@ -16,6 +16,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.dsk.common.constant.CacheNames
;
import
com.dsk.common.constant.CacheNames
;
import
com.dsk.common.constant.Constants
;
import
com.dsk.common.constant.Constants
;
import
com.dsk.common.constant.TenantConstants
;
import
com.dsk.common.constant.TenantConstants
;
import
com.dsk.common.constant.UserConstants
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.domain.entity.SysDictData
;
import
com.dsk.common.core.domain.entity.SysDictData
;
import
com.dsk.common.core.domain.entity.SysDictType
;
import
com.dsk.common.core.domain.entity.SysDictType
;
...
@@ -281,20 +282,33 @@ public class ISysTenantServiceImpl implements ISysTenantService {
...
@@ -281,20 +282,33 @@ public class ISysTenantServiceImpl implements ISysTenantService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
addTenantAdmin
(
SysTenantAdminBo
tenantAdminBo
)
{
public
Boolean
addTenantAdmin
(
SysTenantAdminBo
tenantAdminBo
)
{
String
tenantId
=
tenantAdminBo
.
getTenantId
();
String
tenantId
=
tenantAdminBo
.
getTenantId
();
// 根据套餐创建角色
Long
roleId
=
createTenantRole
(
tenantId
,
tenantAdminBo
.
getPackageId
(),
TenantConstants
.
TENANT_ADMIN_ROLE_NAME
,
TenantConstants
.
TENANT_ADMIN_ROLE_KEY
);
//获取部门ID
//获取部门ID
Long
deptId
=
deptMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysDept
>()
Long
deptId
=
deptMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysDept
>()
.
eq
(
SysDept:
:
getTenantId
,
tenantId
)).
getDeptId
();
.
eq
(
SysDept:
:
getTenantId
,
tenantId
)).
getDeptId
();
// 角色和部门关联表
SysRole
sysRole
=
roleMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysRole
>()
SysRoleDept
roleDept
=
new
SysRoleDept
();
.
eq
(
SysRole:
:
getStatus
,
UserConstants
.
ROLE_NORMAL
)
roleDept
.
setRoleId
(
roleId
);
.
eq
(
SysRole:
:
getDelFlag
,
UserConstants
.
ROLE_NORMAL
)
roleDept
.
setDeptId
(
deptId
);
.
eq
(
SysRole:
:
getTenantId
,
tenantId
)
roleDeptMapper
.
insert
(
roleDept
);
.
eq
(
SysRole:
:
getRoleKey
,
TenantConstants
.
TENANT_ADMIN_ROLE_KEY
));
Long
roleId
=
null
;
//校验当前企业是否已存在普通管理员角色
if
(
ObjectUtil
.
isNull
(
sysRole
))
{
//不存在,则根据套餐创建角色
roleId
=
createTenantRole
(
tenantId
,
tenantAdminBo
.
getPackageId
(),
TenantConstants
.
TENANT_ADMIN_ROLE_NAME
,
TenantConstants
.
TENANT_ADMIN_ROLE_KEY
);
// 角色和部门关联表
SysRoleDept
roleDept
=
new
SysRoleDept
();
roleDept
.
setRoleId
(
roleId
);
roleDept
.
setDeptId
(
deptId
);
roleDeptMapper
.
insert
(
roleDept
);
}
else
{
roleId
=
sysRole
.
getRoleId
();
}
// 创建系统用户
// 创建系统用户
SysUser
user
=
new
SysUser
();
SysUser
user
=
new
SysUser
();
...
@@ -316,25 +330,9 @@ public class ISysTenantServiceImpl implements ISysTenantService {
...
@@ -316,25 +330,9 @@ public class ISysTenantServiceImpl implements ISysTenantService {
userRole
.
setRoleId
(
roleId
);
userRole
.
setRoleId
(
roleId
);
userRoleMapper
.
insert
(
userRole
);
userRoleMapper
.
insert
(
userRole
);
String
defaultTenantId
=
TenantConstants
.
DEFAULT_TENANT_ID
;
//List<SysDictType> dictTypeList = dictTypeMapper.selectList(
// new LambdaQueryWrapper<SysDictType>().eq(SysDictType::getTenantId, defaultTenantId));
//List<SysDictData> dictDataList = dictDataMapper.selectList(
// new LambdaQueryWrapper<SysDictData>().eq(SysDictData::getTenantId, defaultTenantId));
//for (SysDictType dictType : dictTypeList) {
// dictType.setDictId(null);
// dictType.setTenantId(tenantId);
//}
//for (SysDictData dictData : dictDataList) {
// dictData.setDictCode(null);
// dictData.setTenantId(tenantId);
//}
//dictTypeMapper.insertBatch(dictTypeList);
//dictDataMapper.insertBatch(dictDataList);
List
<
SysConfig
>
sysConfigList
=
configMapper
.
selectList
(
List
<
SysConfig
>
sysConfigList
=
configMapper
.
selectList
(
new
LambdaQueryWrapper
<
SysConfig
>()
new
LambdaQueryWrapper
<
SysConfig
>()
.
eq
(
SysConfig:
:
getTenantId
,
defaultTenantId
)
.
eq
(
SysConfig:
:
getTenantId
,
TenantConstants
.
DEFAULT_TENANT_ID
)
.
eq
(
SysConfig:
:
getConfigType
,
"Y"
));
.
eq
(
SysConfig:
:
getConfigType
,
"Y"
));
for
(
SysConfig
config
:
sysConfigList
)
{
for
(
SysConfig
config
:
sysConfigList
)
{
config
.
setConfigId
(
null
);
config
.
setConfigId
(
null
);
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/SysUserServiceImpl.java
View file @
2a473681
...
@@ -26,6 +26,7 @@ import com.dsk.common.utils.StreamUtils;
...
@@ -26,6 +26,7 @@ import com.dsk.common.utils.StreamUtils;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.common.utils.ValidatorUtils
;
import
com.dsk.common.utils.ValidatorUtils
;
import
com.dsk.system.domain.*
;
import
com.dsk.system.domain.*
;
import
com.dsk.system.domain.bo.SysTenantAdminBo
;
import
com.dsk.system.domain.vo.SysUserImportVo
;
import
com.dsk.system.domain.vo.SysUserImportVo
;
import
com.dsk.system.mapper.*
;
import
com.dsk.system.mapper.*
;
import
com.dsk.system.service.ISysUserService
;
import
com.dsk.system.service.ISysUserService
;
...
@@ -68,9 +69,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
...
@@ -68,9 +69,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
public
Long
queryTenantAdminNumCreatedByDSK
(
Long
tenantId
)
{
public
Long
queryTenantAdminNumCreatedByDSK
(
Long
tenantId
)
{
LambdaQueryWrapper
<
SysUser
>
queryWrapper
=
new
LambdaQueryWrapper
<
SysUser
>()
LambdaQueryWrapper
<
SysUser
>
queryWrapper
=
new
LambdaQueryWrapper
<
SysUser
>()
.
select
(
SysUser:
:
getUserId
)
.
select
(
SysUser:
:
getUserId
)
.
eq
(
SysUser:
:
getStatus
,
UserConstants
.
USER_NORMAL
)
.
eq
(
SysUser:
:
getStatus
,
UserConstants
.
NORMAL
)
.
eq
(
SysUser:
:
getTenantId
,
tenantId
)
.
eq
(
SysUser:
:
getDelFlag
,
UserConstants
.
NORMAL
)
.
eq
(
SysUser:
:
getCreateBy
,
"suadmin"
);
.
eq
(
SysUser:
:
getTenantId
,
tenantId
);
//.eq(SysUser::getCreateBy, "suadmin");
return
baseMapper
.
selectCount
(
queryWrapper
);
return
baseMapper
.
selectCount
(
queryWrapper
);
}
}
...
@@ -252,6 +254,20 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
...
@@ -252,6 +254,20 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
return
!
exist
;
return
!
exist
;
}
}
/**
* 校验企业普通管理员手机号码是否唯一
*
* @param tenantAdminBo 用户信息
* @return 结果
*/
@Override
public
boolean
checkTenantAdminPhoneUnique
(
SysTenantAdminBo
tenantAdminBo
)
{
return
baseMapper
.
exists
(
new
LambdaQueryWrapper
<
SysUser
>()
.
eq
(
SysUser:
:
getTenantId
,
tenantAdminBo
.
getTenantId
())
.
eq
(
SysUser:
:
getPhonenumber
,
tenantAdminBo
.
getPhonenumber
())
.
eq
(
SysUser:
:
getStatus
,
UserConstants
.
NORMAL
));
}
/**
/**
* 校验email是否唯一
* 校验email是否唯一
*
*
...
@@ -424,9 +440,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
...
@@ -424,9 +440,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
int
updateUser
(
SysUser
user
)
{
public
int
updateUser
(
SysUser
user
)
{
Long
userId
=
user
.
getUserId
();
Long
userId
=
user
.
getUserId
();
if
(
LoginHelper
.
isTenantAdmin
(
LoginHelper
.
getLoginUser
().
getRolePermission
()))
{
//校验企业管理员角色下是否至少有一个账号
//校验企业管理员角色下是否至少有一个账号
checkAdminHasUsers
(
user
);
checkAdminHasUsers
(
user
);
}
// 删除用户与角色关联
// 删除用户与角色关联
userRoleMapper
.
delete
(
new
LambdaQueryWrapper
<
SysUserRole
>().
eq
(
SysUserRole:
:
getUserId
,
userId
));
userRoleMapper
.
delete
(
new
LambdaQueryWrapper
<
SysUserRole
>().
eq
(
SysUserRole:
:
getUserId
,
userId
));
// 新增用户与角色管理
// 新增用户与角色管理
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment