提交 93b1ae6c 作者: 洪东保

模板和类型查询接口

父级 0f0d7028
......@@ -61,7 +61,7 @@ public class MeetingTypeController {
}
/**
* 获取系统通用的会议类型列表
* 会议类型列表
*/
@GetMapping("/list")
public R list() {
......
......@@ -20,8 +20,6 @@ public class MeetTypeDto {
private Long id;
// 类型名称
private String name;
// 会议类型,system-系统通用,custom-自定义
private String type;
// 允许用户在此类型下自定义创建模板,0-不允许,1-允许(默认)
private Integer personalPermission;
// 授权类型。0-不授权,1-授权给所有人(默认),2-自定义
......
......@@ -66,4 +66,9 @@ public interface MeetingRecordTemplateMapper extends BaseMapper<MeetingRecordTem
*/
MeetTypeDto selectEnabledSystemTemplate();
/**
* @param type system 超管 / custom个人
* @return
*/
List<MeetTypeDto> selectTemplate(String type);
}
\ No newline at end of file
......@@ -394,6 +394,10 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
*/
@Override
public List<MeetTypeDto> getMeetTypeList(String userId, List<String> parentDeptIdList, String role) {
if (role.equals(RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM)) {
return baseMapper.selectTemplate(RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM);
}
// 查询指定授权的模板 - 从会议类型维度查询
List<MeetTypeDto> permissionTmplInMeetTypeDtoList = baseMapper.selectPermissionTmplInMeetType(userId, parentDeptIdList);
......@@ -457,25 +461,12 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
boolean systemType = meetTypeDto.getRecordTemplateDTOList().stream()
.anyMatch(template -> RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM.equals(template.getType()));
if (systemType) {
meetTypeDto.setType(MeetingTypeConstant.TYPE_SYSTEM);
// meetTypeDto.setType(MeetingTypeConstant.TYPE_SYSTEM);
} else {
meetTypeDto.setType(MeetingTypeConstant.TYPE_CUSTOM);
// meetTypeDto.setType(MeetingTypeConstant.TYPE_CUSTOM);
}
});
// 对会议类型排序
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 在前
} else if (a.getCreateTime().before(b.getCreateTime())) {
return -1; // a 在前
} else if (a.getCreateTime().after(b.getCreateTime())) {
return 1; // b 在前
}
return 0; // 保持原有顺序
});
// 对纪要模板排序
for (MeetTypeDto meetTypeDto : permissionTmplInMeetTypeDtoList) {
meetTypeDto.getRecordTemplateDTOList().sort(Comparator.comparing(RecordTemplateDto::getCreateTime));
......@@ -483,8 +474,8 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
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());
// MeetTypeDto dto1 = permissionTmplInMeetTypeDtoList.stream().filter(dto -> dto.getType().equals(MeetingTypeConstant.TYPE_SYSTEM)).findFirst().get();
// dto1.getRecordTemplateDTOList().removeIf(template -> !template.getEnable());
}
return permissionTmplInMeetTypeDtoList;
}
......
......@@ -235,4 +235,41 @@
and cmt_meeting_record_template.type = 'system'
and cmt_meeting_record_template.id = meet_template_enable.rel_id
</select>
<resultMap id="recordTemplateMap" type="com.cmeeting.dto.RecordTemplateDto">
<id property="id" column="temp_id"/>
<result property="name" column="template_name"/>
<result property="type" column="type"/>
<result property="typeDetail" column="type_detail"/>
<result property="prompt" column="prompt"/>
<result property="referTemplateId" column="refer_template_id"/>
<result property="enable" column="enable"/>
<result property="meetingTypeName" column="type_name"/>
<result property="createTime" column="template_create_time"/>
<result property="createUser" column="template_create_user"/>
</resultMap>
<resultMap id="meetTypeWithRecordsMap" type="com.cmeeting.dto.MeetTypeDto">
<id property="id" column="type_id"/>
<result property="name" column="type_name"/>
<result property="personalPermission" column="personal_permission"/>
<result property="authType" column="auth_type"/>
<result property="relId" column="rel_type_id"/>
<result property="content" column="type_content"/>
<result property="createTime" column="type_create_time"/>
<result property="createUser" column="type_create_user"/>
<collection property="recordTemplateDTOList" ofType="com.cmeeting.dto.RecordTemplateDto" resultMap="recordTemplateMap"
javaType="java.util.List" column="id"/>
</resultMap>
<select id="selectTemplate" 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.enable,
t2.create_user as template_create_user, t2.create_time as template_create_time
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 = #{type}
where t1.is_del = 0
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论