提交 2f8568cd 作者: 张开石

1、会议类型的新增、修改接口取消对会议类型的判断

2、添加查询系统会议类型接口
父级 72ace561
......@@ -5,7 +5,6 @@ import com.cmeeting.dto.MeetTypeDto;
import com.cmeeting.service.MeetTypeService;
import com.cmeeting.util.R;
import com.cmeeting.vo.MeetingTypeVo;
import org.hibernate.validator.constraints.EAN;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
......@@ -36,10 +35,6 @@ public class MeetingTypeController {
if (MeetingTypeConstant.AUTH_TYPE_CUSTOM.equals(authType) && ObjectUtils.isEmpty(meetingTypeVo.getUserIds())) {
return R.error("userIds不能为空");
}
String type = meetingTypeVo.getType();
if (!MeetingTypeConstant.MEET_TYPE_SYSTEM.equals(type) && !MeetingTypeConstant.MEET_TYPE_CUSTOM.equals(type) ) {
return R.error("type参数错误");
}
meetTypeService.add(meetingTypeVo);
return R.ok();
......@@ -56,10 +51,6 @@ public class MeetingTypeController {
if (MeetingTypeConstant.AUTH_TYPE_CUSTOM.equals(authType) && ObjectUtils.isEmpty(meetingTypeVo.getUserIds())) {
return R.error("userIds不能为空");
}
String type = meetingTypeVo.getType();
if (!MeetingTypeConstant.MEET_TYPE_SYSTEM.equals(type) && !MeetingTypeConstant.MEET_TYPE_CUSTOM.equals(type) ) {
return R.error("type参数错误");
}
meetTypeService.update(meetingTypeVo);
return R.ok();
......@@ -76,4 +67,15 @@ public class MeetingTypeController {
return R.ok();
}
/**
* 获取系统通用的会议类型列表
*/
@GetMapping("/list/system")
public R list() {
List<MeetTypeDto> list = meetTypeService.getSystemMeetTypeList();
return R.ok(list);
}
}
package com.cmeeting.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Description
* @Author zhang kaishi
* @Date 2025/7/18 16:53
**/
@Data
public class MeetTypeDto {
// 会议类型id
private Long id;
// 类型名称
private String name;
// 会议类型,system-系统通用,custom-自定义
private String type;
// 允许用户在此类型下自定义创建模板,0-不允许,1-允许(默认)
private Integer personalPermission;
// 授权类型。0-不授权,1-授权给所有人(默认),2-自定义
private Integer authType;
// 参考类型id
private Long relId;
// 类型描述的内容
private String content;
// 会议模板
private List<RecordTemplateDTO> recordTemplateDTOList;
}
@Data
class RecordTemplateDTO {
// 模板id
private Long id;
// 模板名称
private String name;
// 模板描述
private String typeDetail;
// 模板创建时间,格式: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
package com.cmeeting.mapper.primary;
import com.cmeeting.dto.MeetTypeDto;
import com.cmeeting.pojo.MeetType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Administrator
......@@ -13,6 +17,13 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MeetTypeMapper extends BaseMapper<MeetType> {
/**
* 根据userId查询
* @return
*/
List<MeetTypeDto> selectSystemMeetTypeList(@Param("userId") String userId);
}
......
......@@ -24,11 +24,6 @@ public class MeetType {
private String name;
/**
* 会议类型,system-系统通用,custom-自定义
*/
private String type;
/**
* 逻辑删除,0-否(默认),1-是
*/
@TableLogic(delval = "1", value = "0")
......
package com.cmeeting.service;
import com.cmeeting.dto.MeetTypeDto;
import com.cmeeting.pojo.MeetType;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cmeeting.vo.MeetingTypeVo;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author Administrator
......@@ -30,4 +31,11 @@ public interface MeetTypeService extends IService<MeetType> {
* @param id 会议类型id
*/
void delete(Long id);
/**
* 获取所有会议类型
* @return
*/
List<MeetTypeDto> getSystemMeetTypeList();
}
......@@ -4,32 +4,23 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cmeeting.ad.entity.RobotSecurityUser;
import com.cmeeting.ad.util.SecurityUtil;
import com.cmeeting.constant.MeetingTypeConstant;
import com.cmeeting.constant.ModulePermissionConstant;
import com.cmeeting.dto.MeetTypeDto;
import com.cmeeting.mapper.primary.MeetTemplateEnableMapper;
import com.cmeeting.mapper.primary.MeetingRecordTemplateMapper;
import com.cmeeting.mapper.primary.ModulePermissionMapper;
import com.cmeeting.pojo.MeetTemplateEnable;
import com.cmeeting.pojo.MeetType;
import com.cmeeting.pojo.MeetingRecordTemplate;
import com.cmeeting.pojo.ModulePermission;
import com.cmeeting.service.MeetTypeService;
import com.cmeeting.mapper.primary.MeetTypeMapper;
import com.cmeeting.service.MeetingRecordTemplateService;
import com.cmeeting.service.ModulePermissionService;
import com.cmeeting.util.R;
import com.cmeeting.vo.MeetingTypeVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.Collections;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author Administrator
......@@ -55,14 +46,6 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType>
*/
@Override
public void add(MeetingTypeVo meetingTypeVo) {
if (MeetingTypeConstant.MEET_TYPE_SYSTEM.equals(meetingTypeVo.getType())) {
Integer count = meetTypeMapper.selectCount(new QueryWrapper<MeetType>().eq("type", MeetingTypeConstant.MEET_TYPE_SYSTEM));
if (count > 0) {
throw new RuntimeException("系统通用会议类型已存在");
}
}
Date now = new Date();
RobotSecurityUser loginUser = SecurityUtil.getUser();
......@@ -70,7 +53,6 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType>
MeetType meetType = new MeetType();
meetType.setName(meetingTypeVo.getName());
meetType.setType(meetingTypeVo.getType());
meetType.setPersonalPermission(meetingTypeVo.getPersonalPermission());
meetType.setAuthType(meetingTypeVo.getAuthType());
meetType.setRelId(meetingTypeVo.getRelId());
......@@ -91,20 +73,12 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType>
*/
@Override
public void update(MeetingTypeVo meetingTypeVo) {
if (MeetingTypeConstant.MEET_TYPE_SYSTEM.equals(meetingTypeVo.getType())) {
Integer count = meetTypeMapper.selectCount(new QueryWrapper<MeetType>().eq("type", MeetingTypeConstant.MEET_TYPE_SYSTEM));
if (count > 0) {
throw new RuntimeException("系统通用会议类型已存在");
}
}
Date now = new Date();
RobotSecurityUser loginUser = SecurityUtil.getUser();
MeetType meetType = new MeetType();
meetType.setId(meetingTypeVo.getId());
meetType.setName(meetingTypeVo.getName());
meetType.setType(meetingTypeVo.getType());
meetType.setPersonalPermission(meetingTypeVo.getPersonalPermission());
meetType.setAuthType(meetingTypeVo.getAuthType());
meetType.setRelId(meetingTypeVo.getRelId());
......@@ -137,6 +111,20 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType>
meetTemplateEnableMapper.delete(new QueryWrapper<MeetTemplateEnable>().eq("meet_type_id", id));
}
/**
* 获取所有会议类型
*
* @return
*/
@Override
public List<MeetTypeDto> getSystemMeetTypeList() {
RobotSecurityUser loginUser = SecurityUtil.getUser();
// 查询系统通用会议类型
List<MeetTypeDto> systemMeetTypeList = meetTypeMapper.selectSystemMeetTypeList(loginUser.getUserId());
return systemMeetTypeList;
}
}
......
......@@ -23,10 +23,6 @@ public class MeetingTypeVo {
@NotEmpty(message = "name不能为空", groups = {AddGroup.class, UpdateGroup.class})
private String name;
// 会议类型,system-系统通用,custom-自定义
@NotEmpty(message = "type不能为空", groups = {AddGroup.class, UpdateGroup.class})
private String type;
// 允许用户在此类型下自定义创建模板,0-不允许,1-允许(默认)
@Range(min = 0, max = 1, message = "personalPermission只能为0或1", groups = {AddGroup.class, UpdateGroup.class})
private Integer personalPermission;
......
......@@ -7,7 +7,6 @@
<resultMap id="BaseResultMap" type="com.cmeeting.pojo.MeetType">
<id property="id" column="id" />
<result property="name" column="name" />
<result property="type" column="type" />
<result property="isDel" column="is_del" />
<result property="personalPermission" column="personal_permission" />
<result property="authType" column="auth_type" />
......@@ -22,8 +21,41 @@
</resultMap>
<sql id="Base_Column_List">
id, `name`, `type`, is_del, personal_permission, auth_type, rel_id,
id, `name`, is_del, personal_permission, auth_type, rel_id,
content, create_time, update_time, create_user, update_user, create_user_name, update_user_name
</sql>
<resultMap id="MeetTypeDtoResultMap" type="com.cmeeting.dto.MeetTypeDto">
<id property="id" column="meeting_type_id" />
<result property="name" column="meeting_type_name" />
<result property="content" column="meeting_type_content" />
<collection property="recordTemplateDTOList" javaType="List" ofType="com.cmeeting.dto.RecordTemplateDTO">
<id property="id" column="template_id" />
<result property="name" column="template_name" />
<result property="typeDetail" column="template_type_detail" />
<result property="createTime" column="template_create_time" />
<result property="enable" column="template_enabled" />
</collection>
</resultMap>
<select id="selectSystemMeetTypeList" resultMap="MeetTypeDtoResultMap">
SELECT
meet_type.id AS meeting_type_id,
meet_type.`name` AS meeting_type_name,
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.create_time AS template_create_time,
IF(meet_template_enable.id IS NULL, 0, 1) AS template_enabled
FROM
meet_type
LEFT JOIN cmt_meeting_record_template ON cmt_meeting_record_template.meeting_type = meet_type.id
AND cmt_meeting_record_template.is_del = 0
LEFT JOIN meet_template_enable ON cmt_meeting_record_template.id = meet_template_enable.rel_id
AND meet_template_enable.user_id = #{userId}
WHERE
meet_type.is_del = 0
and cmt_meeting_record_template.`type` = 'system'
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论