Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cmeeting
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
翟斌
cmeeting
Commits
21fade20
提交
21fade20
authored
7月 18, 2025
作者:
张开石
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、添加模板的新增、更新、启用、删除接口
2、修改会议类型的删除接口 3、会议模板启用表添加字段:会议类型id
父级
92f093e0
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
236 行增加
和
52 行删除
+236
-52
src/main/java/com/cmeeting/controller/RecordTemplateController.java
+43
-35
src/main/java/com/cmeeting/pojo/MeetTemplateEnable.java
+5
-0
src/main/java/com/cmeeting/pojo/MeetingRecordTemplate.java
+5
-5
src/main/java/com/cmeeting/service/MeetingRecordTemplateService.java
+25
-0
src/main/java/com/cmeeting/service/impl/MeetTypeServiceImpl.java
+2
-7
src/main/java/com/cmeeting/service/impl/MeetingRecordTemplateServiceImpl.java
+104
-4
src/main/java/com/cmeeting/vo/EditRecordTemplateVo.java
+50
-0
src/main/resources/mapper/primary/MeetTemplateEnableMapper.xml
+2
-1
没有找到文件。
src/main/java/com/cmeeting/controller/RecordTemplateController.java
浏览文件 @
21fade20
package
com
.
cmeeting
.
controller
;
import
cn.hutool.core.date.DateUtil
;
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.MeetingInfo
;
import
com.cmeeting.constant.RecordTemplateConstant
;
import
com.cmeeting.pojo.MeetingRecordTemplate
;
import
com.cmeeting.service.MeetingRecordTemplateService
;
import
com.cmeeting.service.RecordTemplatePermissionService
;
import
com.cmeeting.util.R
;
import
com.cmeeting.vo.EditRecordTemplateVo
;
import
com.cmeeting.vo.RecordTemplateVO
;
import
com.deepoove.poi.XWPFTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -41,40 +38,51 @@ public class RecordTemplateController {
@Resource
private
RecordTemplatePermissionService
recordTemplatePermissionService
;
/**
* 创建模板
*/
@PostMapping
(
"/create"
)
public
R
create
(
@RequestBody
MeetingRecordTemplate
recordTemplate
)
{
RobotSecurityUser
user
=
SecurityUtil
.
getUser
();
System
.
out
.
println
(
"RobotSecurityUser:"
+
user
.
toString
());
LocalDateTime
now
=
LocalDateTime
.
now
();
recordTemplate
.
setCreateTime
(
now
);
recordTemplate
.
setUpdateTime
(
now
);
recordTemplate
.
setIsDel
(
Boolean
.
FALSE
);
recordTemplate
.
setCreateUser
(
user
.
getId
());
recordTemplate
.
setUpdateUser
(
user
.
getId
());
recordTemplate
.
setCreateUserName
(
user
.
getUsername
());
recordTemplate
.
setUpdateUserName
(
user
.
getUsername
());
boolean
save
=
recordTemplateService
.
save
(
recordTemplate
);
public
R
create
(
@RequestBody
@Validated
(
EditRecordTemplateVo
.
AddGroup
.
class
)
EditRecordTemplateVo
recordTemplate
)
{
// 参数校验
String
type
=
recordTemplate
.
getType
();
if
(!
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
.
equals
(
type
)
&&
!
RecordTemplateConstant
.
TEMPLATE_TYPE_CUSTOM
.
equals
(
type
))
{
return
R
.
error
(
"type参数错误"
);
}
recordTemplateService
.
save
(
recordTemplate
);
return
R
.
ok
(
recordTemplate
);
}
/**
* 更新模板
*/
@PostMapping
(
"/update"
)
public
R
update
(
@RequestBody
MeetingRecordTemplate
recordTemplate
)
{
RobotSecurityUser
user
=
SecurityUtil
.
getUser
();
recordTemplate
.
setUpdateTime
(
LocalDateTime
.
now
());
recordTemplate
.
setUpdateUser
(
user
.
getId
());
recordTemplate
.
setUpdateUserName
(
user
.
getUsername
());
boolean
save
=
recordTemplateService
.
updateById
(
recordTemplate
);
return
R
.
ok
(
save
);
}
@PostMapping
(
"/disable"
)
public
R
disable
(
@RequestBody
MeetingRecordTemplate
recordTemplate
)
{
boolean
save
=
recordTemplateService
.
update
(
new
LambdaUpdateWrapper
<
MeetingRecordTemplate
>()
.
eq
(
MeetingRecordTemplate:
:
getId
,
recordTemplate
.
getId
())
.
set
(
MeetingRecordTemplate:
:
getIsDel
,
Boolean
.
TRUE
)
);
return
R
.
ok
(
save
);
public
R
update
(
@RequestBody
@Validated
(
EditRecordTemplateVo
.
UpdateGroup
.
class
)
EditRecordTemplateVo
recordTemplate
)
{
// 参数校验
String
type
=
recordTemplate
.
getType
();
if
(!
RecordTemplateConstant
.
TEMPLATE_TYPE_SYSTEM
.
equals
(
type
)
&&
!
RecordTemplateConstant
.
TEMPLATE_TYPE_CUSTOM
.
equals
(
type
))
{
return
R
.
error
(
"type参数错误"
);
}
recordTemplateService
.
updateById
(
recordTemplate
);
return
R
.
ok
();
}
/**
* 删除模板
*/
@PostMapping
(
"/delete"
)
public
R
delete
(
@RequestBody
@Validated
(
EditRecordTemplateVo
.
DeleteGroup
.
class
)
EditRecordTemplateVo
recordTemplate
)
{
recordTemplateService
.
delete
(
recordTemplate
.
getId
());
return
R
.
ok
();
}
/**
* 启用模板
*/
@PostMapping
(
"/enable"
)
public
R
enable
(
@RequestBody
@Validated
(
EditRecordTemplateVo
.
EnableGroup
.
class
)
EditRecordTemplateVo
recordTemplate
)
{
recordTemplateService
.
enable
(
recordTemplate
.
getId
());
return
R
.
ok
();
}
/**
...
...
src/main/java/com/cmeeting/pojo/MeetTemplateEnable.java
浏览文件 @
21fade20
...
...
@@ -25,6 +25,11 @@ public class MeetTemplateEnable {
private
Long
relId
;
/**
* 会议类型id
*/
private
Long
meetTypeId
;
/**
* 用户id/system (管理员)
*/
private
String
userId
;
...
...
src/main/java/com/cmeeting/pojo/MeetingRecordTemplate.java
浏览文件 @
21fade20
...
...
@@ -10,7 +10,7 @@ import lombok.experimental.Accessors;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.io.Serializable
;
import
java.
time.LocalDateTim
e
;
import
java.
util.Dat
e
;
/**
* 会议纪要模板实体类
...
...
@@ -29,7 +29,7 @@ public class MeetingRecordTemplate implements Serializable {
* 主键id
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Integer
id
;
private
Long
id
;
/**
* 模板名称
*/
...
...
@@ -60,14 +60,14 @@ public class MeetingRecordTemplate implements Serializable {
*/
@DateTimeFormat
(
pattern
=
"yyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
private
LocalDateTim
e
createTime
;
private
Dat
e
createTime
;
/**
* 创建时间
*/
@DateTimeFormat
(
pattern
=
"yyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
private
LocalDateTim
e
updateTime
;
private
Dat
e
updateTime
;
/**
* 创建人
...
...
@@ -100,7 +100,7 @@ public class MeetingRecordTemplate implements Serializable {
/**
* 引用的纪要模板id
*/
private
Integer
referTemplateId
;
private
Long
referTemplateId
;
/**
* 引用的纪要模板名称
*/
...
...
src/main/java/com/cmeeting/service/MeetingRecordTemplateService.java
浏览文件 @
21fade20
...
...
@@ -4,6 +4,7 @@ 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.EditRecordTemplateVo
;
import
com.cmeeting.vo.RecordTemplateVO
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -44,4 +45,28 @@ public interface MeetingRecordTemplateService extends IService<MeetingRecordTemp
* @return
*/
List
<
MeetingRecordTemplate
>
getSelectList
(
RecordTemplateVO
vo
);
/**
* 保存模板
* @param recordTemplateVo 请求参数
*/
void
save
(
EditRecordTemplateVo
recordTemplateVo
);
/**
* 更新模板
* @param recordTemplateVo 模板参数
*/
void
updateById
(
EditRecordTemplateVo
recordTemplateVo
);
/**
* 启用模板
* @param id 模板id
*/
void
enable
(
Long
id
);
/**
* 根据id删除会议模板
* @param id 模板id
*/
void
delete
(
Long
id
);
}
src/main/java/com/cmeeting/service/impl/MeetTypeServiceImpl.java
浏览文件 @
21fade20
...
...
@@ -116,13 +116,8 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType>
if
(
templateCount
==
0
)
{
return
;
}
// 查询该类型下的所有模板
List
<
MeetingRecordTemplate
>
templateList
=
meetingRecordTemplateMapper
.
selectList
(
new
QueryWrapper
<
MeetingRecordTemplate
>()
.
select
(
"meeting_type"
)
.
eq
(
"meeting_type"
,
id
));
List
<
Long
>
templateIdList
=
templateList
.
stream
().
map
(
item
->
item
.
getMeetingType
()).
collect
(
Collectors
.
toList
());
// 删除模板的授权数据
meetTemplateEnableMapper
.
delete
(
new
QueryWrapper
<
MeetTemplateEnable
>().
in
(
"rel_id"
,
templateIdList
));
// 删除模板的启用数据
meetTemplateEnableMapper
.
delete
(
new
QueryWrapper
<
MeetTemplateEnable
>().
eq
(
"meet_type_id"
,
id
));
}
...
...
src/main/java/com/cmeeting/service/impl/MeetingRecordTemplateServiceImpl.java
浏览文件 @
21fade20
...
...
@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.util.IdUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
...
...
@@ -12,20 +13,21 @@ import com.cmeeting.ad.entity.SysUserSync;
import
com.cmeeting.ad.util.SecurityUtil
;
import
com.cmeeting.constant.RecordTemplateConstant
;
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.primary.*
;
import
com.cmeeting.mapper.secondary.SysUserSysMapper
;
import
com.cmeeting.pojo.MeetTemplateEnable
;
import
com.cmeeting.pojo.MeetingRecordTemplate
;
import
com.cmeeting.pojo.RecordTemplatePermission
;
import
com.cmeeting.service.MeetingRecordTemplateService
;
import
com.cmeeting.service.SysUserSyncService
;
import
com.cmeeting.util.MinioUtils
;
import
com.cmeeting.vo.EditRecordTemplateVo
;
import
com.cmeeting.vo.RecordTemplateVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -44,6 +46,10 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
private
RecordTemplatePermissionMapper
permissionMapper
;
@Resource
private
SysUserSysMapper
sysUserSysMapper
;
@Autowired
private
MeetTypeMapper
meetTypeMapper
;
@Autowired
private
MeetTemplateEnableMapper
meetTemplateEnableMapper
;
@Resource
private
SysUserSyncService
sysUserSyncService
;
@Value
(
value
=
"${permission.tenantId}"
)
...
...
@@ -180,7 +186,7 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
for
(
MeetingRecordTemplate
template
:
meetingRecordTemplates
)
{
UserDTO
.
TemplateAuthorizedUserDTO
resultItem
=
new
UserDTO
.
TemplateAuthorizedUserDTO
();
resultItem
.
setRecordTemplate
(
template
);
resultItem
.
setRecordTemplateId
(
template
.
getId
());
resultItem
.
setRecordTemplateId
(
template
.
getId
()
.
intValue
()
);
//该系统模板授权部门
List
<
RecordTemplatePermission
>
deptPermissions
=
permissions
.
stream
().
filter
(
item
->
"1"
.
equals
(
item
.
getRelType
())
&&
template
.
getId
().
equals
(
item
.
getTemplateId
())).
collect
(
Collectors
.
toList
());
//该系统模板授权人员
...
...
@@ -254,6 +260,100 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
}
/**
* 保存模板
*
* @param recordTemplateVo 请求参数
*/
@Override
public
void
save
(
EditRecordTemplateVo
recordTemplateVo
)
{
Date
now
=
new
Date
();
RobotSecurityUser
loginUser
=
SecurityUtil
.
getUser
();
MeetingRecordTemplate
recordTemplate
=
new
MeetingRecordTemplate
();
recordTemplate
.
setName
(
recordTemplateVo
.
getName
());
recordTemplate
.
setType
(
recordTemplateVo
.
getType
());
recordTemplate
.
setMeetingType
(
recordTemplateVo
.
getMeetingTypeId
());
recordTemplate
.
setTypeDetail
(
recordTemplateVo
.
getTypeDetail
());
recordTemplate
.
setPrompt
(
recordTemplateVo
.
getPrompt
());
recordTemplate
.
setReferTemplateId
(
recordTemplateVo
.
getReferTemplateId
());
recordTemplate
.
setCreateTime
(
now
);
recordTemplate
.
setUpdateTime
(
now
);
recordTemplate
.
setCreateUser
(
loginUser
.
getId
());
recordTemplate
.
setUpdateUser
(
loginUser
.
getId
());
recordTemplate
.
setCreateUserName
(
loginUser
.
getUsername
());
recordTemplate
.
setUpdateUserName
(
loginUser
.
getUsername
());
baseMapper
.
insert
(
recordTemplate
);
// 没有保存到启用表中,默认是不启用的。
}
/**
* 更新模板
* @param recordTemplateVo 模板参数
*/
@Override
public
void
updateById
(
EditRecordTemplateVo
recordTemplateVo
)
{
Date
now
=
new
Date
();
RobotSecurityUser
loginUser
=
SecurityUtil
.
getUser
();
MeetingRecordTemplate
recordTemplate
=
new
MeetingRecordTemplate
();
recordTemplate
.
setId
(
recordTemplateVo
.
getId
());
recordTemplate
.
setName
(
recordTemplateVo
.
getName
());
recordTemplate
.
setType
(
recordTemplateVo
.
getType
());
recordTemplate
.
setMeetingType
(
recordTemplateVo
.
getMeetingTypeId
());
recordTemplate
.
setTypeDetail
(
recordTemplateVo
.
getTypeDetail
());
recordTemplate
.
setPrompt
(
recordTemplateVo
.
getPrompt
());
recordTemplate
.
setReferTemplateId
(
recordTemplateVo
.
getReferTemplateId
());
recordTemplate
.
setUpdateTime
(
now
);
recordTemplate
.
setUpdateUser
(
loginUser
.
getId
());
recordTemplate
.
setUpdateUserName
(
loginUser
.
getUsername
());
baseMapper
.
updateById
(
recordTemplate
);
}
/**
* 启用模板
*
* @param id 模板id
*/
@Transactional
@Override
public
void
enable
(
Long
id
)
{
RobotSecurityUser
loginUser
=
SecurityUtil
.
getUser
();
String
userId
=
loginUser
.
getId
();
MeetingRecordTemplate
recordTemplate
=
baseMapper
.
selectOne
(
new
QueryWrapper
<
MeetingRecordTemplate
>().
select
(
"meeting_type"
)
.
eq
(
"rel_id"
,
id
));
Long
meetTypeId
=
recordTemplate
.
getId
();
// 根据会议类型和用户id删除已开启的模板
meetTemplateEnableMapper
.
delete
(
new
QueryWrapper
<
MeetTemplateEnable
>()
.
eq
(
"meet_type_id"
,
meetTypeId
)
.
eq
(
"user_id"
,
userId
));
// 开启模板
MeetTemplateEnable
meetTemplateEnable
=
new
MeetTemplateEnable
();
meetTemplateEnable
.
setRelId
(
id
);
meetTemplateEnable
.
setMeetTypeId
(
meetTypeId
);
meetTemplateEnable
.
setUserId
(
userId
);
meetTemplateEnableMapper
.
insert
(
meetTemplateEnable
);
}
/**
* 根据id删除会议模板
*
* @param id 模板id
*/
@Transactional
@Override
public
void
delete
(
Long
id
)
{
// 删除模板
baseMapper
.
deleteById
(
id
);
// 删除模板启用表
meetTemplateEnableMapper
.
delete
(
new
QueryWrapper
<
MeetTemplateEnable
>().
eq
(
"rel_id"
,
id
));
}
/**
* 获取部门的路径
* @param deptPath
* @param deptId
...
...
src/main/java/com/cmeeting/vo/EditRecordTemplateVo.java
0 → 100644
浏览文件 @
21fade20
package
com
.
cmeeting
.
vo
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
/**
* @Description
* @Author zhang kaishi
* @Date 2025/7/18 14:05
**/
@Data
public
class
EditRecordTemplateVo
{
// 模板id
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
UpdateGroup
.
class
,
DeleteGroup
.
class
,
EnableGroup
.
class
})
private
Long
id
;
// 会议类型id
@NotNull
(
message
=
"meetingTypeId不能为空"
,
groups
=
{
AddGroup
.
class
,
UpdateGroup
.
class
})
private
Long
meetingTypeId
;
// 模板名称
@NotEmpty
(
message
=
"name不能为空"
,
groups
=
{
AddGroup
.
class
,
UpdateGroup
.
class
})
private
String
name
;
// 参考模板id
private
Long
referTemplateId
;
// 模板描述
private
String
typeDetail
;
// 提示词
@NotEmpty
(
message
=
"prompt不能为空"
,
groups
=
{
AddGroup
.
class
,
UpdateGroup
.
class
})
private
String
prompt
;
/**
* 模板类型,system-系统创建,custom-用户创建
*/
@NotEmpty
(
message
=
"type不能为空"
,
groups
=
{
AddGroup
.
class
,
UpdateGroup
.
class
})
private
String
type
;
public
interface
AddGroup
{};
public
interface
UpdateGroup
{};
public
interface
DeleteGroup
{};
public
interface
EnableGroup
{};
}
src/main/resources/mapper/primary/MeetTemplateEnableMapper.xml
浏览文件 @
21fade20
...
...
@@ -7,11 +7,12 @@
<resultMap
id=
"BaseResultMap"
type=
"com.cmeeting.pojo.MeetTemplateEnable"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"relId"
column=
"rel_id"
/>
<result
property=
"meetTypeId"
column=
"meet_type_id"
/>
<result
property=
"userId"
column=
"user_id"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,rel_id,user_id
id,rel_id,
meet_type_id,
user_id
</sql>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论