Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cmeeting
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
翟斌
cmeeting
Commits
d902da8e
提交
d902da8e
authored
7月 21, 2025
作者:
张开石
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、添加获取会议纪要模板下拉框接口
2、sysUserSyncService添加根据userId向上获取部门集合的方法
父级
89a45de2
显示空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
289 行增加
和
29 行删除
+289
-29
src/main/java/com/cmeeting/controller/RecordTemplateController.java
+11
-0
src/main/java/com/cmeeting/dto/MeetTypeDto.java
+2
-22
src/main/java/com/cmeeting/dto/RecordTemplateDto.java
+27
-0
src/main/java/com/cmeeting/mapper/primary/MeetingRecordTemplateMapper.java
+24
-0
src/main/java/com/cmeeting/pojo/SysUserSyncCategory.java
+3
-0
src/main/java/com/cmeeting/service/MeetingRecordTemplateService.java
+7
-0
src/main/java/com/cmeeting/service/SysUserSyncService.java
+9
-1
src/main/java/com/cmeeting/service/impl/MeetingRecordTemplateServiceImpl.java
+31
-5
src/main/java/com/cmeeting/service/impl/SysUserSyncServiceImpl.java
+37
-0
src/main/resources/mapper/primary/MeetTypeMapper.xml
+1
-1
src/main/resources/mapper/primary/MeetingRecordTemplateMapper.xml
+137
-0
没有找到文件。
src/main/java/com/cmeeting/controller/RecordTemplateController.java
浏览文件 @
d902da8e
...
...
@@ -2,6 +2,7 @@ package com.cmeeting.controller;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.cmeeting.constant.RecordTemplateConstant
;
import
com.cmeeting.dto.RecordTemplateDto
;
import
com.cmeeting.pojo.MeetingRecordTemplate
;
import
com.cmeeting.service.MeetingRecordTemplateService
;
import
com.cmeeting.service.RecordTemplatePermissionService
;
...
...
@@ -77,6 +78,16 @@ public class RecordTemplateController {
}
/**
* 获取会议模板下拉框,有权限控制
* @return
*/
@GetMapping
(
"/select"
)
public
R
select
()
{
List
<
RecordTemplateDto
>
recordTemplateDtoList
=
recordTemplateService
.
getTemplateSelect
();
return
R
.
ok
(
recordTemplateDtoList
);
}
/**
* 纪要模板列表,通过type区分为系统模板还是自定义模板
* @param vo
* @return
...
...
src/main/java/com/cmeeting/dto/MeetTypeDto.java
浏览文件 @
d902da8e
package
com
.
cmeeting
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -29,24 +27,5 @@ public class MeetTypeDto {
// 类型描述的内容
private
String
content
;
// 会议模板
private
List
<
RecordTemplateDTO
>
recordTemplateDTOList
;
}
@Data
class
RecordTemplateDTO
{
// 模板id
private
Long
id
;
// 模板名称
private
String
name
;
// 模板描述
private
String
typeDetail
;
// 生成模板的提示词
private
String
prompt
;
// 引用(参考)模板id
private
Long
referTemplateId
;
// 模板创建时间,格式:yyyy-MM-dd HH:mm:ss
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
// 是否启用
private
Boolean
enable
;
private
List
<
RecordTemplateDto
>
recordTemplateDTOList
;
}
\ No newline at end of file
src/main/java/com/cmeeting/dto/RecordTemplateDto.java
0 → 100644
浏览文件 @
d902da8e
package
com
.
cmeeting
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
RecordTemplateDto
{
// 模板id
private
Long
id
;
// 模板名称
private
String
name
;
// 模板描述
private
String
typeDetail
;
// 生成模板的提示词
private
String
prompt
;
// 引用(参考)模板id
private
Long
referTemplateId
;
// 模板创建时间,格式:yyyy-MM-dd HH:mm:ss
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
createTime
;
// 是否启用
private
Boolean
enable
;
}
\ No newline at end of file
src/main/java/com/cmeeting/mapper/primary/MeetingRecordTemplateMapper.java
浏览文件 @
d902da8e
package
com
.
cmeeting
.
mapper
.
primary
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.cmeeting.dto.RecordTemplateDto
;
import
com.cmeeting.pojo.MeetingRecordTemplate
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
...
...
@@ -11,4 +13,25 @@ import java.util.List;
public
interface
MeetingRecordTemplateMapper
extends
BaseMapper
<
MeetingRecordTemplate
>
{
List
<
MeetingRecordTemplate
>
getAuthorizedSystemTemplate
();
/**
* 查询授权的模板-会议类型维度
* @return
*/
List
<
RecordTemplateDto
>
selectPermissionTmplInMeetType
(
@Param
(
"userId"
)
String
userId
,
@Param
(
"deptIdList"
)
List
<
String
>
deptIdList
);
/**
* 获取指定授权的模板-纪要模板维度
* @return
*/
List
<
RecordTemplateDto
>
selectPermissionTmpl
(
@Param
(
"userId"
)
String
userId
,
@Param
(
"deptIdList"
)
List
<
String
>
deptIdList
);
/**
* 获取非授权的模板,包括系统通用的和自己创建的
* @param userId
* @return
*/
List
<
RecordTemplateDto
>
selectAllTmplWithoutPermission
(
String
userId
);
}
\ No newline at end of file
src/main/java/com/cmeeting/pojo/SysUserSyncCategory.java
浏览文件 @
d902da8e
...
...
@@ -8,6 +8,7 @@ import lombok.experimental.Accessors;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* 外接系统部门表(SysUserSyncCategory)实体类
...
...
@@ -70,4 +71,6 @@ public class SysUserSyncCategory implements Serializable {
*/
private
String
tenantId
;
@TableField
(
exist
=
false
)
private
List
<
SysUserSyncCategory
>
children
;
}
src/main/java/com/cmeeting/service/MeetingRecordTemplateService.java
浏览文件 @
d902da8e
...
...
@@ -2,6 +2,7 @@ package com.cmeeting.service;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.cmeeting.dto.RecordTemplateDto
;
import
com.cmeeting.dto.UserDTO
;
import
com.cmeeting.pojo.MeetingRecordTemplate
;
import
com.cmeeting.vo.EditRecordTemplateVo
;
...
...
@@ -69,4 +70,10 @@ public interface MeetingRecordTemplateService extends IService<MeetingRecordTemp
* @param id 模板id
*/
void
delete
(
Long
id
);
/**
* 获取模板下拉列表,有权限控制
* @return
*/
List
<
RecordTemplateDto
>
getTemplateSelect
();
}
src/main/java/com/cmeeting/service/SysUserSyncService.java
浏览文件 @
d902da8e
...
...
@@ -2,10 +2,10 @@ package com.cmeeting.service;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.cmeeting.ad.entity.RobotSecurityUser
;
import
com.cmeeting.ad.entity.SysUserSync
;
import
com.cmeeting.dto.PermissionCheckedDTO
;
import
com.cmeeting.dto.SysUserSyncDTO
;
import
com.cmeeting.pojo.SysUserSyncCategory
;
import
java.util.List
;
...
...
@@ -13,6 +13,14 @@ import java.util.List;
public
interface
SysUserSyncService
extends
IService
<
SysUserSync
>
{
String
getDeptPathByUserId
(
String
userId
);
/**
* 向上获取部门集合,包含当前部门
*
* @return
*/
List
<
SysUserSyncCategory
>
getCategoryListByUserId
(
String
userId
);
PermissionCheckedDTO
listByCategoryId
(
String
categoryId
,
String
search
,
String
tenantId
,
List
<
String
>
categoryList
,
List
<
String
>
userList
);
List
<
PermissionCheckedDTO
.
User
>
findInUserIdsOrShareCateIds
(
List
<
String
>
userIds
,
List
<
String
>
shareCateIds
,
String
tenantId
,
String
search
);
...
...
src/main/java/com/cmeeting/service/impl/MeetingRecordTemplateServiceImpl.java
浏览文件 @
d902da8e
...
...
@@ -13,14 +13,12 @@ import com.cmeeting.ad.entity.SysUserSync;
import
com.cmeeting.ad.util.SecurityUtil
;
import
com.cmeeting.constant.MeetingTypeConstant
;
import
com.cmeeting.constant.RecordTemplateConstant
;
import
com.cmeeting.dto.RecordTemplateDto
;
import
com.cmeeting.dto.UserDTO
;
import
com.cmeeting.exception.RobotBaseException
;
import
com.cmeeting.mapper.primary.*
;
import
com.cmeeting.mapper.secondary.SysUserSysMapper
;
import
com.cmeeting.pojo.MeetTemplateEnable
;
import
com.cmeeting.pojo.MeetType
;
import
com.cmeeting.pojo.MeetingRecordTemplate
;
import
com.cmeeting.pojo.RecordTemplatePermission
;
import
com.cmeeting.pojo.*
;
import
com.cmeeting.service.MeetingRecordTemplateService
;
import
com.cmeeting.service.SysUserSyncService
;
import
com.cmeeting.util.MinioUtils
;
...
...
@@ -37,7 +35,6 @@ import org.springframework.web.multipart.MultipartFile;
import
javax.annotation.Resource
;
import
java.io.InputStream
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
@Service
...
...
@@ -360,6 +357,35 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
}
/**
* 获取模板下拉列表,有权限控制
*
* @return
*/
@Override
public
List
<
RecordTemplateDto
>
getTemplateSelect
()
{
// 获取当前用户向上的的部门集合
RobotSecurityUser
loginUser
=
SecurityUtil
.
getUser
();
List
<
SysUserSyncCategory
>
categoryList
=
sysUserSyncService
.
getCategoryListByUserId
(
loginUser
.
getUserId
());
List
<
String
>
parentDeptIdList
=
categoryList
.
stream
().
map
(
SysUserSyncCategory:
:
getDeptId
).
collect
(
Collectors
.
toList
());
List
<
RecordTemplateDto
>
resultList
=
new
ArrayList
<>();
// 查询指定授权的模板 - 从会议类型维度查询
List
<
RecordTemplateDto
>
permissionTmplInMeetTypeDtoList
=
baseMapper
.
selectPermissionTmplInMeetType
(
loginUser
.
getUserId
(),
parentDeptIdList
);
resultList
.
addAll
(
permissionTmplInMeetTypeDtoList
);
// 查询指定授权的模板 - 从纪要模板维度查询
List
<
RecordTemplateDto
>
permissionDeptTmplDtoList
=
baseMapper
.
selectPermissionTmpl
(
loginUser
.
getUserId
(),
parentDeptIdList
);
resultList
.
addAll
(
permissionDeptTmplDtoList
);
// 获取非授权的模板,包括系统通用的和自己创建的
List
<
RecordTemplateDto
>
recordTemplateDtoList
=
baseMapper
.
selectAllTmplWithoutPermission
(
loginUser
.
getUserId
());
resultList
.
addAll
(
recordTemplateDtoList
);
return
resultList
;
}
/**
* 获取部门的路径
* @param deptPath
* @param deptId
...
...
src/main/java/com/cmeeting/service/impl/SysUserSyncServiceImpl.java
浏览文件 @
d902da8e
...
...
@@ -66,6 +66,43 @@ public class SysUserSyncServiceImpl extends ServiceImpl<SysUserSysMapper, SysUse
}
/**
* 向上获取部门集合,包含当前部门
*
* @return
*/
@Override
public
List
<
SysUserSyncCategory
>
getCategoryListByUserId
(
String
userId
)
{
SysUserSync
sysUserSync
=
baseMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysUserSync
>().
eq
(
SysUserSync:
:
getTenantId
,
perTenantId
).
eq
(
SysUserSync:
:
getUserId
,
userId
));
String
deptId
=
sysUserSync
.
getDeptId
();
// 获取当前租户所有部门
// 查询当前租户下所有部门
List
<
SysUserSyncCategory
>
allDeptList
=
iSysUserSyncCategoryService
.
list
(
new
LambdaQueryWrapper
<
SysUserSyncCategory
>().
eq
(
SysUserSyncCategory:
:
getTenantId
,
perTenantId
));
// 从所有部门中向上递归查找父级部门
List
<
SysUserSyncCategory
>
parentDeptList
=
new
ArrayList
<>();
SysUserSyncCategory
currentDept
=
allDeptList
.
stream
()
.
filter
(
dept
->
dept
.
getDeptId
().
equals
(
deptId
))
.
findFirst
()
.
orElse
(
null
);
while
(
currentDept
!=
null
&&
!
currentDept
.
getDeptId
().
equals
(
CategoryConstant
.
ROOT_ID
))
{
parentDeptList
.
add
(
currentDept
);
SysUserSyncCategory
finalCurrentDept
=
currentDept
;
currentDept
=
allDeptList
.
stream
()
.
filter
(
dept
->
dept
.
getDeptId
().
equals
(
finalCurrentDept
.
getParentId
()))
.
findFirst
()
.
orElse
(
null
);
}
return
parentDeptList
;
}
@Override
public
PermissionCheckedDTO
listByCategoryId
(
String
categoryId
,
String
search
,
String
tenantId
,
List
<
String
>
categoryList
,
List
<
String
>
userList
)
{
PermissionCheckedDTO
dto
=
new
PermissionCheckedDTO
();
...
...
src/main/resources/mapper/primary/MeetTypeMapper.xml
浏览文件 @
d902da8e
...
...
@@ -32,7 +32,7 @@
<result
property=
"authType"
column=
"meeting_type_auth_type"
/>
<result
property=
"relId"
column=
"meeting_type_rel_id"
/>
<result
property=
"content"
column=
"meeting_type_content"
/>
<collection
property=
"recordTemplateDTOList"
javaType=
"List"
ofType=
"com.cmeeting.dto.RecordTemplateD
TO
"
>
<collection
property=
"recordTemplateDTOList"
javaType=
"List"
ofType=
"com.cmeeting.dto.RecordTemplateD
to
"
>
<id
property=
"id"
column=
"template_id"
/>
<result
property=
"name"
column=
"template_name"
/>
<result
property=
"typeDetail"
column=
"template_type_detail"
/>
...
...
src/main/resources/mapper/primary/MeetingRecordTemplateMapper.xml
浏览文件 @
d902da8e
...
...
@@ -7,4 +7,141 @@
<select
id=
"getAuthorizedSystemTemplate"
resultType=
"com.cmeeting.pojo.MeetingRecordTemplate"
>
</select>
<!-- 查询授权的模板-会议类型维度 -->
<select
id=
"selectPermissionTmplInMeetType"
resultType=
"com.cmeeting.dto.RecordTemplateDto"
>
select
cmt_meeting_record_template.id as template_id,
cmt_meeting_record_template.name as template_name,
cmt_meeting_record_template.type_detail as template_type_detail,
cmt_meeting_record_template.prompt as template_prompt
from
meet_type,
cmt_meeting_record_template,
module_permission
where
meet_type.is_del = 0
and cmt_meeting_record_template.is_del = 0
and meet_type.auth_type = 2
and meet_type.id = cmt_meeting_record_template.meeting_type
and cmt_meeting_record_template.type = 'custom'
and module_permission.type = 0
and module_permission.purpose = 1
and module_permission.target_id = meet_type.id
and module_permission.rel_id in
<foreach
collection=
"deptIdList"
item=
"deptId"
open=
"("
separator=
","
close=
")"
index=
"index"
>
#{deptId}
</foreach>
union
select
cmt_meeting_record_template.id as template_id,
cmt_meeting_record_template.name as template_name,
cmt_meeting_record_template.type_detail as template_type_detail,
cmt_meeting_record_template.prompt as template_prompt
from
meet_type,
cmt_meeting_record_template,
module_permission
where
meet_type.is_del = 0
and cmt_meeting_record_template.is_del = 0
and meet_type.auth_type = 2
and meet_type.id = cmt_meeting_record_template.meeting_type
and cmt_meeting_record_template.type = 'custom'
and module_permission.type = 1
and module_permission.purpose = 1
and module_permission.target_id = meet_type.id
and module_permission.rel_id = #{userId}
union
select
cmt_meeting_record_template.id as template_id,
cmt_meeting_record_template.name as template_name,
cmt_meeting_record_template.type_detail as template_type_detail,
cmt_meeting_record_template.prompt as template_prompt
from
meet_type,
cmt_meeting_record_template
where
meet_type.is_del = 0
and cmt_meeting_record_template.is_del = 0
and meet_type.auth_type = 1
and meet_type.id = cmt_meeting_record_template.meeting_type
and cmt_meeting_record_template.type = 'custom'
</select>
<!-- 获取指定授权的模板-纪要模板维度 -->
<select
id=
"selectPermissionTmpl"
resultType=
"com.cmeeting.dto.RecordTemplateDto"
>
select
cmt_meeting_record_template.id as template_id,
cmt_meeting_record_template.name as template_name,
cmt_meeting_record_template.type_detail as template_type_detail,
cmt_meeting_record_template.prompt as template_prompt
from
cmt_meeting_record_template,
module_permission
where
cmt_meeting_record_template.is_del = 0
and cmt_meeting_record_template.type = 'custom'
and module_permission.type = 0
and module_permission.purpose = 2
and module_permission.target_id = cmt_meeting_record_template.id
and module_permission.rel_id in
<foreach
collection=
"deptIdList"
item=
"deptId"
open=
"("
separator=
","
close=
")"
index=
"index"
>
#{deptId}
</foreach>
union
select
cmt_meeting_record_template.id as template_id,
cmt_meeting_record_template.name as template_name,
cmt_meeting_record_template.type_detail as template_type_detail,
cmt_meeting_record_template.prompt as template_prompt
from
cmt_meeting_record_template,
module_permission
where
cmt_meeting_record_template.is_del = 0
and cmt_meeting_record_template.type = 'custom'
and module_permission.type = 1
and module_permission.purpose = 2
and module_permission.target_id = cmt_meeting_record_template.id
and module_permission.rel_id = #{userId}
union
select
cmt_meeting_record_template.id as template_id,
cmt_meeting_record_template.name as template_name,
cmt_meeting_record_template.type_detail as template_type_detail,
cmt_meeting_record_template.prompt as template_prompt
from
cmt_meeting_record_template,
module_permission
where
cmt_meeting_record_template.is_del = 0
and cmt_meeting_record_template.type = 'custom'
and module_permission.type = 1
and module_permission.purpose = 2
and module_permission.target_id = cmt_meeting_record_template.id
and module_permission.rel_id = 'all'
</select>
<!-- 获取非授权的模板,包括系统通用的和自己创建的 -->
<select
id=
"selectAllTmplWithoutPermission"
resultType=
"com.cmeeting.dto.RecordTemplateDto"
>
select
cmt_meeting_record_template.id as template_id,
cmt_meeting_record_template.name as template_name,
cmt_meeting_record_template.type_detail as template_type_detail,
cmt_meeting_record_template.prompt as template_prompt
from
cmt_meeting_record_template
where
cmt_meeting_record_template.is_del = 0
and (cmt_meeting_record_template.type = 'system' or cmt_meeting_record_template.user_id = #{userId})
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论