提交 b44968b6 作者: 洪东保

模板页面list接口

父级 7c7a46d8
package com.cmeeting.constant;
public interface AuthTypeConstant {
/**
* 不自动授权
*/
Integer NO_AUTH = 0;
/**
* 授权给所有人
*/
Integer ALL = 1;
/**
* 授权选择的人
*/
Integer SELECT = 2;
}
......@@ -72,6 +72,8 @@ public interface MeetingRecordTemplateMapper extends BaseMapper<MeetingRecordTem
*/
List<MeetTypeDto> selectTemplate(String type);
List<MeetTypeDto> selectCustomTemplate(String userId);
/**
* 停用系统模板
* @param meetTypeId
......
package com.cmeeting.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
......@@ -11,8 +12,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cmeeting.ad.entity.RobotSecurityUser;
import com.cmeeting.ad.entity.SysUserSync;
import com.cmeeting.ad.util.SecurityUtil;
import com.cmeeting.constant.AuthTypeConstant;
import com.cmeeting.constant.CommonConstant;
import com.cmeeting.constant.MeetingTypeConstant;
import com.cmeeting.constant.PermissionPruposeType;
import com.cmeeting.constant.RecordTemplateConstant;
import com.cmeeting.dto.MeetTypeDto;
import com.cmeeting.dto.RecordTemplateDto;
......@@ -22,6 +25,7 @@ import com.cmeeting.mapper.primary.*;
import com.cmeeting.mapper.secondary.SysUserSysMapper;
import com.cmeeting.pojo.*;
import com.cmeeting.service.MeetingRecordTemplateService;
import com.cmeeting.service.ModulePermissionService;
import com.cmeeting.service.SysUserSyncService;
import com.cmeeting.util.MinioUtils;
import com.cmeeting.vo.EditRecordTemplateVo;
......@@ -41,7 +45,7 @@ import java.util.*;
import java.util.stream.Collectors;
@Service
public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordTemplateMapper, MeetingRecordTemplate> implements MeetingRecordTemplateService {
public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordTemplateMapper, MeetingRecordTemplate> implements MeetingRecordTemplateService {
@Autowired
private MinioUtils minioUtils;
......@@ -54,6 +58,8 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
@Autowired
private MeetTemplateEnableMapper meetTemplateEnableMapper;
@Resource
private ModulePermissionService modulePermissionService;
@Resource
private SysUserSyncService sysUserSyncService;
@Value(value = "${permission.tenantId}")
private String permissionTenantId;
......@@ -73,34 +79,34 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
Integer size = vo.getSize();
//查出所有系统模板
LambdaQueryWrapper<MeetingRecordTemplate> systemQueryWrapper = new LambdaQueryWrapper<>();
systemQueryWrapper.eq(MeetingRecordTemplate::getIsDel,Boolean.FALSE);
systemQueryWrapper.eq(MeetingRecordTemplate::getType,RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM);
systemQueryWrapper.like(vo.getName() != null,MeetingRecordTemplate::getName,vo.getName());
systemQueryWrapper.like(vo.getMeetingType() != null,MeetingRecordTemplate::getMeetingType,vo.getMeetingType());
systemQueryWrapper.like(StringUtils.isNotEmpty(vo.getCreateUser()),MeetingRecordTemplate::getCreateUserName,vo.getCreateUser());
systemQueryWrapper.between(vo.getStartTime() != null && vo.getEndTime() != null,MeetingRecordTemplate::getUpdateTime,vo.getStartTime(),vo.getEndTime());
systemQueryWrapper.eq(MeetingRecordTemplate::getIsDel, Boolean.FALSE);
systemQueryWrapper.eq(MeetingRecordTemplate::getType, RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM);
systemQueryWrapper.like(vo.getName() != null, MeetingRecordTemplate::getName, vo.getName());
systemQueryWrapper.like(vo.getMeetingType() != null, MeetingRecordTemplate::getMeetingType, vo.getMeetingType());
systemQueryWrapper.like(StringUtils.isNotEmpty(vo.getCreateUser()), MeetingRecordTemplate::getCreateUserName, vo.getCreateUser());
systemQueryWrapper.between(vo.getStartTime() != null && vo.getEndTime() != null, MeetingRecordTemplate::getUpdateTime, vo.getStartTime(), vo.getEndTime());
systemQueryWrapper.orderByDesc(MeetingRecordTemplate::getId);
List<MeetingRecordTemplate> systemTemplateList = baseMapper.selectList(systemQueryWrapper);
//用户可见的系统模板权限
List<MeetingRecordTemplate> authorizedSystemTemplateList = new ArrayList<>();
Map<Integer, List<String>> authorizedUserMap = selectAuthorizedUsers().stream().collect(Collectors.toMap(item -> item.getRecordTemplateId(), item -> item.getUserIdList()));
for (MeetingRecordTemplate systemTemplate : systemTemplateList) {
if(authorizedUserMap.containsKey(systemTemplate.getId())){
if (authorizedUserMap.containsKey(systemTemplate.getId())) {
List<String> authorizedUserIds = authorizedUserMap.get(systemTemplate.getId());
if(authorizedUserIds.contains(user.getId()))
if (authorizedUserIds.contains(user.getId()))
authorizedSystemTemplateList.add(systemTemplate);
}
}
//查出用户个人的自定义模板
LambdaQueryWrapper<MeetingRecordTemplate> customQueryWrapper = new LambdaQueryWrapper<>();
customQueryWrapper.eq(MeetingRecordTemplate::getIsDel,Boolean.FALSE);
customQueryWrapper.eq(MeetingRecordTemplate::getType,RecordTemplateConstant.TEMPLATE_TYPE_CUSTOM);
customQueryWrapper.eq(MeetingRecordTemplate::getIsDel, Boolean.FALSE);
customQueryWrapper.eq(MeetingRecordTemplate::getType, RecordTemplateConstant.TEMPLATE_TYPE_CUSTOM);
customQueryWrapper.eq(MeetingRecordTemplate::getCreateUser, user.getId());
customQueryWrapper.like(vo.getName() != null,MeetingRecordTemplate::getName,vo.getName());
customQueryWrapper.like(vo.getMeetingType() != null,MeetingRecordTemplate::getMeetingType,vo.getMeetingType());
customQueryWrapper.like(StringUtils.isNotEmpty(vo.getCreateUser()),MeetingRecordTemplate::getCreateUserName,vo.getCreateUser());
customQueryWrapper.between(vo.getStartTime() != null && vo.getEndTime() != null,MeetingRecordTemplate::getUpdateTime,vo.getStartTime(),vo.getEndTime());
customQueryWrapper.like(vo.getName() != null, MeetingRecordTemplate::getName, vo.getName());
customQueryWrapper.like(vo.getMeetingType() != null, MeetingRecordTemplate::getMeetingType, vo.getMeetingType());
customQueryWrapper.like(StringUtils.isNotEmpty(vo.getCreateUser()), MeetingRecordTemplate::getCreateUserName, vo.getCreateUser());
customQueryWrapper.between(vo.getStartTime() != null && vo.getEndTime() != null, MeetingRecordTemplate::getUpdateTime, vo.getStartTime(), vo.getEndTime());
customQueryWrapper.orderByDesc(MeetingRecordTemplate::getId);
List<MeetingRecordTemplate> customTemplateList = baseMapper.selectList(customQueryWrapper);
......@@ -108,7 +114,7 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
resultList.addAll(authorizedSystemTemplateList);
resultList.addAll(customTemplateList);
List<MeetingRecordTemplate> records = getUsersByOffset(resultList, current, size);
if(!CollectionUtils.isEmpty(records)){
if (!CollectionUtils.isEmpty(records)) {
List<SysUserSync> simpleUserList = sysUserSysMapper.getSimpleUserList(user.getTenantId());
Map<String, String> simpleUserMap = CollectionUtils.isEmpty(simpleUserList)
? new HashMap<>() : simpleUserList.stream().collect(Collectors.toMap(SysUserSync::getUserId, SysUserSync::getName));
......@@ -127,6 +133,7 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
/**
* 上传附件模板到minio
*
* @param file
* @param id
* @return
......@@ -145,9 +152,9 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
String uuid = IdUtil.fastSimpleUUID();
String originalFilePath = separator + nowDate + separator + uuid + point + originalSuffix;
// 获取文件流
try(InputStream is = file.getInputStream()){
minioUtils.upload(originalFilePath,is);
}catch (Exception e){
try (InputStream is = file.getInputStream()) {
minioUtils.upload(originalFilePath, is);
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
detail.setTemplate(originalFilePath);
......@@ -157,6 +164,7 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
/**
* 获取模板授权的人员
*
* @return
*/
@Override
......@@ -177,19 +185,19 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
List<RecordTemplatePermission> userPermissions = permissions.stream().filter(item -> "2".equals(item.getRelType()) && template.getId().equals(item.getTemplateId())).collect(Collectors.toList());
List<String> authorizedUsers = new ArrayList<>();
if(!CollectionUtils.isEmpty(userPermissions)){
if (!CollectionUtils.isEmpty(userPermissions)) {
for (RecordTemplatePermission userPermission : userPermissions) {
authorizedUsers.add(userPermission.getRelId());
}
}
if(!CollectionUtils.isEmpty(deptPermissions)){
if (!CollectionUtils.isEmpty(deptPermissions)) {
List<String> deptPath = new ArrayList<>();
for (RecordTemplatePermission deptPermission : deptPermissions) {
String deptId = deptPermission.getRelId();
getDeptPath(deptPath,deptId,permissionTenantId);
getDeptPath(deptPath, deptId, permissionTenantId);
}
List<String> usersByDept = sysUserSysMapper.getUsersByDept(deptPath,permissionTenantId);
if(!CollectionUtils.isEmpty(usersByDept))
List<String> usersByDept = sysUserSysMapper.getUsersByDept(deptPath, permissionTenantId);
if (!CollectionUtils.isEmpty(usersByDept))
authorizedUsers.addAll(usersByDept);
}
resultItem.setUserIdList(authorizedUsers);
......@@ -203,21 +211,21 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
RobotSecurityUser user = SecurityUtil.getUser();
//查出所有系统模板
LambdaQueryWrapper<MeetingRecordTemplate> systemQueryWrapper = new LambdaQueryWrapper<>();
systemQueryWrapper.eq(MeetingRecordTemplate::getIsDel,Boolean.FALSE);
systemQueryWrapper.eq(MeetingRecordTemplate::getType,RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM);
systemQueryWrapper.like(vo.getName() != null,MeetingRecordTemplate::getName,vo.getName());
systemQueryWrapper.like(vo.getMeetingType() != null,MeetingRecordTemplate::getMeetingType,vo.getMeetingType());
systemQueryWrapper.eq(MeetingRecordTemplate::getIsDel, Boolean.FALSE);
systemQueryWrapper.eq(MeetingRecordTemplate::getType, RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM);
systemQueryWrapper.like(vo.getName() != null, MeetingRecordTemplate::getName, vo.getName());
systemQueryWrapper.like(vo.getMeetingType() != null, MeetingRecordTemplate::getMeetingType, vo.getMeetingType());
systemQueryWrapper.orderByDesc(MeetingRecordTemplate::getId);
List<MeetingRecordTemplate> systemTemplateList = baseMapper.selectList(systemQueryWrapper);
if(CollectionUtils.isEmpty(systemTemplateList)) return new ArrayList<>();
if (CollectionUtils.isEmpty(systemTemplateList)) return new ArrayList<>();
//用户可见的系统模板权限
List<MeetingRecordTemplate> records = new ArrayList<>();
//查出所有系统模板授权人员信息
List<RecordTemplatePermission> userPermissions = permissionMapper.selectList(new LambdaQueryWrapper<RecordTemplatePermission>()
.eq(RecordTemplatePermission::getTemplateType, RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM)
.eq(RecordTemplatePermission::getRelId,user.getId())
.eq(RecordTemplatePermission::getRelType,RecordTemplateConstant.REL_TYPE_USER)
.eq(RecordTemplatePermission::getRelId, user.getId())
.eq(RecordTemplatePermission::getRelType, RecordTemplateConstant.REL_TYPE_USER)
);
//当前登录人员被直接授权的模板
List<Integer> templateIdsAccepted = CollectionUtils.isEmpty(userPermissions)
......@@ -225,18 +233,18 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
//查出所有系统模板授权部门信息
List<RecordTemplatePermission> deptPermissions = permissionMapper.selectList(new LambdaQueryWrapper<RecordTemplatePermission>()
.eq(RecordTemplatePermission::getTemplateType, RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM)
.eq(RecordTemplatePermission::getRelId,user.getId())
.eq(RecordTemplatePermission::getRelType,RecordTemplateConstant.REL_TYPE_DEPT));
.eq(RecordTemplatePermission::getTemplateType, RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM)
.eq(RecordTemplatePermission::getRelId, user.getId())
.eq(RecordTemplatePermission::getRelType, RecordTemplateConstant.REL_TYPE_DEPT));
//查出当前登录人的部门向上路径
String deptPathByUser = sysUserSyncService.getDeptPathByUserId(user.getId());
if(StringUtils.isNotEmpty(deptPathByUser) && !CollectionUtils.isEmpty(deptPermissions)){
if (StringUtils.isNotEmpty(deptPathByUser) && !CollectionUtils.isEmpty(deptPermissions)) {
List<Integer> templateIdsDeptAccepted = deptPermissions.stream().filter(item -> deptPathByUser.contains(item.getRelId()))
.map(RecordTemplatePermission::getTemplateId).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(templateIdsDeptAccepted)) templateIdsAccepted.addAll(templateIdsDeptAccepted);
if (!CollectionUtils.isEmpty(templateIdsDeptAccepted)) templateIdsAccepted.addAll(templateIdsDeptAccepted);
}
for (MeetingRecordTemplate template : systemTemplateList) {
if(templateIdsAccepted.contains(template.getId())){
if (templateIdsAccepted.contains(template.getId())) {
records.add(template);
}
}
......@@ -283,9 +291,9 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
}
/**
* 更新模板
*
* @param recordTemplateVo 模板参数
*/
@Override
......@@ -375,11 +383,11 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
List<MeetTypeDto> meetTypeList = getMeetTypeList(String.format("%08d", loginUser.getUserId()), parentDeptIdList, loginUser.getRole());
List<RecordTemplateDto> allRecordTemplates = meetTypeList.stream()
.map(MeetTypeDto::getRecordTemplateDTOList)
.filter(Objects::nonNull)
.flatMap(List::stream)
.filter(template -> !ObjectUtils.isEmpty(template.getId()))
.collect(Collectors.toList());
.map(MeetTypeDto::getRecordTemplateDTOList)
.filter(Objects::nonNull)
.flatMap(List::stream)
.filter(template -> !ObjectUtils.isEmpty(template.getId()))
.collect(Collectors.toList());
return allRecordTemplates;
}
......@@ -417,105 +425,48 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
if (role.equals(RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM)) {
return baseMapper.selectTemplate(RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM);
}
// 查询指定授权的模板 - 从会议类型维度查询
List<MeetTypeDto> permissionTmplInMeetTypeDtoList = baseMapper.selectPermissionTmplInMeetType(userId, parentDeptIdList);
permissionTmplInMeetTypeDtoList.stream().forEach(meetTypeDto -> {
meetTypeDto.getRecordTemplateDTOList().removeIf(template -> ObjectUtils.isEmpty(template.getId()));
});
// 查询指定授权的模板 - 从纪要模板维度查询
List<MeetTypeDto> permissionDeptTmplDtoList = baseMapper.selectPermissionTmpl(userId, parentDeptIdList);
permissionDeptTmplDtoList.stream().forEach(meetTypeDto -> {
meetTypeDto.getRecordTemplateDTOList().removeIf(template -> ObjectUtils.isEmpty(template.getId()));
});
// 合并 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);
}
}
// 获取非授权的模板,包括系统通用并启用的和自己创建的
MeetTypeDto enabledSystemTemplate = baseMapper.selectEnabledSystemTemplate();
List<MeetTypeDto> recordTemplateDtoList = baseMapper.selectAllTmplWithoutPermission(enabledSystemTemplate.getId(), userId);
recordTemplateDtoList.add(enabledSystemTemplate);
recordTemplateDtoList.stream().forEach(meetTypeDto -> {
meetTypeDto.getRecordTemplateDTOList().removeIf(template -> ObjectUtils.isEmpty(template.getId()));
});
// 合并 recordTemplateDtoList 到 permissionTmplInMeetTypeDtoList
for (MeetTypeDto deptDto : recordTemplateDtoList) {
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;
List<MeetTypeDto> meetTypeDtos = baseMapper.selectCustomTemplate(userId);
List<ModulePermission> permissions = modulePermissionService.list(new LambdaQueryWrapper<ModulePermission>()
.and(e -> e.eq(ModulePermission::getPurpose, PermissionPruposeType.TEMPLATE_TYPE_PERMISSION)
.or().eq(ModulePermission::getPurpose, PermissionPruposeType.TEMPLATE_PERMISSION)
).and(e -> e.eq(ModulePermission::getType, RecordTemplateConstant.REL_TYPE_USER).eq(ModulePermission::getRelId, userId)
.or().eq(ModulePermission::getType, RecordTemplateConstant.REL_TYPE_DEPT).in(ModulePermission::getRelId, parentDeptIdList))
.select(ModulePermission::getTargetId, ModulePermission::getPurpose)
);
Set<Long> typeIds = permissions.stream().filter(e -> e.getPurpose().equals(PermissionPruposeType.TEMPLATE_TYPE_PERMISSION)).map(ModulePermission::getTargetId).collect(Collectors.toSet());
Set<Long> ids = permissions.stream().filter(e -> e.getPurpose().equals(PermissionPruposeType.TEMPLATE_PERMISSION)).map(ModulePermission::getTargetId).collect(Collectors.toSet());
meetTypeDtos.forEach(meetTypeDto -> {
if (meetTypeDto.getId() != 1) {
Integer authType = meetTypeDto.getAuthType();
if (AuthTypeConstant.NO_AUTH.equals(authType)) {
meetTypeDto.getRecordTemplateDTOList().removeIf(template -> template.getType().equals(RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM) && !ids.contains(template.getId()));
} else if (AuthTypeConstant.SELECT.equals(authType)) {
meetTypeDto.getRecordTemplateDTOList().removeIf(template ->
template.getType().equals(RecordTemplateConstant.TEMPLATE_TYPE_SYSTEM) && !typeIds.contains(meetTypeDto.getId()) && !ids.contains(template.getId()));
}
}
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);
}
});
// 对纪要模板排序
for (MeetTypeDto meetTypeDto : permissionTmplInMeetTypeDtoList) {
meetTypeDto.getRecordTemplateDTOList().sort(Comparator.comparing(RecordTemplateDto::getCreateTime));
}
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());
}
return permissionTmplInMeetTypeDtoList;
return meetTypeDtos;
}
/**
* 获取部门的路径
*
* @param deptPath
* @param deptId
*/
private void getDeptPath(List<String> deptPath, String deptId, String tenantId) {
if(!deptPath.contains(deptId)) deptPath.add(deptId);
List<String> subDeptIds = sysUserSysMapper.getSubDeptId(deptId,tenantId);
if(CollectionUtils.isEmpty(subDeptIds)) return;
if (!deptPath.contains(deptId)) deptPath.add(deptId);
List<String> subDeptIds = sysUserSysMapper.getSubDeptId(deptId, tenantId);
if (CollectionUtils.isEmpty(subDeptIds)) return;
for (String subDeptId : subDeptIds) {
//部门id去重
if(!deptPath.contains(subDeptId)){
if (!deptPath.contains(subDeptId)) {
deptPath.add(subDeptId);
getDeptPath(deptPath,subDeptId,tenantId);
getDeptPath(deptPath, subDeptId, tenantId);
}
}
......@@ -523,6 +474,7 @@ public class MeetingRecordTemplateServiceImpl extends ServiceImpl<MeetingRecordT
/**
* 手动分页,偏移取每一页数据
*
* @param list
* @param current
* @param size
......
......@@ -272,6 +272,31 @@
where t1.is_del = 0
</select>
<select id="selectCustomTemplate" 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.create_user as template_create_user,
t2.create_time as template_create_time,
if(t1.id != 1 and t3.id is null, 0, 1) as `enable`
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 = 'system' and t2.enable = 1) or (t2.type = 'custom' and t2.create_user = #{userId}))
left join meet_template_enable t3 on t3.rel_id = t2.id and t3.user_id = #{userId}
where t1.is_del = 0
</select>
<update id="enableSystemTemplate">
update
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论