提交 3f48c479 作者: 张开石

1、修改获取会议列表接口bug

父级 314a0327
...@@ -14,6 +14,8 @@ public class RecordTemplateDto { ...@@ -14,6 +14,8 @@ public class RecordTemplateDto {
private Long id; private Long id;
// 模板名称 // 模板名称
private String name; private String name;
// 模板类型
private String type;
// 模板描述 // 模板描述
private String typeDetail; private String typeDetail;
// 生成模板的提示词 // 生成模板的提示词
......
...@@ -389,35 +389,85 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT ...@@ -389,35 +389,85 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
*/ */
@Override @Override
public List<MeetTypeDto> getMeetTypeList(String userId, List<String> parentDeptIdList) { public List<MeetTypeDto> getMeetTypeList(String userId, List<String> parentDeptIdList) {
List<MeetTypeDto> resultList = new ArrayList<>();
// 查询指定授权的模板 - 从会议类型维度查询 // 查询指定授权的模板 - 从会议类型维度查询
List<MeetTypeDto> permissionTmplInMeetTypeDtoList = baseMapper.selectPermissionTmplInMeetType(userId, parentDeptIdList); List<MeetTypeDto> permissionTmplInMeetTypeDtoList = baseMapper.selectPermissionTmplInMeetType(userId, parentDeptIdList);
permissionTmplInMeetTypeDtoList.stream().forEach(meetTypeDto -> { permissionTmplInMeetTypeDtoList.stream().forEach(meetTypeDto -> {
meetTypeDto.getRecordTemplateDTOList().removeIf(template -> ObjectUtils.isEmpty(template.getId())); meetTypeDto.getRecordTemplateDTOList().removeIf(template -> ObjectUtils.isEmpty(template.getId()));
}); });
resultList.addAll(permissionTmplInMeetTypeDtoList);
// 查询指定授权的模板 - 从纪要模板维度查询 // 查询指定授权的模板 - 从纪要模板维度查询
List<MeetTypeDto> permissionDeptTmplDtoList = baseMapper.selectPermissionTmpl(userId, parentDeptIdList); List<MeetTypeDto> permissionDeptTmplDtoList = baseMapper.selectPermissionTmpl(userId, parentDeptIdList);
permissionDeptTmplDtoList.stream().forEach(meetTypeDto -> { permissionDeptTmplDtoList.stream().forEach(meetTypeDto -> {
meetTypeDto.getRecordTemplateDTOList().removeIf(template -> ObjectUtils.isEmpty(template.getId())); meetTypeDto.getRecordTemplateDTOList().removeIf(template -> ObjectUtils.isEmpty(template.getId()));
}); });
resultList.addAll(permissionDeptTmplDtoList);
// 合并 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);
}
}
// 获取非授权的模板,包括系统通用的和自己创建的 // 获取非授权的模板,包括系统通用的和自己创建的
List<MeetTypeDto> recordTemplateDtoList = baseMapper.selectAllTmplWithoutPermission(userId); List<MeetTypeDto> recordTemplateDtoList = baseMapper.selectAllTmplWithoutPermission(userId);
permissionDeptTmplDtoList.stream().forEach(meetTypeDto -> { permissionDeptTmplDtoList.stream().forEach(meetTypeDto -> {
meetTypeDto.getRecordTemplateDTOList().removeIf(template -> ObjectUtils.isEmpty(template.getId())); meetTypeDto.getRecordTemplateDTOList().removeIf(template -> ObjectUtils.isEmpty(template.getId()));
}); });
resultList.addAll(recordTemplateDtoList);
// 去重 // 合并 recordTemplateDtoList 到 permissionTmplInMeetTypeDtoList
TreeSet<MeetTypeDto> treeSet = new TreeSet<>(Comparator.comparingLong(MeetTypeDto::getId)); for (MeetTypeDto deptDto : recordTemplateDtoList) {
treeSet.addAll(resultList); boolean exists = false;
resultList = new ArrayList<>(treeSet); 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);
}
}
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);
}
});
return resultList; permissionTmplInMeetTypeDtoList.sort((a, b) -> {
if (MeetingTypeConstant.TYPE_SYSTEM.equals(a.getType()) && !MeetingTypeConstant.TYPE_SYSTEM.equals(b.getType())) {
return -1; // a 在前
} else if (!MeetingTypeConstant.TYPE_SYSTEM.equals(a.getType()) && MeetingTypeConstant.TYPE_SYSTEM.equals(b.getType())) {
return 1; // b 在前
}
return 0; // 保持原有顺序
});
for (MeetTypeDto meetTypeDto : permissionTmplInMeetTypeDtoList) {
meetTypeDto.getRecordTemplateDTOList().sort(Comparator.comparing(RecordTemplateDto::getCreateTime));
}
return permissionTmplInMeetTypeDtoList;
} }
/** /**
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
cmt_meeting_record_template.id as template_id, cmt_meeting_record_template.id as template_id,
cmt_meeting_record_template.name as template_name, cmt_meeting_record_template.name as template_name,
cmt_meeting_record_template.`type` as template_type_type,
cmt_meeting_record_template.type_detail as template_type_detail, cmt_meeting_record_template.type_detail as template_type_detail,
cmt_meeting_record_template.create_time AS template_create_time, cmt_meeting_record_template.create_time AS template_create_time,
cmt_meeting_record_template.prompt as template_prompt, cmt_meeting_record_template.prompt as template_prompt,
...@@ -34,6 +35,7 @@ ...@@ -34,6 +35,7 @@
<collection property="recordTemplateDTOList" javaType="List" ofType="com.cmeeting.dto.RecordTemplateDto"> <collection property="recordTemplateDTOList" javaType="List" ofType="com.cmeeting.dto.RecordTemplateDto">
<id property="id" column="template_id" /> <id property="id" column="template_id" />
<result property="name" column="template_name" /> <result property="name" column="template_name" />
<result property="type" column="template_type_type" />
<result property="typeDetail" column="template_type_detail" /> <result property="typeDetail" column="template_type_detail" />
<result property="createTime" column="template_create_time" /> <result property="createTime" column="template_create_time" />
<result property="enable" column="template_enabled" /> <result property="enable" column="template_enabled" />
...@@ -141,9 +143,9 @@ ...@@ -141,9 +143,9 @@
left join cmt_meeting_record_template on meet_type.id = cmt_meeting_record_template.meeting_type and cmt_meeting_record_template.is_del = 0 left join cmt_meeting_record_template on meet_type.id = cmt_meeting_record_template.meeting_type and cmt_meeting_record_template.is_del = 0
and cmt_meeting_record_template.type = 'custom' and cmt_meeting_record_template.type = 'custom'
left join module_permission on module_permission.target_id = cmt_meeting_record_template.id and module_permission.type = 1 left join module_permission on module_permission.target_id = cmt_meeting_record_template.id and module_permission.type = 1
and module_permission.purpose = 2 and module_permission.purpose = 2 and module_permission.rel_id = 'all'
LEFT JOIN meet_template_enable ON cmt_meeting_record_template.id = meet_template_enable.rel_id LEFT JOIN meet_template_enable ON cmt_meeting_record_template.id = meet_template_enable.rel_id
AND meet_template_enable.user_id = #{userId} and module_permission.rel_id = 'all' AND meet_template_enable.user_id = #{userId}
where where
meet_type.is_del = 0 meet_type.is_del = 0
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论