Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cmeeting
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
翟斌
cmeeting
Commits
102ea6e2
提交
102ea6e2
authored
6月 12, 2025
作者:
duanxincheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
模板权限控制
父级
5cb7fb90
隐藏空白字符变更
内嵌
并排
正在显示
21 个修改的文件
包含
253 行增加
和
80 行删除
+253
-80
src/main/java/com/cmeeting/ad/controller/UserAdminController.java
+36
-0
src/main/java/com/cmeeting/ad/controller/UserController.java
+0
-17
src/main/java/com/cmeeting/ad/service/UserService.java
+2
-1
src/main/java/com/cmeeting/ad/service/impl/UserServiceImpl.java
+15
-8
src/main/java/com/cmeeting/controller/RecordTemplateController.java
+22
-0
src/main/java/com/cmeeting/dto/UserDTO.java
+22
-0
src/main/java/com/cmeeting/job/CmeetingJob.java
+9
-6
src/main/java/com/cmeeting/job/FileProcessTask.java
+4
-0
src/main/java/com/cmeeting/mapper/primary/CommonMapper.java
+0
-4
src/main/java/com/cmeeting/mapper/primary/MeetingRecordTemplateMapper.java
+4
-0
src/main/java/com/cmeeting/mapper/secondary/SysUserSysMapper.java
+3
-3
src/main/java/com/cmeeting/service/MeetingRecordTemplateService.java
+9
-0
src/main/java/com/cmeeting/service/RecordTemplatePermissionService.java
+4
-0
src/main/java/com/cmeeting/service/impl/MeetingRecordTemplateServiceImpl.java
+79
-4
src/main/java/com/cmeeting/service/impl/RecordTemplatePermissionServiceImpl.java
+11
-20
src/main/java/com/cmeeting/service/impl/TencentMeetingServiceImpl.java
+2
-2
src/main/java/com/cmeeting/vo/RecordTemplateVO.java
+20
-0
src/main/resources/mapper/primary/CommonMapper.xml
+0
-13
src/main/resources/mapper/primary/MeetingRecordTemplateMapper.xml
+10
-0
src/main/resources/mapper/primary/RecordTemplatePermissionMapper.xml
+1
-1
src/main/resources/mapper/secondary/SysUserSysMapper.xml
+0
-1
没有找到文件。
src/main/java/com/cmeeting/ad/controller/UserAdminController.java
0 → 100644
浏览文件 @
102ea6e2
package
com
.
cmeeting
.
ad
.
controller
;
import
com.cmeeting.ad.service.UserService
;
import
com.cmeeting.ad.vo.ApplicationUserVO
;
import
com.cmeeting.ad.vo.UserVo
;
import
com.cmeeting.util.IPUtils
;
import
com.cmeeting.util.R
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
@RestController
@RequestMapping
(
"/admin"
)
public
class
UserAdminController
{
@Autowired
private
UserService
userService
;
/**
* 授权查询接口
* @param search
* @param type
* @param userType
* @param categoryId
* @param authType
* @return
*/
@GetMapping
(
"/user/list"
)
public
R
list
(
String
search
,
@RequestParam
Integer
type
,
@RequestParam
Integer
userType
,
String
categoryId
,
Integer
authType
)
{
return
R
.
ok
(
userService
.
list
(
search
,
type
,
userType
,
categoryId
,
authType
));
}
}
\ No newline at end of file
src/main/java/com/cmeeting/ad/controller/UserController.java
浏览文件 @
102ea6e2
...
...
@@ -35,20 +35,4 @@ public class UserController {
public
R
auth
(
@Validated
@RequestBody
UserVo
.
Auth
vo
)
{
return
R
.
ok
(
userService
.
auth
(
vo
));
}
/**
* 授权查询接口
* @param search
* @param type
* @param userType
* @param categoryId
* @param targetId
* @param authType
* @return
*/
@GetMapping
(
"/list"
)
public
R
list
(
String
search
,
@RequestParam
Integer
type
,
@RequestParam
Integer
userType
,
String
categoryId
,
@RequestParam
String
targetId
,
Integer
authType
)
{
return
R
.
ok
(
userService
.
list
(
search
,
type
,
userType
,
categoryId
,
targetId
,
authType
));
}
}
\ No newline at end of file
src/main/java/com/cmeeting/ad/service/UserService.java
浏览文件 @
102ea6e2
...
...
@@ -23,5 +23,5 @@ public interface UserService {
*/
RoleTree
getLoginMenus
(
List
<
SysMenu
>
sysMenuList
);
Object
list
(
String
search
,
Integer
type
,
Integer
userType
,
String
categoryId
,
String
targetId
,
Integer
authType
);
Object
list
(
String
search
,
Integer
type
,
Integer
userType
,
String
categoryId
,
Integer
authType
);
}
\ No newline at end of file
src/main/java/com/cmeeting/ad/service/impl/UserServiceImpl.java
浏览文件 @
102ea6e2
...
...
@@ -206,15 +206,22 @@ public class UserServiceImpl implements UserService {
}
@Override
public
Object
list
(
String
search
,
Integer
type
,
Integer
userType
,
String
categoryId
,
String
targetId
,
Integer
authType
)
{
String
url
=
userAdminConfig
.
getUserAdminDomain
()
+
"/user/list"
+
"?search="
+
UrlEncoderUtil
.
encode
(
search
.
trim
())
+
"&type="
+
type
+
"&userType=2"
+
"&categoryId="
+
categoryId
+
"&targetId="
+
targetId
;
public
Object
list
(
String
search
,
Integer
type
,
Integer
userType
,
String
categoryId
,
Integer
authType
)
{
String
url
=
userAdminConfig
.
getUserAdminDomain
()
+
UserAdminRouteConstant
.
SysUser
.
FIND_NAME
;
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"tenantId"
,
SecurityUtil
.
getTenantId
());
body
.
put
(
"type"
,
userType
);
body
.
put
(
"categoryId"
,
categoryId
);
body
.
put
(
"search"
,
search
);
// 模糊查询
body
.
put
(
"searchType"
,
1
);
// + "?search=" + UrlEncoderUtil.encode(search.trim())
// + "&type=" + type
// + "&userType=2"
// + "&categoryId=" + categoryId
// + "&targetId=" + targetId;
System
.
out
.
println
(
url
);
JSONObject
object
=
HttpClientUtils
.
http
Get
(
url
,
UserAdminTokenUtil
.
getUserAdminToken
());
JSONObject
object
=
HttpClientUtils
.
http
Post
(
url
,
body
,
UserAdminTokenUtil
.
getUserAdminToken
());
return
object
;
}
...
...
src/main/java/com/cmeeting/controller/RecordTemplateController.java
浏览文件 @
102ea6e2
...
...
@@ -2,6 +2,9 @@ package com.cmeeting.controller;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.cmeeting.ad.entity.RobotSecurityUser
;
import
com.cmeeting.ad.util.SecurityUtil
;
import
com.cmeeting.dto.UserDTO
;
import
com.cmeeting.pojo.MeetingRecordTemplate
;
import
com.cmeeting.service.MeetingRecordTemplateService
;
import
com.cmeeting.service.RecordTemplatePermissionService
;
...
...
@@ -13,6 +16,7 @@ import org.springframework.web.multipart.MultipartFile;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.util.List
;
@RestController
...
...
@@ -25,15 +29,19 @@ public class RecordTemplateController {
@PostMapping
(
"/create"
)
public
R
create
(
@RequestBody
MeetingRecordTemplate
recordTemplate
)
{
RobotSecurityUser
user
=
SecurityUtil
.
getUser
();
recordTemplate
.
setCreateTime
(
LocalDateTime
.
now
());
recordTemplate
.
setIsDel
(
Boolean
.
FALSE
);
recordTemplate
.
setCreateUser
(
user
.
getId
());
boolean
save
=
recordTemplateService
.
save
(
recordTemplate
);
return
R
.
ok
(
save
);
}
@PostMapping
(
"/update"
)
public
R
update
(
@RequestBody
MeetingRecordTemplate
recordTemplate
)
{
RobotSecurityUser
user
=
SecurityUtil
.
getUser
();
recordTemplate
.
setUpdateTime
(
LocalDateTime
.
now
());
recordTemplate
.
setUpdateUser
(
user
.
getId
());
boolean
save
=
recordTemplateService
.
updateById
(
recordTemplate
);
return
R
.
ok
(
save
);
}
...
...
@@ -86,4 +94,18 @@ public class RecordTemplateController {
public
R
auth
(
@RequestBody
RecordTemplateVO
.
TemplatePermissionVO
vo
)
{
return
R
.
ok
(
recordTemplatePermissionService
.
auth
(
vo
));
}
@PostMapping
(
"/authList"
)
public
R
authList
(
@RequestBody
RecordTemplateVO
.
TemplateAuthVO
vo
)
{
return
R
.
ok
(
recordTemplatePermissionService
.
authList
(
vo
));
}
/**
* 获取模板授权的人员
* @return
*/
@PostMapping
(
"/selectAuthorizedUsers"
)
public
R
selectAuthorizedUsers
()
{
return
R
.
ok
(
recordTemplateService
.
selectAuthorizedUsers
());
}
}
src/main/java/com/cmeeting/dto/UserDTO.java
浏览文件 @
102ea6e2
// vo/LoginVO.java
package
com
.
cmeeting
.
dto
;
import
com.cmeeting.pojo.MeetingRecordTemplate
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
...
...
@@ -41,4 +42,24 @@ public class UserDTO {
", email='"
+
email
+
'\''
+
'}'
;
}
/**
* 已授权模版的人员
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public
static
class
TemplateAuthorizedUserDTO
{
/**
* 模板
*/
private
MeetingRecordTemplate
recordTemplate
;
/**
* 企业微信userid
*/
private
List
<
String
>
userIdList
;
}
}
\ No newline at end of file
src/main/java/com/cmeeting/job/CmeetingJob.java
浏览文件 @
102ea6e2
...
...
@@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.cmeeting.dto.UserDTO
;
import
com.cmeeting.mapper.primary.UserIdMapper
;
import
com.cmeeting.pojo.MeetingInfo
;
import
com.cmeeting.service.FileProcessProducer
;
import
com.cmeeting.service.MeetingInfoService
;
import
com.cmeeting.service.TencentMeetingService
;
import
com.cmeeting.service.WeComService
;
import
com.cmeeting.service.*
;
import
com.cmeeting.vo.TencentMeetingVO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -33,6 +30,8 @@ public class CmeetingJob {
private
MeetingInfoService
meetingInfoService
;
@Autowired
private
FileProcessProducer
producer
;
@Autowired
private
MeetingRecordTemplateService
meetingRecordTemplateService
;
// @PostConstruct
// public void weComUserInit(){
...
...
@@ -110,6 +109,7 @@ public class CmeetingJob {
log
.
info
(
"结束时间: "
+
now
.
format
(
formatter
)
+
" | Unix 时间戳: "
+
nowTimestamp
);
log
.
info
(
"----------------------------------"
);
//智能体授权人员
List
<
UserDTO
>
accessUserIds
=
tencentMeetingService
.
getAccessUserIds
();
if
(
CollectionUtils
.
isEmpty
(
accessUserIds
))
{
log
.
info
(
"无生成纪要权限的人员"
);
...
...
@@ -124,6 +124,9 @@ public class CmeetingJob {
return
;
}
//获取模板授权的人员
// List<UserDTO.TemplateAuthorizedUserDTO> authorizedUsers = meetingRecordTemplateService.selectAuthorizedUsers();
// 提交处理任务
producer
.
submitBatchTasks
(
meetingFiles
,
Boolean
.
FALSE
);
}
...
...
@@ -132,8 +135,8 @@ public class CmeetingJob {
/**
* 定时扫描早于一小时之前的,所有未重试过的会议,重新生成纪要
*/
//
@Scheduled(fixedRate = 30 * 60 * 1000,initialDelay = 10 * 60 * 1000)
@Scheduled
(
fixedRate
=
30
*
60
*
1000
)
@Scheduled
(
fixedRate
=
30
*
60
*
1000
,
initialDelay
=
10
*
60
*
1000
)
//
@Scheduled(fixedRate = 30 * 60 * 1000)
public
void
meetingMinutesRetry
()
{
try
{
log
.
info
(
"-------生成纪要重试定时任务开始-------"
);
...
...
src/main/java/com/cmeeting/job/FileProcessTask.java
浏览文件 @
102ea6e2
...
...
@@ -248,6 +248,10 @@ public class FileProcessTask {
}
finally
{
FileUtil
.
del
(
groupOfficeMinutesPath
);
}
// meetingRecordTemplateMapper.getAuthorizedSystemTemplate();
EmailPush
emailPushBuilder
=
EmailPush
.
builder
().
toEmail
(
meetingInfo
.
getEmail
()).
meetingId
(
meetingId
).
attachments
(
attachments
).
subject
(
meetingInfo
.
getSubject
()).
build
();
emailPush
(
emailPushBuilder
);
isSuccess
=
true
;
...
...
src/main/java/com/cmeeting/mapper/primary/CommonMapper.java
浏览文件 @
102ea6e2
...
...
@@ -36,8 +36,4 @@ public interface CommonMapper extends BaseMapper<User> {
@SqlParser
(
filter
=
true
)
ApplicationVo
getApplicationNoTenantId
(
@Param
(
"applicationId"
)
String
applicationId
);
List
<
String
>
getSubDeptId
(
@Param
(
value
=
"deptId"
)
String
deptId
);
List
<
String
>
getUsersByDept
(
@Param
(
value
=
"deptIds"
)
List
<
String
>
deptIds
);
}
src/main/java/com/cmeeting/mapper/primary/MeetingRecordTemplateMapper.java
浏览文件 @
102ea6e2
...
...
@@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.cmeeting.pojo.MeetingRecordTemplate
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
@Mapper
public
interface
MeetingRecordTemplateMapper
extends
BaseMapper
<
MeetingRecordTemplate
>
{
List
<
MeetingRecordTemplate
>
getAuthorizedSystemTemplate
();
}
\ No newline at end of file
src/main/java/com/cmeeting/mapper/secondary/SysUserSysMapper.java
浏览文件 @
102ea6e2
...
...
@@ -14,9 +14,9 @@ public interface SysUserSysMapper extends BaseMapper<SysUserSync> {
String
getParentDeptId
(
String
deptId
,
String
tenantId
);
List
<
String
>
getSubDeptId
(
@Param
(
value
=
"deptId"
)
String
deptId
,
@Param
(
value
=
"tenantId"
)
String
tenantId
);
List
<
UserDTO
>
getUserEmail
(
@Param
(
value
=
"tenantId"
)
String
tenantId
);
List
<
String
>
get
UsersByDept
(
@Param
(
value
=
"deptIds"
)
List
<
String
>
deptIds
,
@Param
(
value
=
"tenantId"
)
String
tenan
tId
);
List
<
String
>
get
SubDeptId
(
@Param
(
value
=
"deptId"
)
String
dep
tId
);
List
<
UserDTO
>
getUserEmail
(
@Param
(
value
=
"tenantId"
)
String
tenantId
);
List
<
String
>
getUsersByDept
(
@Param
(
value
=
"deptIds"
)
List
<
String
>
deptIds
);
}
src/main/java/com/cmeeting/service/MeetingRecordTemplateService.java
浏览文件 @
102ea6e2
...
...
@@ -2,10 +2,13 @@ package com.cmeeting.service;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.cmeeting.dto.UserDTO
;
import
com.cmeeting.pojo.MeetingRecordTemplate
;
import
com.cmeeting.vo.RecordTemplateVO
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
public
interface
MeetingRecordTemplateService
extends
IService
<
MeetingRecordTemplate
>
{
IPage
<
MeetingRecordTemplate
>
getPage
(
RecordTemplateVO
vo
);
IPage
<
MeetingRecordTemplate
>
getPersonalPage
(
RecordTemplateVO
vo
);
...
...
@@ -17,4 +20,10 @@ public interface MeetingRecordTemplateService extends IService<MeetingRecordTemp
* @return
*/
String
templateUpload
(
MultipartFile
file
,
Integer
id
);
/**
* 获取模板授权的人员
* @return
*/
List
<
UserDTO
.
TemplateAuthorizedUserDTO
>
selectAuthorizedUsers
();
}
src/main/java/com/cmeeting/service/RecordTemplatePermissionService.java
浏览文件 @
102ea6e2
...
...
@@ -4,6 +4,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
import
com.cmeeting.pojo.RecordTemplatePermission
;
import
com.cmeeting.vo.RecordTemplateVO
;
import
java.util.List
;
public
interface
RecordTemplatePermissionService
extends
IService
<
RecordTemplatePermission
>
{
boolean
auth
(
RecordTemplateVO
.
TemplatePermissionVO
vo
);
List
<
RecordTemplatePermission
>
authList
(
RecordTemplateVO
.
TemplateAuthVO
vo
);
}
src/main/java/com/cmeeting/service/impl/MeetingRecordTemplateServiceImpl.java
浏览文件 @
102ea6e2
...
...
@@ -7,27 +7,39 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.cmeeting.dto.UserDTO
;
import
com.cmeeting.mapper.primary.CommonMapper
;
import
com.cmeeting.mapper.primary.MeetingRecordTemplateMapper
;
import
com.cmeeting.mapper.primary.RecordTemplatePermissionMapper
;
import
com.cmeeting.mapper.secondary.SysUserSysMapper
;
import
com.cmeeting.pojo.MeetingRecordTemplate
;
import
com.cmeeting.pojo.RecordTemplatePermission
;
import
com.cmeeting.service.MeetingRecordTemplateService
;
import
com.cmeeting.util.MinioUtils
;
import
com.cmeeting.vo.RecordTemplateVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
java.io.InputStream
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
@Service
public
class
MeetingRecordTemplateServiceImpl
extends
ServiceImpl
<
MeetingRecordTemplateMapper
,
MeetingRecordTemplate
>
implements
MeetingRecordTemplateService
{
@Resource
private
MeetingRecordTemplateMapper
mapper
;
@Autowired
private
MinioUtils
minioUtils
;
@Resource
private
RecordTemplatePermissionMapper
permissionMapper
;
@Resource
private
SysUserSysMapper
sysUserSysMapper
;
@Override
public
IPage
<
MeetingRecordTemplate
>
getPage
(
RecordTemplateVO
vo
)
{
...
...
@@ -36,7 +48,7 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
queryWrapper
.
eq
(
vo
.
getType
()
!=
null
,
MeetingRecordTemplate:
:
getType
,
vo
.
getType
());
queryWrapper
.
like
(
vo
.
getName
()
!=
null
,
MeetingRecordTemplate:
:
getName
,
vo
.
getName
());
queryWrapper
.
like
(
vo
.
getMeetingType
()
!=
null
,
MeetingRecordTemplate:
:
getMeetingType
,
vo
.
getMeetingType
());
IPage
<
MeetingRecordTemplate
>
resultPage
=
m
apper
.
selectPage
(
new
Page
<>(
vo
.
getCurrent
(),
vo
.
getSize
()),
queryWrapper
);
IPage
<
MeetingRecordTemplate
>
resultPage
=
baseM
apper
.
selectPage
(
new
Page
<>(
vo
.
getCurrent
(),
vo
.
getSize
()),
queryWrapper
);
return
resultPage
;
}
...
...
@@ -47,7 +59,7 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
queryWrapper
.
eq
(
vo
.
getType
()
!=
null
,
MeetingRecordTemplate:
:
getType
,
vo
.
getType
());
queryWrapper
.
like
(
vo
.
getName
()
!=
null
,
MeetingRecordTemplate:
:
getName
,
vo
.
getName
());
queryWrapper
.
like
(
vo
.
getMeetingType
()
!=
null
,
MeetingRecordTemplate:
:
getMeetingType
,
vo
.
getMeetingType
());
IPage
<
MeetingRecordTemplate
>
resultPage
=
m
apper
.
selectPage
(
new
Page
<>(
vo
.
getCurrent
(),
vo
.
getSize
()),
queryWrapper
);
IPage
<
MeetingRecordTemplate
>
resultPage
=
baseM
apper
.
selectPage
(
new
Page
<>(
vo
.
getCurrent
(),
vo
.
getSize
()),
queryWrapper
);
return
resultPage
;
}
...
...
@@ -80,4 +92,66 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
updateById
(
detail
);
return
originalFilePath
;
}
/**
* 获取模板授权的人员
* @return
*/
@Override
public
List
<
UserDTO
.
TemplateAuthorizedUserDTO
>
selectAuthorizedUsers
()
{
List
<
UserDTO
.
TemplateAuthorizedUserDTO
>
result
=
new
ArrayList
<>();
//查出所有系统模板(暂定)
List
<
MeetingRecordTemplate
>
meetingRecordTemplates
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
MeetingRecordTemplate
>().
eq
(
MeetingRecordTemplate:
:
getType
,
"system"
));
//查出所有系统模板授权信息
List
<
RecordTemplatePermission
>
permissions
=
permissionMapper
.
selectList
(
new
LambdaQueryWrapper
<
RecordTemplatePermission
>().
eq
(
RecordTemplatePermission:
:
getTemplateType
,
"system"
));
UserDTO
.
TemplateAuthorizedUserDTO
resultItem
=
new
UserDTO
.
TemplateAuthorizedUserDTO
();
//所有授权模板的人员
for
(
MeetingRecordTemplate
template
:
meetingRecordTemplates
)
{
resultItem
.
setRecordTemplate
(
template
);
//该系统模板授权部门
List
<
RecordTemplatePermission
>
deptPermissions
=
permissions
.
stream
().
filter
(
item
->
"1"
.
equals
(
item
.
getRelType
())
&&
template
.
getId
().
equals
(
item
.
getTemplateId
())).
collect
(
Collectors
.
toList
());
//该系统模板授权人员
List
<
RecordTemplatePermission
>
userPermissions
=
permissions
.
stream
().
filter
(
item
->
"2"
.
equals
(
item
.
getRelType
())
&&
template
.
getId
().
equals
(
item
.
getTemplateId
())).
collect
(
Collectors
.
toList
());
List
<
String
>
authorizedUsers
=
new
ArrayList
<>();
if
(!
CollectionUtils
.
isEmpty
(
userPermissions
)){
for
(
RecordTemplatePermission
userPermission
:
userPermissions
)
{
authorizedUsers
.
add
(
userPermission
.
getRelId
());
}
}
if
(!
CollectionUtils
.
isEmpty
(
deptPermissions
)){
List
<
String
>
deptPath
=
new
ArrayList
<>();
for
(
RecordTemplatePermission
deptPermission
:
deptPermissions
)
{
String
deptId
=
deptPermission
.
getRelId
();
getDeptPath
(
deptPath
,
deptId
);
}
List
<
String
>
usersByDept
=
sysUserSysMapper
.
getUsersByDept
(
deptPath
);
if
(!
CollectionUtils
.
isEmpty
(
usersByDept
))
authorizedUsers
.
addAll
(
usersByDept
);
}
resultItem
.
setUserIdList
(
authorizedUsers
);
result
.
add
(
resultItem
);
}
return
result
;
}
/**
* 获取部门的路径
* @param deptPath
* @param deptId
*/
private
void
getDeptPath
(
List
<
String
>
deptPath
,
String
deptId
)
{
if
(!
deptPath
.
contains
(
deptId
))
deptPath
.
add
(
deptId
);
List
<
String
>
subDeptIds
=
sysUserSysMapper
.
getSubDeptId
(
deptId
);
if
(
CollectionUtils
.
isEmpty
(
subDeptIds
))
return
;
for
(
String
subDeptId
:
subDeptIds
)
{
//部门id去重
if
(!
deptPath
.
contains
(
subDeptId
)){
deptPath
.
add
(
subDeptId
);
getDeptPath
(
deptPath
,
subDeptId
);
}
}
}
}
\ No newline at end of file
src/main/java/com/cmeeting/service/impl/RecordTemplatePermissionServiceImpl.java
浏览文件 @
102ea6e2
package
com
.
cmeeting
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.cmeeting.mapper.primary.CommonMapper
;
import
com.cmeeting.mapper.primary.RecordTemplatePermissionMapper
;
import
com.cmeeting.pojo.CoreModulePermissions
;
import
com.cmeeting.pojo.MeetingRecordTemplate
;
import
com.cmeeting.pojo.RecordTemplatePermission
;
import
com.cmeeting.service.MeetingRecordTemplateService
;
...
...
@@ -23,8 +22,6 @@ public class RecordTemplatePermissionServiceImpl extends ServiceImpl<RecordTempl
@Resource
private
MeetingRecordTemplateService
recordTemplateService
;
@Resource
private
CommonMapper
commonMapper
;
/**
* 授权
...
...
@@ -75,22 +72,15 @@ public class RecordTemplatePermissionServiceImpl extends ServiceImpl<RecordTempl
}
/**
*
获取部门的路径
* @param
deptPath
* @
param deptId
*
查询某个模板已经授权的人员或部门
* @param
vo
* @
return
*/
private
void
getDeptPath
(
List
<
String
>
deptPath
,
String
deptId
)
{
if
(!
deptPath
.
contains
(
deptId
))
deptPath
.
add
(
deptId
);
List
<
String
>
subDeptIds
=
commonMapper
.
getSubDeptId
(
deptId
);
if
(
CollectionUtils
.
isEmpty
(
subDeptIds
))
return
;
for
(
String
subDeptId
:
subDeptIds
)
{
//部门id去重
if
(!
deptPath
.
contains
(
subDeptId
)){
deptPath
.
add
(
subDeptId
);
getDeptPath
(
deptPath
,
subDeptId
);
}
}
@Override
public
List
<
RecordTemplatePermission
>
authList
(
RecordTemplateVO
.
TemplateAuthVO
vo
)
{
List
<
RecordTemplatePermission
>
permissions
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
RecordTemplatePermission
>()
.
eq
(
RecordTemplatePermission:
:
getTemplateId
,
vo
.
getTemplateId
()));
return
permissions
;
}
}
\ No newline at end of file
src/main/java/com/cmeeting/service/impl/TencentMeetingServiceImpl.java
浏览文件 @
102ea6e2
...
...
@@ -531,7 +531,7 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,T
getDeptPath
(
deptPath
,
deptId
,
tenantId
);
}
//已被授权部门下的userid
List
<
String
>
accessUserIds
=
!
CollectionUtils
.
isEmpty
(
deptPath
)
?
sysUserSyncMapper
.
getUsersByDept
(
deptPath
,
permissionTenantId
)
:
new
ArrayList
<>();
List
<
String
>
accessUserIds
=
!
CollectionUtils
.
isEmpty
(
deptPath
)
?
sysUserSyncMapper
.
getUsersByDept
(
deptPath
)
:
new
ArrayList
<>();
//已被直接授权的人员追加进去
accessUserIds
.
addAll
(
auths
.
stream
().
filter
(
item
->
item
.
getType
().
equals
(
1
)).
map
(
CoreModulePermissions:
:
getRelId
).
collect
(
Collectors
.
toList
()));
if
(!
CollectionUtils
.
isEmpty
(
accessUserIds
)){
...
...
@@ -573,7 +573,7 @@ public class TencentMeetingServiceImpl extends ServiceImpl<TecentMeetingMapper,T
*/
private
void
getDeptPath
(
List
<
String
>
deptPath
,
String
deptId
,
String
tenantId
)
{
if
(!
deptPath
.
contains
(
deptId
))
deptPath
.
add
(
deptId
);
List
<
String
>
subDeptIds
=
sysUserSyncMapper
.
getSubDeptId
(
deptId
,
tenantId
);
List
<
String
>
subDeptIds
=
sysUserSyncMapper
.
getSubDeptId
(
deptId
);
if
(
CollectionUtils
.
isEmpty
(
subDeptIds
))
return
;
for
(
String
subDeptId
:
subDeptIds
)
{
...
...
src/main/java/com/cmeeting/vo/RecordTemplateVO.java
浏览文件 @
102ea6e2
...
...
@@ -69,4 +69,23 @@ public class RecordTemplateVO {
*/
private
String
relId
;
}
@Data
public
static
class
TemplateAuthVO
{
/**
* 模板id
*/
private
Integer
templateId
;
/**
* 当前页
*/
private
Integer
current
;
/**
* 每页最大数据行
*/
private
Integer
size
;
}
}
\ No newline at end of file
src/main/resources/mapper/primary/CommonMapper.xml
浏览文件 @
102ea6e2
...
...
@@ -55,17 +55,4 @@
assistant_info t1
where t1.is_del = 0
</select>
<select
id=
"getSubDeptId"
resultType=
"java.lang.String"
>
SELECT dept_id
FROM sys_user_sync_category
WHERE parent_id = #{deptId}
</select>
<select
id=
"getUsersByDept"
resultType=
"java.lang.String"
>
select t1.user_id as wId
from sys_user_sync t1
where t1.dept_id in
<foreach
collection=
"deptIds"
item=
"deptId"
separator=
","
open=
"("
close=
")"
>
#{deptId}
</foreach>
</select>
</mapper>
src/main/resources/mapper/primary/MeetingRecordTemplateMapper.xml
0 → 100644
浏览文件 @
102ea6e2
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC
"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.cmeeting.mapper.primary.MeetingRecordTemplateMapper"
>
<select
id=
"getAuthorizedSystemTemplate"
resultType=
"com.cmeeting.pojo.MeetingRecordTemplate"
>
</select>
</mapper>
src/main/resources/mapper/primary/RecordTemplatePermissionMapper.xml
浏览文件 @
102ea6e2
...
...
@@ -10,7 +10,7 @@
<foreach
collection=
"permissions"
item=
"permission"
separator=
","
>
(
#{permission.templateId},
#{permission.template
_t
ype},
#{permission.template
T
ype},
#{permission.relType},
#{permission.relId},
#{permission.createTime}
...
...
src/main/resources/mapper/secondary/SysUserSysMapper.xml
浏览文件 @
102ea6e2
...
...
@@ -20,7 +20,6 @@
SELECT dept_id
FROM sys_user_sync_category
WHERE parent_id = #{deptId}
AND tenant_id = #{tenantId}
</select>
<select
id=
"getUsersByDept"
resultType=
"java.lang.String"
>
select t1.user_id as wId
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论