Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cmeeting
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
翟斌
cmeeting
Commits
b44968b6
提交
b44968b6
authored
7月 24, 2025
作者:
洪东保
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
模板页面list接口
父级
7c7a46d8
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
114 行增加
和
118 行删除
+114
-118
src/main/java/com/cmeeting/constant/AuthTypeConstant.java
+17
-0
src/main/java/com/cmeeting/mapper/primary/MeetingRecordTemplateMapper.java
+2
-0
src/main/java/com/cmeeting/service/impl/MeetingRecordTemplateServiceImpl.java
+70
-118
src/main/resources/mapper/primary/MeetingRecordTemplateMapper.xml
+25
-0
没有找到文件。
src/main/java/com/cmeeting/constant/AuthTypeConstant.java
0 → 100644
浏览文件 @
b44968b6
package
com
.
cmeeting
.
constant
;
public
interface
AuthTypeConstant
{
/**
* 不自动授权
*/
Integer
NO_AUTH
=
0
;
/**
* 授权给所有人
*/
Integer
ALL
=
1
;
/**
* 授权选择的人
*/
Integer
SELECT
=
2
;
}
src/main/java/com/cmeeting/mapper/primary/MeetingRecordTemplateMapper.java
浏览文件 @
b44968b6
...
...
@@ -72,6 +72,8 @@ public interface MeetingRecordTemplateMapper extends BaseMapper<MeetingRecordTem
*/
List
<
MeetTypeDto
>
selectTemplate
(
String
type
);
List
<
MeetTypeDto
>
selectCustomTemplate
(
String
userId
);
/**
* 停用系统模板
* @param meetTypeId
...
...
src/main/java/com/cmeeting/service/impl/MeetingRecordTemplateServiceImpl.java
浏览文件 @
b44968b6
package
com
.
cmeeting
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.util.IdUtil
;
...
...
@@ -11,8 +12,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.cmeeting.ad.entity.RobotSecurityUser
;
import
com.cmeeting.ad.entity.SysUserSync
;
import
com.cmeeting.ad.util.SecurityUtil
;
import
com.cmeeting.constant.AuthTypeConstant
;
import
com.cmeeting.constant.CommonConstant
;
import
com.cmeeting.constant.MeetingTypeConstant
;
import
com.cmeeting.constant.PermissionPruposeType
;
import
com.cmeeting.constant.RecordTemplateConstant
;
import
com.cmeeting.dto.MeetTypeDto
;
import
com.cmeeting.dto.RecordTemplateDto
;
...
...
@@ -22,6 +25,7 @@ import com.cmeeting.mapper.primary.*;
import
com.cmeeting.mapper.secondary.SysUserSysMapper
;
import
com.cmeeting.pojo.*
;
import
com.cmeeting.service.MeetingRecordTemplateService
;
import
com.cmeeting.service.ModulePermissionService
;
import
com.cmeeting.service.SysUserSyncService
;
import
com.cmeeting.util.MinioUtils
;
import
com.cmeeting.vo.EditRecordTemplateVo
;
...
...
@@ -54,6 +58,8 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
@Autowired
private
MeetTemplateEnableMapper
meetTemplateEnableMapper
;
@Resource
private
ModulePermissionService
modulePermissionService
;
@Resource
private
SysUserSyncService
sysUserSyncService
;
@Value
(
value
=
"${permission.tenantId}"
)
private
String
permissionTenantId
;
...
...
@@ -73,34 +79,34 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
Integer
size
=
vo
.
getSize
();
//查出所有系统模板
LambdaQueryWrapper
<
MeetingRecordTemplate
>
systemQueryWrapper
=
new
LambdaQueryWrapper
<>();
systemQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getIsDel
,
Boolean
.
FALSE
);
systemQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getType
,
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
);
systemQueryWrapper
.
like
(
vo
.
getName
()
!=
null
,
MeetingRecordTemplate:
:
getName
,
vo
.
getName
());
systemQueryWrapper
.
like
(
vo
.
getMeetingType
()
!=
null
,
MeetingRecordTemplate:
:
getMeetingType
,
vo
.
getMeetingType
());
systemQueryWrapper
.
like
(
StringUtils
.
isNotEmpty
(
vo
.
getCreateUser
()),
MeetingRecordTemplate:
:
getCreateUserName
,
vo
.
getCreateUser
());
systemQueryWrapper
.
between
(
vo
.
getStartTime
()
!=
null
&&
vo
.
getEndTime
()
!=
null
,
MeetingRecordTemplate:
:
getUpdateTime
,
vo
.
getStartTime
(),
vo
.
getEndTime
());
systemQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getIsDel
,
Boolean
.
FALSE
);
systemQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getType
,
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
);
systemQueryWrapper
.
like
(
vo
.
getName
()
!=
null
,
MeetingRecordTemplate:
:
getName
,
vo
.
getName
());
systemQueryWrapper
.
like
(
vo
.
getMeetingType
()
!=
null
,
MeetingRecordTemplate:
:
getMeetingType
,
vo
.
getMeetingType
());
systemQueryWrapper
.
like
(
StringUtils
.
isNotEmpty
(
vo
.
getCreateUser
()),
MeetingRecordTemplate:
:
getCreateUserName
,
vo
.
getCreateUser
());
systemQueryWrapper
.
between
(
vo
.
getStartTime
()
!=
null
&&
vo
.
getEndTime
()
!=
null
,
MeetingRecordTemplate:
:
getUpdateTime
,
vo
.
getStartTime
(),
vo
.
getEndTime
());
systemQueryWrapper
.
orderByDesc
(
MeetingRecordTemplate:
:
getId
);
List
<
MeetingRecordTemplate
>
systemTemplateList
=
baseMapper
.
selectList
(
systemQueryWrapper
);
//用户可见的系统模板权限
List
<
MeetingRecordTemplate
>
authorizedSystemTemplateList
=
new
ArrayList
<>();
Map
<
Integer
,
List
<
String
>>
authorizedUserMap
=
selectAuthorizedUsers
().
stream
().
collect
(
Collectors
.
toMap
(
item
->
item
.
getRecordTemplateId
(),
item
->
item
.
getUserIdList
()));
for
(
MeetingRecordTemplate
systemTemplate
:
systemTemplateList
)
{
if
(
authorizedUserMap
.
containsKey
(
systemTemplate
.
getId
()))
{
if
(
authorizedUserMap
.
containsKey
(
systemTemplate
.
getId
()))
{
List
<
String
>
authorizedUserIds
=
authorizedUserMap
.
get
(
systemTemplate
.
getId
());
if
(
authorizedUserIds
.
contains
(
user
.
getId
()))
if
(
authorizedUserIds
.
contains
(
user
.
getId
()))
authorizedSystemTemplateList
.
add
(
systemTemplate
);
}
}
//查出用户个人的自定义模板
LambdaQueryWrapper
<
MeetingRecordTemplate
>
customQueryWrapper
=
new
LambdaQueryWrapper
<>();
customQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getIsDel
,
Boolean
.
FALSE
);
customQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getType
,
RecordTemplateConstant
.
TEMPLATE_TYPE_CUSTOM
);
customQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getIsDel
,
Boolean
.
FALSE
);
customQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getType
,
RecordTemplateConstant
.
TEMPLATE_TYPE_CUSTOM
);
customQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getCreateUser
,
user
.
getId
());
customQueryWrapper
.
like
(
vo
.
getName
()
!=
null
,
MeetingRecordTemplate:
:
getName
,
vo
.
getName
());
customQueryWrapper
.
like
(
vo
.
getMeetingType
()
!=
null
,
MeetingRecordTemplate:
:
getMeetingType
,
vo
.
getMeetingType
());
customQueryWrapper
.
like
(
StringUtils
.
isNotEmpty
(
vo
.
getCreateUser
()),
MeetingRecordTemplate:
:
getCreateUserName
,
vo
.
getCreateUser
());
customQueryWrapper
.
between
(
vo
.
getStartTime
()
!=
null
&&
vo
.
getEndTime
()
!=
null
,
MeetingRecordTemplate:
:
getUpdateTime
,
vo
.
getStartTime
(),
vo
.
getEndTime
());
customQueryWrapper
.
like
(
vo
.
getName
()
!=
null
,
MeetingRecordTemplate:
:
getName
,
vo
.
getName
());
customQueryWrapper
.
like
(
vo
.
getMeetingType
()
!=
null
,
MeetingRecordTemplate:
:
getMeetingType
,
vo
.
getMeetingType
());
customQueryWrapper
.
like
(
StringUtils
.
isNotEmpty
(
vo
.
getCreateUser
()),
MeetingRecordTemplate:
:
getCreateUserName
,
vo
.
getCreateUser
());
customQueryWrapper
.
between
(
vo
.
getStartTime
()
!=
null
&&
vo
.
getEndTime
()
!=
null
,
MeetingRecordTemplate:
:
getUpdateTime
,
vo
.
getStartTime
(),
vo
.
getEndTime
());
customQueryWrapper
.
orderByDesc
(
MeetingRecordTemplate:
:
getId
);
List
<
MeetingRecordTemplate
>
customTemplateList
=
baseMapper
.
selectList
(
customQueryWrapper
);
...
...
@@ -108,7 +114,7 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
resultList
.
addAll
(
authorizedSystemTemplateList
);
resultList
.
addAll
(
customTemplateList
);
List
<
MeetingRecordTemplate
>
records
=
getUsersByOffset
(
resultList
,
current
,
size
);
if
(!
CollectionUtils
.
isEmpty
(
records
))
{
if
(!
CollectionUtils
.
isEmpty
(
records
))
{
List
<
SysUserSync
>
simpleUserList
=
sysUserSysMapper
.
getSimpleUserList
(
user
.
getTenantId
());
Map
<
String
,
String
>
simpleUserMap
=
CollectionUtils
.
isEmpty
(
simpleUserList
)
?
new
HashMap
<>()
:
simpleUserList
.
stream
().
collect
(
Collectors
.
toMap
(
SysUserSync:
:
getUserId
,
SysUserSync:
:
getName
));
...
...
@@ -127,6 +133,7 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
/**
* 上传附件模板到minio
*
* @param file
* @param id
* @return
...
...
@@ -145,9 +152,9 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
String
uuid
=
IdUtil
.
fastSimpleUUID
();
String
originalFilePath
=
separator
+
nowDate
+
separator
+
uuid
+
point
+
originalSuffix
;
// 获取文件流
try
(
InputStream
is
=
file
.
getInputStream
())
{
minioUtils
.
upload
(
originalFilePath
,
is
);
}
catch
(
Exception
e
)
{
try
(
InputStream
is
=
file
.
getInputStream
())
{
minioUtils
.
upload
(
originalFilePath
,
is
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
.
getMessage
());
}
detail
.
setTemplate
(
originalFilePath
);
...
...
@@ -157,6 +164,7 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
/**
* 获取模板授权的人员
*
* @return
*/
@Override
...
...
@@ -177,19 +185,19 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
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
))
{
if
(!
CollectionUtils
.
isEmpty
(
userPermissions
))
{
for
(
RecordTemplatePermission
userPermission
:
userPermissions
)
{
authorizedUsers
.
add
(
userPermission
.
getRelId
());
}
}
if
(!
CollectionUtils
.
isEmpty
(
deptPermissions
))
{
if
(!
CollectionUtils
.
isEmpty
(
deptPermissions
))
{
List
<
String
>
deptPath
=
new
ArrayList
<>();
for
(
RecordTemplatePermission
deptPermission
:
deptPermissions
)
{
String
deptId
=
deptPermission
.
getRelId
();
getDeptPath
(
deptPath
,
deptId
,
permissionTenantId
);
getDeptPath
(
deptPath
,
deptId
,
permissionTenantId
);
}
List
<
String
>
usersByDept
=
sysUserSysMapper
.
getUsersByDept
(
deptPath
,
permissionTenantId
);
if
(!
CollectionUtils
.
isEmpty
(
usersByDept
))
List
<
String
>
usersByDept
=
sysUserSysMapper
.
getUsersByDept
(
deptPath
,
permissionTenantId
);
if
(!
CollectionUtils
.
isEmpty
(
usersByDept
))
authorizedUsers
.
addAll
(
usersByDept
);
}
resultItem
.
setUserIdList
(
authorizedUsers
);
...
...
@@ -203,21 +211,21 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
RobotSecurityUser
user
=
SecurityUtil
.
getUser
();
//查出所有系统模板
LambdaQueryWrapper
<
MeetingRecordTemplate
>
systemQueryWrapper
=
new
LambdaQueryWrapper
<>();
systemQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getIsDel
,
Boolean
.
FALSE
);
systemQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getType
,
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
);
systemQueryWrapper
.
like
(
vo
.
getName
()
!=
null
,
MeetingRecordTemplate:
:
getName
,
vo
.
getName
());
systemQueryWrapper
.
like
(
vo
.
getMeetingType
()
!=
null
,
MeetingRecordTemplate:
:
getMeetingType
,
vo
.
getMeetingType
());
systemQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getIsDel
,
Boolean
.
FALSE
);
systemQueryWrapper
.
eq
(
MeetingRecordTemplate:
:
getType
,
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
);
systemQueryWrapper
.
like
(
vo
.
getName
()
!=
null
,
MeetingRecordTemplate:
:
getName
,
vo
.
getName
());
systemQueryWrapper
.
like
(
vo
.
getMeetingType
()
!=
null
,
MeetingRecordTemplate:
:
getMeetingType
,
vo
.
getMeetingType
());
systemQueryWrapper
.
orderByDesc
(
MeetingRecordTemplate:
:
getId
);
List
<
MeetingRecordTemplate
>
systemTemplateList
=
baseMapper
.
selectList
(
systemQueryWrapper
);
if
(
CollectionUtils
.
isEmpty
(
systemTemplateList
))
return
new
ArrayList
<>();
if
(
CollectionUtils
.
isEmpty
(
systemTemplateList
))
return
new
ArrayList
<>();
//用户可见的系统模板权限
List
<
MeetingRecordTemplate
>
records
=
new
ArrayList
<>();
//查出所有系统模板授权人员信息
List
<
RecordTemplatePermission
>
userPermissions
=
permissionMapper
.
selectList
(
new
LambdaQueryWrapper
<
RecordTemplatePermission
>()
.
eq
(
RecordTemplatePermission:
:
getTemplateType
,
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
)
.
eq
(
RecordTemplatePermission:
:
getRelId
,
user
.
getId
())
.
eq
(
RecordTemplatePermission:
:
getRelType
,
RecordTemplateConstant
.
REL_TYPE_USER
)
.
eq
(
RecordTemplatePermission:
:
getRelId
,
user
.
getId
())
.
eq
(
RecordTemplatePermission:
:
getRelType
,
RecordTemplateConstant
.
REL_TYPE_USER
)
);
//当前登录人员被直接授权的模板
List
<
Integer
>
templateIdsAccepted
=
CollectionUtils
.
isEmpty
(
userPermissions
)
...
...
@@ -226,17 +234,17 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
//查出所有系统模板授权部门信息
List
<
RecordTemplatePermission
>
deptPermissions
=
permissionMapper
.
selectList
(
new
LambdaQueryWrapper
<
RecordTemplatePermission
>()
.
eq
(
RecordTemplatePermission:
:
getTemplateType
,
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
)
.
eq
(
RecordTemplatePermission:
:
getRelId
,
user
.
getId
())
.
eq
(
RecordTemplatePermission:
:
getRelType
,
RecordTemplateConstant
.
REL_TYPE_DEPT
));
.
eq
(
RecordTemplatePermission:
:
getRelId
,
user
.
getId
())
.
eq
(
RecordTemplatePermission:
:
getRelType
,
RecordTemplateConstant
.
REL_TYPE_DEPT
));
//查出当前登录人的部门向上路径
String
deptPathByUser
=
sysUserSyncService
.
getDeptPathByUserId
(
user
.
getId
());
if
(
StringUtils
.
isNotEmpty
(
deptPathByUser
)
&&
!
CollectionUtils
.
isEmpty
(
deptPermissions
))
{
if
(
StringUtils
.
isNotEmpty
(
deptPathByUser
)
&&
!
CollectionUtils
.
isEmpty
(
deptPermissions
))
{
List
<
Integer
>
templateIdsDeptAccepted
=
deptPermissions
.
stream
().
filter
(
item
->
deptPathByUser
.
contains
(
item
.
getRelId
()))
.
map
(
RecordTemplatePermission:
:
getTemplateId
).
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
templateIdsDeptAccepted
))
templateIdsAccepted
.
addAll
(
templateIdsDeptAccepted
);
if
(!
CollectionUtils
.
isEmpty
(
templateIdsDeptAccepted
))
templateIdsAccepted
.
addAll
(
templateIdsDeptAccepted
);
}
for
(
MeetingRecordTemplate
template
:
systemTemplateList
)
{
if
(
templateIdsAccepted
.
contains
(
template
.
getId
()))
{
if
(
templateIdsAccepted
.
contains
(
template
.
getId
()))
{
records
.
add
(
template
);
}
}
...
...
@@ -283,9 +291,9 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
}
/**
* 更新模板
*
* @param recordTemplateVo 模板参数
*/
@Override
...
...
@@ -417,105 +425,48 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
if
(
role
.
equals
(
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
))
{
return
baseMapper
.
selectTemplate
(
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
);
}
List
<
MeetTypeDto
>
meetTypeDtos
=
baseMapper
.
selectCustomTemplate
(
userId
);
List
<
ModulePermission
>
permissions
=
modulePermissionService
.
list
(
new
LambdaQueryWrapper
<
ModulePermission
>()
.
and
(
e
->
e
.
eq
(
ModulePermission:
:
getPurpose
,
PermissionPruposeType
.
TEMPLATE_TYPE_PERMISSION
)
.
or
().
eq
(
ModulePermission:
:
getPurpose
,
PermissionPruposeType
.
TEMPLATE_PERMISSION
)
).
and
(
e
->
e
.
eq
(
ModulePermission:
:
getType
,
RecordTemplateConstant
.
REL_TYPE_USER
).
eq
(
ModulePermission:
:
getRelId
,
userId
)
.
or
().
eq
(
ModulePermission:
:
getType
,
RecordTemplateConstant
.
REL_TYPE_DEPT
).
in
(
ModulePermission:
:
getRelId
,
parentDeptIdList
))
.
select
(
ModulePermission:
:
getTargetId
,
ModulePermission:
:
getPurpose
)
);
Set
<
Long
>
typeIds
=
permissions
.
stream
().
filter
(
e
->
e
.
getPurpose
().
equals
(
PermissionPruposeType
.
TEMPLATE_TYPE_PERMISSION
)).
map
(
ModulePermission:
:
getTargetId
).
collect
(
Collectors
.
toSet
());
Set
<
Long
>
ids
=
permissions
.
stream
().
filter
(
e
->
e
.
getPurpose
().
equals
(
PermissionPruposeType
.
TEMPLATE_PERMISSION
)).
map
(
ModulePermission:
:
getTargetId
).
collect
(
Collectors
.
toSet
());
// 查询指定授权的模板 - 从会议类型维度查询
List
<
MeetTypeDto
>
permissionTmplInMeetTypeDtoList
=
baseMapper
.
selectPermissionTmplInMeetType
(
userId
,
parentDeptIdList
);
permissionTmplInMeetTypeDtoList
.
stream
().
forEach
(
meetTypeDto
->
{
meetTypeDto
.
getRecordTemplateDTOList
().
removeIf
(
template
->
ObjectUtils
.
isEmpty
(
template
.
getId
()));
});
// 查询指定授权的模板 - 从纪要模板维度查询
List
<
MeetTypeDto
>
permissionDeptTmplDtoList
=
baseMapper
.
selectPermissionTmpl
(
userId
,
parentDeptIdList
);
permissionDeptTmplDtoList
.
stream
().
forEach
(
meetTypeDto
->
{
meetTypeDto
.
getRecordTemplateDTOList
().
removeIf
(
template
->
ObjectUtils
.
isEmpty
(
template
.
getId
()));
});
// 合并 permissionDeptTmplDtoList 到 permissionTmplInMeetTypeDtoList
for
(
MeetTypeDto
deptDto
:
permissionDeptTmplDtoList
)
{
boolean
exists
=
false
;
for
(
MeetTypeDto
typeDto
:
permissionTmplInMeetTypeDtoList
)
{
if
(
typeDto
.
getId
().
equals
(
deptDto
.
getId
()))
{
exists
=
true
;
// 合并 recordTemplateDTOList
Map
<
Long
,
RecordTemplateDto
>
templateMap
=
new
HashMap
<>();
typeDto
.
getRecordTemplateDTOList
().
forEach
(
t
->
templateMap
.
put
(
t
.
getId
(),
t
));
deptDto
.
getRecordTemplateDTOList
().
forEach
(
t
->
templateMap
.
putIfAbsent
(
t
.
getId
(),
t
));
typeDto
.
setRecordTemplateDTOList
(
new
ArrayList
<>(
templateMap
.
values
()));
break
;
}
}
if
(!
exists
)
{
permissionTmplInMeetTypeDtoList
.
add
(
deptDto
);
}
}
// 获取非授权的模板,包括系统通用并启用的和自己创建的
MeetTypeDto
enabledSystemTemplate
=
baseMapper
.
selectEnabledSystemTemplate
();
List
<
MeetTypeDto
>
recordTemplateDtoList
=
baseMapper
.
selectAllTmplWithoutPermission
(
enabledSystemTemplate
.
getId
(),
userId
);
recordTemplateDtoList
.
add
(
enabledSystemTemplate
);
recordTemplateDtoList
.
stream
().
forEach
(
meetTypeDto
->
{
meetTypeDto
.
getRecordTemplateDTOList
().
removeIf
(
template
->
ObjectUtils
.
isEmpty
(
template
.
getId
()));
});
// 合并 recordTemplateDtoList 到 permissionTmplInMeetTypeDtoList
for
(
MeetTypeDto
deptDto
:
recordTemplateDtoList
)
{
boolean
exists
=
false
;
for
(
MeetTypeDto
typeDto
:
permissionTmplInMeetTypeDtoList
)
{
if
(
typeDto
.
getId
().
equals
(
deptDto
.
getId
()))
{
exists
=
true
;
// 合并 recordTemplateDTOList
Map
<
Long
,
RecordTemplateDto
>
templateMap
=
new
HashMap
<>();
typeDto
.
getRecordTemplateDTOList
().
forEach
(
t
->
templateMap
.
put
(
t
.
getId
(),
t
));
deptDto
.
getRecordTemplateDTOList
().
forEach
(
t
->
templateMap
.
putIfAbsent
(
t
.
getId
(),
t
));
typeDto
.
setRecordTemplateDTOList
(
new
ArrayList
<>(
templateMap
.
values
()));
break
;
}
}
if
(!
exists
)
{
permissionTmplInMeetTypeDtoList
.
add
(
deptDto
);
meetTypeDtos
.
forEach
(
meetTypeDto
->
{
if
(
meetTypeDto
.
getId
()
!=
1
)
{
Integer
authType
=
meetTypeDto
.
getAuthType
();
if
(
AuthTypeConstant
.
NO_AUTH
.
equals
(
authType
))
{
meetTypeDto
.
getRecordTemplateDTOList
().
removeIf
(
template
->
template
.
getType
().
equals
(
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
)
&&
!
ids
.
contains
(
template
.
getId
()));
}
else
if
(
AuthTypeConstant
.
SELECT
.
equals
(
authType
))
{
meetTypeDto
.
getRecordTemplateDTOList
().
removeIf
(
template
->
template
.
getType
().
equals
(
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
)
&&
!
typeIds
.
contains
(
meetTypeDto
.
getId
())
&&
!
ids
.
contains
(
template
.
getId
()));
}
}
permissionTmplInMeetTypeDtoList
.
forEach
(
meetTypeDto
->
{
boolean
systemType
=
meetTypeDto
.
getRecordTemplateDTOList
().
stream
()
.
anyMatch
(
template
->
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
.
equals
(
template
.
getType
()));
if
(
systemType
)
{
// meetTypeDto.setType(MeetingTypeConstant.TYPE_SYSTEM);
}
else
{
// meetTypeDto.setType(MeetingTypeConstant.TYPE_CUSTOM);
}
});
// 对纪要模板排序
for
(
MeetTypeDto
meetTypeDto
:
permissionTmplInMeetTypeDtoList
)
{
meetTypeDto
.
getRecordTemplateDTOList
().
sort
(
Comparator
.
comparing
(
RecordTemplateDto:
:
getCreateTime
));
}
boolean
isAdmin
=
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
.
equals
(
role
);
if
(!
isAdmin
)
{
// MeetTypeDto dto1 = permissionTmplInMeetTypeDtoList.stream().filter(dto -> dto.getType().equals(MeetingTypeConstant.TYPE_SYSTEM)).findFirst().get();
// dto1.getRecordTemplateDTOList().removeIf(template -> !template.getEnable());
}
return
permissionTmplInMeetTypeDtoList
;
return
meetTypeDtos
;
}
/**
* 获取部门的路径
*
* @param deptPath
* @param deptId
*/
private
void
getDeptPath
(
List
<
String
>
deptPath
,
String
deptId
,
String
tenantId
)
{
if
(!
deptPath
.
contains
(
deptId
))
deptPath
.
add
(
deptId
);
List
<
String
>
subDeptIds
=
sysUserSysMapper
.
getSubDeptId
(
deptId
,
tenantId
);
if
(
CollectionUtils
.
isEmpty
(
subDeptIds
))
return
;
if
(!
deptPath
.
contains
(
deptId
))
deptPath
.
add
(
deptId
);
List
<
String
>
subDeptIds
=
sysUserSysMapper
.
getSubDeptId
(
deptId
,
tenantId
);
if
(
CollectionUtils
.
isEmpty
(
subDeptIds
))
return
;
for
(
String
subDeptId
:
subDeptIds
)
{
//部门id去重
if
(!
deptPath
.
contains
(
subDeptId
))
{
if
(!
deptPath
.
contains
(
subDeptId
))
{
deptPath
.
add
(
subDeptId
);
getDeptPath
(
deptPath
,
subDeptId
,
tenantId
);
getDeptPath
(
deptPath
,
subDeptId
,
tenantId
);
}
}
...
...
@@ -523,6 +474,7 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
/**
* 手动分页,偏移取每一页数据
*
* @param list
* @param current
* @param size
...
...
src/main/resources/mapper/primary/MeetingRecordTemplateMapper.xml
浏览文件 @
b44968b6
...
...
@@ -272,6 +272,31 @@
where t1.is_del = 0
</select>
<select
id=
"selectCustomTemplate"
resultMap=
"meetTypeWithRecordsMap"
>
select t1.id as type_id,
t1.name as type_name,
t1.personal_permission,
t1.auth_type,
t1.rel_id as rel_type_id,
t1.content as type_content,
t1.create_time as type_create_time,
t1.create_user as type_create_user,
t2.id as temp_id,
t2.name as template_name,
t2.type,
t2.type_detail,
t2.prompt,
t2.refer_template_id,
t2.create_user as template_create_user,
t2.create_time as template_create_time,
if(t1.id != 1 and t3.id is null, 0, 1) as `enable`
from meet_type t1
left join cmt_meeting_record_template t2 on t2.meeting_type = t1.id and t2.is_del = 0
and ((t2.type = 'system' and t2.enable = 1) or (t2.type = 'custom' and t2.create_user = #{userId}))
left join meet_template_enable t3 on t3.rel_id = t2.id and t3.user_id = #{userId}
where t1.is_del = 0
</select>
<update
id=
"enableSystemTemplate"
>
update
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论