提交 2f8568cd 作者: 张开石

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

2、添加查询系统会议类型接口
父级 72ace561
...@@ -5,7 +5,6 @@ import com.cmeeting.dto.MeetTypeDto; ...@@ -5,7 +5,6 @@ import com.cmeeting.dto.MeetTypeDto;
import com.cmeeting.service.MeetTypeService; import com.cmeeting.service.MeetTypeService;
import com.cmeeting.util.R; import com.cmeeting.util.R;
import com.cmeeting.vo.MeetingTypeVo; import com.cmeeting.vo.MeetingTypeVo;
import org.hibernate.validator.constraints.EAN;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -36,10 +35,6 @@ public class MeetingTypeController { ...@@ -36,10 +35,6 @@ public class MeetingTypeController {
if (MeetingTypeConstant.AUTH_TYPE_CUSTOM.equals(authType) && ObjectUtils.isEmpty(meetingTypeVo.getUserIds())) { if (MeetingTypeConstant.AUTH_TYPE_CUSTOM.equals(authType) && ObjectUtils.isEmpty(meetingTypeVo.getUserIds())) {
return R.error("userIds不能为空"); 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); meetTypeService.add(meetingTypeVo);
return R.ok(); return R.ok();
...@@ -56,10 +51,6 @@ public class MeetingTypeController { ...@@ -56,10 +51,6 @@ public class MeetingTypeController {
if (MeetingTypeConstant.AUTH_TYPE_CUSTOM.equals(authType) && ObjectUtils.isEmpty(meetingTypeVo.getUserIds())) { if (MeetingTypeConstant.AUTH_TYPE_CUSTOM.equals(authType) && ObjectUtils.isEmpty(meetingTypeVo.getUserIds())) {
return R.error("userIds不能为空"); 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); meetTypeService.update(meetingTypeVo);
return R.ok(); return R.ok();
...@@ -76,4 +67,15 @@ public class MeetingTypeController { ...@@ -76,4 +67,15 @@ public class MeetingTypeController {
return R.ok(); 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; package com.cmeeting.mapper.primary;
import com.cmeeting.dto.MeetTypeDto;
import com.cmeeting.pojo.MeetType; import com.cmeeting.pojo.MeetType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* @author Administrator * @author Administrator
...@@ -13,6 +17,13 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -13,6 +17,13 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface MeetTypeMapper extends BaseMapper<MeetType> { public interface MeetTypeMapper extends BaseMapper<MeetType> {
/**
* 根据userId查询
* @return
*/
List<MeetTypeDto> selectSystemMeetTypeList(@Param("userId") String userId);
} }
......
...@@ -24,11 +24,6 @@ public class MeetType { ...@@ -24,11 +24,6 @@ public class MeetType {
private String name; private String name;
/** /**
* 会议类型,system-系统通用,custom-自定义
*/
private String type;
/**
* 逻辑删除,0-否(默认),1-是 * 逻辑删除,0-否(默认),1-是
*/ */
@TableLogic(delval = "1", value = "0") @TableLogic(delval = "1", value = "0")
......
package com.cmeeting.service; package com.cmeeting.service;
import com.cmeeting.dto.MeetTypeDto;
import com.cmeeting.pojo.MeetType; import com.cmeeting.pojo.MeetType;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.cmeeting.vo.MeetingTypeVo; import com.cmeeting.vo.MeetingTypeVo;
import javax.validation.constraints.NotNull; import java.util.List;
/** /**
* @author Administrator * @author Administrator
...@@ -30,4 +31,11 @@ public interface MeetTypeService extends IService<MeetType> { ...@@ -30,4 +31,11 @@ public interface MeetTypeService extends IService<MeetType> {
* @param id 会议类型id * @param id 会议类型id
*/ */
void delete(Long id); void delete(Long id);
/**
* 获取所有会议类型
* @return
*/
List<MeetTypeDto> getSystemMeetTypeList();
} }
...@@ -4,32 +4,23 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -4,32 +4,23 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cmeeting.ad.entity.RobotSecurityUser; import com.cmeeting.ad.entity.RobotSecurityUser;
import com.cmeeting.ad.util.SecurityUtil; import com.cmeeting.ad.util.SecurityUtil;
import com.cmeeting.constant.MeetingTypeConstant;
import com.cmeeting.constant.ModulePermissionConstant;
import com.cmeeting.dto.MeetTypeDto; import com.cmeeting.dto.MeetTypeDto;
import com.cmeeting.mapper.primary.MeetTemplateEnableMapper; import com.cmeeting.mapper.primary.MeetTemplateEnableMapper;
import com.cmeeting.mapper.primary.MeetingRecordTemplateMapper; import com.cmeeting.mapper.primary.MeetingRecordTemplateMapper;
import com.cmeeting.mapper.primary.ModulePermissionMapper;
import com.cmeeting.pojo.MeetTemplateEnable; import com.cmeeting.pojo.MeetTemplateEnable;
import com.cmeeting.pojo.MeetType; import com.cmeeting.pojo.MeetType;
import com.cmeeting.pojo.MeetingRecordTemplate; import com.cmeeting.pojo.MeetingRecordTemplate;
import com.cmeeting.pojo.ModulePermission;
import com.cmeeting.service.MeetTypeService; import com.cmeeting.service.MeetTypeService;
import com.cmeeting.mapper.primary.MeetTypeMapper; 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 com.cmeeting.vo.MeetingTypeVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; 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.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author Administrator * @author Administrator
...@@ -55,14 +46,6 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType> ...@@ -55,14 +46,6 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType>
*/ */
@Override @Override
public void add(MeetingTypeVo meetingTypeVo) { 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(); Date now = new Date();
RobotSecurityUser loginUser = SecurityUtil.getUser(); RobotSecurityUser loginUser = SecurityUtil.getUser();
...@@ -70,7 +53,6 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType> ...@@ -70,7 +53,6 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType>
MeetType meetType = new MeetType(); MeetType meetType = new MeetType();
meetType.setName(meetingTypeVo.getName()); meetType.setName(meetingTypeVo.getName());
meetType.setType(meetingTypeVo.getType());
meetType.setPersonalPermission(meetingTypeVo.getPersonalPermission()); meetType.setPersonalPermission(meetingTypeVo.getPersonalPermission());
meetType.setAuthType(meetingTypeVo.getAuthType()); meetType.setAuthType(meetingTypeVo.getAuthType());
meetType.setRelId(meetingTypeVo.getRelId()); meetType.setRelId(meetingTypeVo.getRelId());
...@@ -91,20 +73,12 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType> ...@@ -91,20 +73,12 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType>
*/ */
@Override @Override
public void update(MeetingTypeVo meetingTypeVo) { 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(); Date now = new Date();
RobotSecurityUser loginUser = SecurityUtil.getUser(); RobotSecurityUser loginUser = SecurityUtil.getUser();
MeetType meetType = new MeetType(); MeetType meetType = new MeetType();
meetType.setId(meetingTypeVo.getId()); meetType.setId(meetingTypeVo.getId());
meetType.setName(meetingTypeVo.getName()); meetType.setName(meetingTypeVo.getName());
meetType.setType(meetingTypeVo.getType());
meetType.setPersonalPermission(meetingTypeVo.getPersonalPermission()); meetType.setPersonalPermission(meetingTypeVo.getPersonalPermission());
meetType.setAuthType(meetingTypeVo.getAuthType()); meetType.setAuthType(meetingTypeVo.getAuthType());
meetType.setRelId(meetingTypeVo.getRelId()); meetType.setRelId(meetingTypeVo.getRelId());
...@@ -137,6 +111,20 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType> ...@@ -137,6 +111,20 @@ public class MeetTypeServiceImpl extends ServiceImpl<MeetTypeMapper, MeetType>
meetTemplateEnableMapper.delete(new QueryWrapper<MeetTemplateEnable>().eq("meet_type_id", id)); 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 { ...@@ -23,10 +23,6 @@ public class MeetingTypeVo {
@NotEmpty(message = "name不能为空", groups = {AddGroup.class, UpdateGroup.class}) @NotEmpty(message = "name不能为空", groups = {AddGroup.class, UpdateGroup.class})
private String name; private String name;
// 会议类型,system-系统通用,custom-自定义
@NotEmpty(message = "type不能为空", groups = {AddGroup.class, UpdateGroup.class})
private String type;
// 允许用户在此类型下自定义创建模板,0-不允许,1-允许(默认) // 允许用户在此类型下自定义创建模板,0-不允许,1-允许(默认)
@Range(min = 0, max = 1, message = "personalPermission只能为0或1", groups = {AddGroup.class, UpdateGroup.class}) @Range(min = 0, max = 1, message = "personalPermission只能为0或1", groups = {AddGroup.class, UpdateGroup.class})
private Integer personalPermission; private Integer personalPermission;
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
<resultMap id="BaseResultMap" type="com.cmeeting.pojo.MeetType"> <resultMap id="BaseResultMap" type="com.cmeeting.pojo.MeetType">
<id property="id" column="id" /> <id property="id" column="id" />
<result property="name" column="name" /> <result property="name" column="name" />
<result property="type" column="type" />
<result property="isDel" column="is_del" /> <result property="isDel" column="is_del" />
<result property="personalPermission" column="personal_permission" /> <result property="personalPermission" column="personal_permission" />
<result property="authType" column="auth_type" /> <result property="authType" column="auth_type" />
...@@ -22,8 +21,41 @@ ...@@ -22,8 +21,41 @@
</resultMap> </resultMap>
<sql id="Base_Column_List"> <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 content, create_time, update_time, create_user, update_user, create_user_name, update_user_name
</sql> </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> </mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论