Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
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
Administrator
dsk-cr20g
Commits
7519c2ef
Commit
7519c2ef
authored
Sep 04, 2023
by
施翔轲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新用户管理导入模板、修复批量导入用户bug
parent
53cb5e9b
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
162 additions
and
92 deletions
+162
-92
SysProfileController.java
...a/com/dsk/web/controller/system/SysProfileController.java
+1
-1
SysUserController.java
...java/com/dsk/web/controller/system/SysUserController.java
+25
-5
userImportTemplate.xlsx
dsk-admin/src/main/resources/excel/userImportTemplate.xlsx
+0
-0
GlobalConstants.java
...rc/main/java/com/dsk/common/constant/GlobalConstants.java
+5
-0
SysDeptVo.java
...tem/src/main/java/com/dsk/system/domain/vo/SysDeptVo.java
+7
-12
SysTenantPackageSelectVo.java
...va/com/dsk/system/domain/vo/SysTenantPackageSelectVo.java
+6
-1
SysUserImportVo.java
...c/main/java/com/dsk/system/domain/vo/SysUserImportVo.java
+17
-32
SysUserImportListener.java
...n/java/com/dsk/system/listener/SysUserImportListener.java
+32
-7
ISysDeptService.java
...src/main/java/com/dsk/system/service/ISysDeptService.java
+9
-0
ISysRoleService.java
...src/main/java/com/dsk/system/service/ISysRoleService.java
+9
-0
ISysTenantPackageServiceImpl.java
...dsk/system/service/impl/ISysTenantPackageServiceImpl.java
+1
-3
SysDeptServiceImpl.java
.../java/com/dsk/system/service/impl/SysDeptServiceImpl.java
+13
-0
SysRoleServiceImpl.java
.../java/com/dsk/system/service/impl/SysRoleServiceImpl.java
+32
-19
SysUserServiceImpl.java
.../java/com/dsk/system/service/impl/SysUserServiceImpl.java
+5
-12
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/system/SysProfileController.java
View file @
7519c2ef
...
...
@@ -5,11 +5,11 @@ import cn.hutool.core.io.FileUtil;
import
com.dsk.common.annotation.Log
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.system.domain.SysUser
;
import
com.dsk.common.enums.BusinessType
;
import
com.dsk.common.helper.LoginHelper
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.common.utils.file.MimeTypeUtils
;
import
com.dsk.system.domain.SysUser
;
import
com.dsk.system.domain.vo.SysOssVo
;
import
com.dsk.system.service.ISysOssService
;
import
com.dsk.system.service.ISysUserService
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/system/SysUserController.java
View file @
7519c2ef
...
...
@@ -7,6 +7,7 @@ import cn.hutool.core.lang.tree.Tree;
import
cn.hutool.core.util.ArrayUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.dsk.common.annotation.Log
;
import
com.dsk.common.constant.GlobalConstants
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.domain.R
;
...
...
@@ -17,6 +18,7 @@ import com.dsk.common.helper.LoginHelper;
import
com.dsk.common.utils.StreamUtils
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.common.utils.poi.ExcelUtil
;
import
com.dsk.common.utils.redis.RedisUtils
;
import
com.dsk.system.domain.SysDept
;
import
com.dsk.system.domain.SysRole
;
import
com.dsk.system.domain.SysUser
;
...
...
@@ -84,6 +86,18 @@ public class SysUserController extends BaseController {
ExcelUtil
.
exportExcel
(
listVo
,
"用户数据"
,
SysUserExportVo
.
class
,
response
);
}
/**
* 获取批量导入用户失败列表
*/
@Log
(
title
=
"用户管理"
,
businessType
=
BusinessType
.
EXPORT
)
@SaCheckPermission
(
"system:user:export"
)
@PostMapping
(
"/exportFailUsers"
)
public
void
exportFailUsers
(
HttpServletResponse
response
)
{
String
key
=
GlobalConstants
.
BATCH_IMPORT_FAIL_USERS
+
LoginHelper
.
getUserId
();
ExcelUtil
.
exportExcel
(
RedisUtils
.
getCacheList
(
key
),
"用户数据"
,
SysUserImportVo
.
class
,
response
);
RedisUtils
.
deleteObject
(
key
);
}
/**
* 导入数据
*
...
...
@@ -93,8 +107,14 @@ public class SysUserController extends BaseController {
@Log
(
title
=
"用户管理"
,
businessType
=
BusinessType
.
IMPORT
)
@SaCheckPermission
(
"system:user:import"
)
@PostMapping
(
value
=
"/importData"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
public
R
<
Void
>
importData
(
@RequestPart
(
"file"
)
MultipartFile
file
,
boolean
updateSupport
)
throws
Exception
{
public
R
<
List
<
SysUserImportVo
>
>
importData
(
@RequestPart
(
"file"
)
MultipartFile
file
,
boolean
updateSupport
)
throws
Exception
{
ExcelResult
<
SysUserImportVo
>
result
=
ExcelUtil
.
importExcel
(
file
.
getInputStream
(),
SysUserImportVo
.
class
,
new
SysUserImportListener
(
updateSupport
));
List
<
SysUserImportVo
>
resultList
=
result
.
getList
();
if
(
ObjectUtil
.
isNotNull
(
resultList
))
{
String
key
=
GlobalConstants
.
BATCH_IMPORT_FAIL_USERS
+
LoginHelper
.
getUserId
();
RedisUtils
.
setCacheList
(
key
,
resultList
);
return
R
.
fail
(
resultList
);
}
return
R
.
ok
(
result
.
getAnalysis
());
}
...
...
@@ -103,7 +123,9 @@ public class SysUserController extends BaseController {
*/
@PostMapping
(
"/importTemplate"
)
public
void
importTemplate
(
HttpServletResponse
response
)
{
ExcelUtil
.
exportExcel
(
new
ArrayList
<>(),
"用户数据"
,
SysUserImportVo
.
class
,
response
);
List
<
Object
>
list
=
new
ArrayList
<>();
list
.
add
(
new
SysUserImportVo
(
"测试部门"
,
"测试用户昵称"
,
"18888888888"
,
"测试角色"
));
ExcelUtil
.
exportTemplate
(
list
,
"用户数据"
,
"excel/userImportTemplate.xlsx"
,
response
);
}
/**
...
...
@@ -135,9 +157,7 @@ public class SysUserController extends BaseController {
@Log
(
title
=
"用户管理"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
R
<
Void
>
add
(
@Validated
@RequestBody
SysUser
user
)
{
if
(!
userService
.
checkUserNameUnique
(
user
))
{
return
R
.
fail
(
"新增用户'"
+
user
.
getUserName
()
+
"'失败,登录账号已存在"
);
}
else
if
(
StringUtils
.
isNotEmpty
(
user
.
getPhonenumber
())
&&
!
userService
.
checkPhoneUnique
(
user
))
{
if
(
StringUtils
.
isNotEmpty
(
user
.
getPhonenumber
())
&&
!
userService
.
checkPhoneUnique
(
user
))
{
return
R
.
fail
(
"新增用户'"
+
user
.
getUserName
()
+
"'失败,手机号码已存在"
);
}
else
if
(
StringUtils
.
isNotEmpty
(
user
.
getEmail
())
&&
!
userService
.
checkEmailUnique
(
user
))
{
return
R
.
fail
(
"新增用户'"
+
user
.
getUserName
()
+
"'失败,邮箱账号已存在"
);
...
...
dsk-admin/src/main/resources/excel/userImportTemplate.xlsx
0 → 100644
View file @
7519c2ef
File added
dsk-common/src/main/java/com/dsk/common/constant/GlobalConstants.java
View file @
7519c2ef
...
...
@@ -43,4 +43,9 @@ public interface GlobalConstants {
*/
String
PHONE_DEFAULT_TENANT
=
GLOBAL_REDIS_KEY
+
"phone_default_tenant:"
;
/**
* 批量导入用户失败集合
*/
String
BATCH_IMPORT_FAIL_USERS
=
GLOBAL_REDIS_KEY
+
"batch_import_fail_users"
;
}
dsk-system/src/main/java/com/dsk/system/domain/vo/SysDeptVo.java
View file @
7519c2ef
...
...
@@ -2,25 +2,14 @@ package com.dsk.system.domain.vo;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.dsk.common.annotation.ExcelDictFormat
;
import
com.dsk.common.convert.ExcelDictConvert
;
import
com.dsk.common.tenant.core.TenantEntity
;
import
com.dsk.system.domain.SysDept
;
import
com.dsk.system.domain.SysTenantPackage
;
import
com.sun.org.apache.xpath.internal.operations.Bool
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
javax.validation.constraints.Email
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 部门表 sys_dept
...
...
@@ -105,4 +94,10 @@ public class SysDeptVo implements Serializable {
@ExcelProperty
(
value
=
"该部门是否存在用户"
,
converter
=
ExcelDictConvert
.
class
)
@ExcelDictFormat
(
readConverterExp
=
"true=存在,false=删除"
)
private
Boolean
existUsers
;
/**
* 创建时间
*/
@ExcelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
}
dsk-system/src/main/java/com/dsk/system/domain/vo/SysTenantPackageSelectVo.java
View file @
7519c2ef
...
...
@@ -9,7 +9,6 @@ import io.github.linpeilie.annotations.AutoMapper;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author sxk
...
...
@@ -35,4 +34,10 @@ public class SysTenantPackageSelectVo implements Serializable {
@ExcelProperty
(
value
=
"套餐名称"
)
private
String
packageName
;
/**
* 状态(0正常 1停用)
*/
@ExcelProperty
(
value
=
"状态"
,
converter
=
ExcelDictConvert
.
class
)
@ExcelDictFormat
(
readConverterExp
=
"0=正常,1=停用"
)
private
String
status
;
}
dsk-system/src/main/java/com/dsk/system/domain/vo/SysUserImportVo.java
View file @
7519c2ef
package
com
.
dsk
.
system
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.dsk.common.annotation.ExcelDictFormat
;
import
com.dsk.common.convert.ExcelDictConvert
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
...
...
@@ -18,38 +16,21 @@ import java.io.Serializable;
@NoArgsConstructor
// @Accessors(chain = true) // 导入不允许使用 会找不到set方法
public
class
SysUserImportVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 用户ID
*/
@ExcelProperty
(
value
=
"用户序号"
)
private
Long
userId
;
/**
* 部门ID
*/
@ExcelProperty
(
value
=
"部门编号"
)
private
Long
deptId
;
//如需修改以下字段,需同步修改
private
static
final
long
serialVersionUID
=
1L
;
/**
*
用户账号
*
所属部门
*/
@ExcelProperty
(
value
=
"登录名称"
)
private
String
userName
;
private
String
deptName
;
/**
* 用户昵称
*/
@ExcelProperty
(
value
=
"用户
名
称"
)
@ExcelProperty
(
value
=
"用户
昵
称"
)
private
String
nickName
;
/**
* 用户邮箱
*/
@ExcelProperty
(
value
=
"用户邮箱"
)
private
String
email
;
/**
* 手机号码
*/
...
...
@@ -57,17 +38,21 @@ public class SysUserImportVo implements Serializable {
private
String
phonenumber
;
/**
* 用户
性别
* 用户
角色
*/
@ExcelProperty
(
value
=
"用户性别"
,
converter
=
ExcelDictConvert
.
class
)
@ExcelDictFormat
(
dictType
=
"sys_user_sex"
)
private
String
sex
;
@ExcelProperty
(
value
=
"用户角色"
)
private
String
roleName
;
/**
* 帐号状态(0正常 1停用)
* 失败原因
* 该字段无需同步到模板中
*/
@ExcelProperty
(
value
=
"帐号状态"
,
converter
=
ExcelDictConvert
.
class
)
@ExcelDictFormat
(
dictType
=
"sys_normal_disable"
)
private
String
status
;
private
String
failReason
;
public
SysUserImportVo
(
String
deptName
,
String
nickName
,
String
phonenumber
,
String
roleName
)
{
this
.
deptName
=
deptName
.
replace
(
" "
,
""
);
this
.
nickName
=
nickName
.
replace
(
" "
,
""
);
this
.
phonenumber
=
phonenumber
;
this
.
roleName
=
roleName
.
replace
(
" "
,
""
);
}
}
dsk-system/src/main/java/com/dsk/system/listener/SysUserImportListener.java
View file @
7519c2ef
...
...
@@ -5,18 +5,23 @@ import cn.hutool.core.bean.BeanUtil;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
com.dsk.system.domain.vo.SysUserImportVo
;
import
com.dsk.system.domain.SysUser
;
import
com.dsk.common.excel.ExcelListener
;
import
com.dsk.common.excel.ExcelResult
;
import
com.dsk.common.exception.ServiceException
;
import
com.dsk.common.helper.LoginHelper
;
import
com.dsk.common.utils.ValidatorUtils
;
import
com.dsk.common.utils.spring.SpringUtils
;
import
com.dsk.system.domain.SysDept
;
import
com.dsk.system.domain.SysRole
;
import
com.dsk.system.domain.SysUser
;
import
com.dsk.system.domain.vo.SysUserImportVo
;
import
com.dsk.system.service.ISysConfigService
;
import
com.dsk.system.service.ISysDeptService
;
import
com.dsk.system.service.ISysRoleService
;
import
com.dsk.system.service.ISysUserService
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -28,13 +33,15 @@ import java.util.List;
public
class
SysUserImportListener
extends
AnalysisEventListener
<
SysUserImportVo
>
implements
ExcelListener
<
SysUserImportVo
>
{
private
final
ISysUserService
userService
;
private
final
ISysDeptService
deptService
;
private
final
ISysRoleService
roleService
;
private
final
String
password
;
private
final
Boolean
isUpdateSupport
;
private
final
String
operName
;
private
ArrayList
<
SysUserImportVo
>
resultList
=
new
ArrayList
<>();
private
int
successNum
=
0
;
private
int
failureNum
=
0
;
private
final
StringBuilder
successMsg
=
new
StringBuilder
();
...
...
@@ -43,6 +50,8 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo
public
SysUserImportListener
(
Boolean
isUpdateSupport
)
{
String
initPassword
=
SpringUtils
.
getBean
(
ISysConfigService
.
class
).
selectConfigByKey
(
"sys.user.initPassword"
);
this
.
userService
=
SpringUtils
.
getBean
(
ISysUserService
.
class
);
this
.
deptService
=
SpringUtils
.
getBean
(
ISysDeptService
.
class
);
this
.
roleService
=
SpringUtils
.
getBean
(
ISysRoleService
.
class
);
this
.
password
=
BCrypt
.
hashpw
(
initPassword
);
this
.
isUpdateSupport
=
isUpdateSupport
;
this
.
operName
=
LoginHelper
.
getUsername
();
...
...
@@ -50,13 +59,25 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo
@Override
public
void
invoke
(
SysUserImportVo
userVo
,
AnalysisContext
context
)
{
SysUser
user
=
this
.
userService
.
selectUserByUserName
(
userVo
.
getUserName
());
SysUser
user
=
this
.
userService
.
selectUserByPhonenumber
(
userVo
.
getPhonenumber
());
SysDept
dept
=
this
.
deptService
.
selectDeptByDeptName
(
userVo
.
getDeptName
());
SysRole
role
=
this
.
roleService
.
selectRoleByRoleName
(
userVo
.
getRoleName
());
try
{
if
(
ObjectUtil
.
isNull
(
dept
))
{
throw
new
ServiceException
(
"部门不存在"
);
}
if
(
ObjectUtil
.
isNull
(
role
))
{
throw
new
ServiceException
(
"角色不存在"
);
}
// 验证是否存在这个用户
if
(
ObjectUtil
.
isNull
(
user
))
{
user
=
BeanUtil
.
toBean
(
userVo
,
SysUser
.
class
);
user
.
setUserName
(
userVo
.
getPhonenumber
());
user
.
setDeptId
(
dept
.
getDeptId
());
user
.
setDept
(
dept
);
user
.
setRoleId
(
role
.
getRoleId
());
user
.
setRoleIds
(
new
Long
[]{
role
.
getRoleId
()});
ValidatorUtils
.
validate
(
user
);
user
.
setPassword
(
password
);
user
.
setCreateBy
(
operName
);
userService
.
insertUser
(
user
);
successNum
++;
...
...
@@ -75,11 +96,15 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo
}
else
{
failureNum
++;
failureMsg
.
append
(
"<br/>"
).
append
(
failureNum
).
append
(
"、账号 "
).
append
(
user
.
getUserName
()).
append
(
" 已存在"
);
userVo
.
setFailReason
(
"手机号已存在"
);
resultList
.
add
(
userVo
);
}
}
catch
(
Exception
e
)
{
failureNum
++;
String
msg
=
"<br/>"
+
failureNum
+
"、账号 "
+
user
.
getUserName
()
+
" 导入失败:"
;
String
msg
=
"<br/>"
+
failureNum
+
"、账号 "
+
user
Vo
.
getPhonenumber
()
+
" 导入失败:"
;
failureMsg
.
append
(
msg
).
append
(
e
.
getMessage
());
userVo
.
setFailReason
(
e
.
getMessage
());
resultList
.
add
(
userVo
);
log
.
error
(
msg
,
e
);
}
}
...
...
@@ -106,7 +131,7 @@ public class SysUserImportListener extends AnalysisEventListener<SysUserImportVo
@Override
public
List
<
SysUserImportVo
>
getList
()
{
return
null
;
return
resultList
;
}
@Override
...
...
dsk-system/src/main/java/com/dsk/system/service/ISysDeptService.java
View file @
7519c2ef
...
...
@@ -51,6 +51,14 @@ public interface ISysDeptService {
*/
SysDept
selectDeptById
(
Long
deptId
);
/**
* 根据部门名称查询部门
*
* @param deptName 部门名称
* @return 部门
*/
SysDept
selectDeptByDeptName
(
String
deptName
);
/**
* 根据ID查询所有子部门数(正常状态)
*
...
...
@@ -113,4 +121,5 @@ public interface ISysDeptService {
* @return 结果
*/
int
deleteDeptById
(
Long
deptId
);
}
dsk-system/src/main/java/com/dsk/system/service/ISysRoleService.java
View file @
7519c2ef
...
...
@@ -42,6 +42,14 @@ public interface ISysRoleService {
*/
Set
<
String
>
selectRolePermissionByUserId
(
Long
userId
);
/**
* 根据角色名称查询角色
*
* @param roleName 角色名称
* @return 角色
*/
SysRole
selectRoleByRoleName
(
String
roleName
);
/**
* 查询所有角色
*
...
...
@@ -178,4 +186,5 @@ public interface ISysRoleService {
int
insertAuthUsers
(
Long
roleId
,
Long
[]
userIds
);
void
cleanOnlineUserByRole
(
Long
roleId
);
}
dsk-system/src/main/java/com/dsk/system/service/impl/ISysTenantPackageServiceImpl.java
View file @
7519c2ef
...
...
@@ -5,7 +5,6 @@ import cn.hutool.core.collection.CollUtil;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.dsk.common.constant.TenantConstants
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.exception.ServiceException
;
...
...
@@ -57,8 +56,7 @@ public class ISysTenantPackageServiceImpl implements ISysTenantPackageService {
*/
@Override
public
List
<
SysTenantPackageSelectVo
>
selectList
()
{
List
<
SysTenantPackageVo
>
tenantPackageVo
=
baseMapper
.
selectVoList
(
new
LambdaQueryWrapper
<
SysTenantPackage
>()
.
eq
(
SysTenantPackage:
:
getStatus
,
TenantConstants
.
NORMAL
));
List
<
SysTenantPackageVo
>
tenantPackageVo
=
baseMapper
.
selectVoList
(
null
);
return
BeanUtil
.
copyToList
(
tenantPackageVo
,
SysTenantPackageSelectVo
.
class
);
}
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/SysDeptServiceImpl.java
View file @
7519c2ef
...
...
@@ -126,6 +126,19 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
return
dept
;
}
/**
* 根据部门名称查询部门
*
* @param deptName 部门名称
* @return 部门
*/
@Override
public
SysDept
selectDeptByDeptName
(
String
deptName
)
{
LambdaQueryWrapper
<
SysDept
>
wrapper
=
new
LambdaQueryWrapper
<
SysDept
>()
.
eq
(
SysDept:
:
getDeptName
,
deptName
);
return
baseMapper
.
selectOne
(
wrapper
);
}
/**
* 通过部门ID查询部门名称
*
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/SysRoleServiceImpl.java
View file @
7519c2ef
...
...
@@ -68,13 +68,13 @@ public class SysRoleServiceImpl implements ISysRoleService {
Map
<
String
,
Object
>
params
=
role
.
getParams
();
QueryWrapper
<
SysRole
>
wrapper
=
Wrappers
.
query
();
wrapper
.
eq
(
"r.del_flag"
,
UserConstants
.
ROLE_NORMAL
)
.
eq
(
ObjectUtil
.
isNotNull
(
role
.
getRoleId
()),
"r.role_id"
,
role
.
getRoleId
())
.
like
(
StringUtils
.
isNotBlank
(
role
.
getRoleName
()),
"r.role_name"
,
role
.
getRoleName
())
.
eq
(
StringUtils
.
isNotBlank
(
role
.
getStatus
()),
"r.status"
,
role
.
getStatus
())
.
like
(
StringUtils
.
isNotBlank
(
role
.
getRoleKey
()),
"r.role_key"
,
role
.
getRoleKey
())
.
between
(
params
.
get
(
"beginTime"
)
!=
null
&&
params
.
get
(
"endTime"
)
!=
null
,
"r.create_time"
,
params
.
get
(
"beginTime"
),
params
.
get
(
"endTime"
))
.
orderByAsc
(
"r.role_sort"
).
orderByAsc
(
"r.create_time"
);
.
eq
(
ObjectUtil
.
isNotNull
(
role
.
getRoleId
()),
"r.role_id"
,
role
.
getRoleId
())
.
like
(
StringUtils
.
isNotBlank
(
role
.
getRoleName
()),
"r.role_name"
,
role
.
getRoleName
())
.
eq
(
StringUtils
.
isNotBlank
(
role
.
getStatus
()),
"r.status"
,
role
.
getStatus
())
.
like
(
StringUtils
.
isNotBlank
(
role
.
getRoleKey
()),
"r.role_key"
,
role
.
getRoleKey
())
.
between
(
params
.
get
(
"beginTime"
)
!=
null
&&
params
.
get
(
"endTime"
)
!=
null
,
"r.create_time"
,
params
.
get
(
"beginTime"
),
params
.
get
(
"endTime"
))
.
orderByAsc
(
"r.role_sort"
).
orderByAsc
(
"r.create_time"
);
return
wrapper
;
}
...
...
@@ -117,6 +117,19 @@ public class SysRoleServiceImpl implements ISysRoleService {
return
permsSet
;
}
/**
* 根据角色名称查询角色
*
* @param roleName 角色名称
* @return 角色
*/
@Override
public
SysRole
selectRoleByRoleName
(
String
roleName
)
{
LambdaQueryWrapper
<
SysRole
>
wrapper
=
new
LambdaQueryWrapper
<
SysRole
>()
.
eq
(
SysRole:
:
getRoleName
,
roleName
);
return
baseMapper
.
selectOne
(
wrapper
);
}
/**
* 查询所有角色
*
...
...
@@ -158,8 +171,8 @@ public class SysRoleServiceImpl implements ISysRoleService {
@Override
public
boolean
checkRoleNameUnique
(
SysRole
role
)
{
boolean
exist
=
baseMapper
.
exists
(
new
LambdaQueryWrapper
<
SysRole
>()
.
eq
(
SysRole:
:
getRoleName
,
role
.
getRoleName
())
.
ne
(
ObjectUtil
.
isNotNull
(
role
.
getRoleId
()),
SysRole:
:
getRoleId
,
role
.
getRoleId
()));
.
eq
(
SysRole:
:
getRoleName
,
role
.
getRoleName
())
.
ne
(
ObjectUtil
.
isNotNull
(
role
.
getRoleId
()),
SysRole:
:
getRoleId
,
role
.
getRoleId
()));
return
!
exist
;
}
...
...
@@ -172,8 +185,8 @@ public class SysRoleServiceImpl implements ISysRoleService {
@Override
public
boolean
checkRoleKeyUnique
(
SysRole
role
)
{
boolean
exist
=
baseMapper
.
exists
(
new
LambdaQueryWrapper
<
SysRole
>()
.
eq
(
SysRole:
:
getRoleKey
,
role
.
getRoleKey
())
.
ne
(
ObjectUtil
.
isNotNull
(
role
.
getRoleId
()),
SysRole:
:
getRoleId
,
role
.
getRoleId
()));
.
eq
(
SysRole:
:
getRoleKey
,
role
.
getRoleKey
())
.
ne
(
ObjectUtil
.
isNotNull
(
role
.
getRoleId
()),
SysRole:
:
getRoleId
,
role
.
getRoleId
()));
return
!
exist
;
}
...
...
@@ -189,8 +202,8 @@ public class SysRoleServiceImpl implements ISysRoleService {
}
// 新增不允许使用 管理员标识符
if
(
ObjectUtil
.
isNull
(
role
.
getRoleId
())
&&
StringUtils
.
equalsAny
(
role
.
getRoleKey
(),
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
TENANT_ADMIN_ROLE_KEY
))
{
&&
StringUtils
.
equalsAny
(
role
.
getRoleKey
(),
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
TENANT_ADMIN_ROLE_KEY
))
{
throw
new
ServiceException
(
"不允许使用系统内置管理员角色标识符!"
);
}
// 修改不允许修改 管理员标识符
...
...
@@ -198,8 +211,8 @@ public class SysRoleServiceImpl implements ISysRoleService {
SysRole
sysRole
=
baseMapper
.
selectById
(
role
.
getRoleId
());
// 如果标识符不相等 判断为修改了管理员标识符
if
(!
StringUtils
.
equals
(
sysRole
.
getRoleKey
(),
role
.
getRoleKey
())
&&
StringUtils
.
equalsAny
(
sysRole
.
getRoleKey
(),
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
TENANT_ADMIN_ROLE_KEY
))
{
&&
StringUtils
.
equalsAny
(
sysRole
.
getRoleKey
(),
TenantConstants
.
SUPER_ADMIN_ROLE_KEY
,
TenantConstants
.
TENANT_ADMIN_ROLE_KEY
))
{
throw
new
ServiceException
(
"不允许修改系统内置管理员角色标识符!"
);
}
}
...
...
@@ -395,8 +408,8 @@ public class SysRoleServiceImpl implements ISysRoleService {
@Override
public
int
deleteAuthUser
(
SysUserRole
userRole
)
{
int
rows
=
userRoleMapper
.
delete
(
new
LambdaQueryWrapper
<
SysUserRole
>()
.
eq
(
SysUserRole:
:
getRoleId
,
userRole
.
getRoleId
())
.
eq
(
SysUserRole:
:
getUserId
,
userRole
.
getUserId
()));
.
eq
(
SysUserRole:
:
getRoleId
,
userRole
.
getRoleId
())
.
eq
(
SysUserRole:
:
getUserId
,
userRole
.
getUserId
()));
if
(
rows
>
0
)
{
cleanOnlineUserByRole
(
userRole
.
getRoleId
());
}
...
...
@@ -413,8 +426,8 @@ public class SysRoleServiceImpl implements ISysRoleService {
@Override
public
int
deleteAuthUsers
(
Long
roleId
,
Long
[]
userIds
)
{
int
rows
=
userRoleMapper
.
delete
(
new
LambdaQueryWrapper
<
SysUserRole
>()
.
eq
(
SysUserRole:
:
getRoleId
,
roleId
)
.
in
(
SysUserRole:
:
getUserId
,
Arrays
.
asList
(
userIds
)));
.
eq
(
SysUserRole:
:
getRoleId
,
roleId
)
.
in
(
SysUserRole:
:
getUserId
,
Arrays
.
asList
(
userIds
)));
if
(
rows
>
0
)
{
cleanOnlineUserByRole
(
roleId
);
}
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/SysUserServiceImpl.java
View file @
7519c2ef
...
...
@@ -10,26 +10,20 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.dsk.common.utils.DingTalkUtil
;
import
com.dsk.common.utils.PasswordUtils
;
import
com.dsk.system.mapper.*
;
import
com.dsk.system.service.ISysUserService
;
import
com.dsk.common.constant.CacheNames
;
import
com.dsk.common.constant.UserConstants
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.system.domain.SysDept
;
import
com.dsk.system.domain.SysRole
;
import
com.dsk.system.domain.SysUser
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.core.service.UserService
;
import
com.dsk.common.exception.ServiceException
;
import
com.dsk.common.helper.DataBaseHelper
;
import
com.dsk.common.helper.LoginHelper
;
import
com.dsk.common.utils.PasswordUtils
;
import
com.dsk.common.utils.StreamUtils
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.system.domain.
SysPost
;
import
com.dsk.system.
domain.SysUserPost
;
import
com.dsk.system.
domain.SysUserRol
e
;
import
com.dsk.system.domain.
*
;
import
com.dsk.system.
mapper.*
;
import
com.dsk.system.
service.ISysUserServic
e
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cache.annotation.Cacheable
;
...
...
@@ -285,8 +279,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
+
"您好,您已经成功注册央企数字经营管理系统,请使用手机号码登录,初始密码为"
+
password
+
"。友情提示:为了您的账号安全,请立即前往【个人中心】修改密码。"
;
DingTalkUtil
.
sendDingTalkMsg
(
content
);
System
.
out
.
println
(
"👉🏻:"
+
content
);
// DingTalkUtil.sendDingTalkMsg(content);
}
// 新增用户岗位关联
insertUserPost
(
user
);
...
...
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