检测文件更新
This commit is contained in:
parent
b906a00f1a
commit
0ec1c7b804
@ -72,9 +72,7 @@ public class InspectionFileController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<InspectionFile> list = inspectionFileService.selectInspectionFileListByPermissio(inspectionFile, getLoginUser().getId());
|
return success(inspectionFileService.selectInspectionFileListByPermissio(inspectionFile, getLoginUser().getId()));
|
||||||
|
|
||||||
return success(list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -110,11 +108,9 @@ public class InspectionFileController extends BaseController {
|
|||||||
*/
|
*/
|
||||||
@PostMapping("/edit")
|
@PostMapping("/edit")
|
||||||
public CommonResult edit(@RequestBody InspectionFile inspectionFile) throws Exception {
|
public CommonResult edit(@RequestBody InspectionFile inspectionFile) throws Exception {
|
||||||
ShopMallPartners partners = partnerService.shopInfo();
|
// if (!partners.getPartnerId().equals(file.getPartnerId())) {
|
||||||
InspectionFile file = inspectionFileService.selectInspectionFileById(inspectionFile.getId());
|
// return null;
|
||||||
if (!partners.getPartnerId().equals(file.getPartnerId())) {
|
// }
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return toAjax(inspectionFileService.updateInspectionFile(inspectionFile));
|
return toAjax(inspectionFileService.updateInspectionFile(inspectionFile));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,42 @@
|
|||||||
|
package cn.iocoder.yudao.module.inspection.controller;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
|
import cn.iocoder.yudao.module.core.controller.BaseController;
|
||||||
|
import cn.iocoder.yudao.module.inspection.entity.InspectionFileRecord;
|
||||||
|
import cn.iocoder.yudao.module.inspection.service.InspectionFileRecordService;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 文档记录
|
||||||
|
* @Author: 86187
|
||||||
|
* @Date: 2025/02/08 13:53
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/admin-api/system/fileRecord")
|
||||||
|
public class InspectionFileRecordController extends BaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private InspectionFileRecordService inspectionFileRecordService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据文件id查询修改记录
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/get/{id}")
|
||||||
|
public CommonResult<?> getByFileId(@PathVariable Long id) {
|
||||||
|
List<InspectionFileRecord> list = inspectionFileRecordService.list(Wrappers.lambdaQuery(InspectionFileRecord.class)
|
||||||
|
.eq(InspectionFileRecord::getFileId, id)
|
||||||
|
.orderBy(true, true, InspectionFileRecord::getCreateTime));
|
||||||
|
|
||||||
|
return CommonResult.success(list);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,47 @@
|
|||||||
|
package cn.iocoder.yudao.module.inspection.entity;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 检测文档记录表
|
||||||
|
* @Author: 86187
|
||||||
|
* @Date: 2025/02/08 11:39
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class InspectionFileRecord extends TenantBaseDO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件id
|
||||||
|
*/
|
||||||
|
private Long fileId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件路径
|
||||||
|
*/
|
||||||
|
private String filePath;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件类型
|
||||||
|
*/
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件名称
|
||||||
|
*/
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预警时间
|
||||||
|
*/
|
||||||
|
private Date warnTime;
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package cn.iocoder.yudao.module.inspection.mapper;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.inspection.entity.InspectionFileRecord;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 检测文档记录表
|
||||||
|
* @Author: 86187
|
||||||
|
* @Date: 2025/02/08 11:43
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface InspectionFileRecordMapper extends BaseMapper<InspectionFileRecord> {
|
||||||
|
}
|
@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* inspectionFileService接口
|
* inspectionFileService接口
|
||||||
@ -106,5 +107,5 @@ public interface IInspectionFileService extends IService<InspectionFile> {
|
|||||||
* @param inspectionFile
|
* @param inspectionFile
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<InspectionFile> selectInspectionFileListByPermissio(InspectionFile inspectionFile, Long userId);
|
Set<InspectionFile> selectInspectionFileListByPermissio(InspectionFile inspectionFile, Long userId);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
package cn.iocoder.yudao.module.inspection.service;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.inspection.entity.InspectionFileRecord;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 检测文档记录表
|
||||||
|
* @Author: 86187
|
||||||
|
* @Date: 2025/02/08 11:42
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
public interface InspectionFileRecordService extends IService<InspectionFileRecord> {
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package cn.iocoder.yudao.module.inspection.service.impl;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.inspection.entity.InspectionEquInfo;
|
||||||
|
import cn.iocoder.yudao.module.inspection.entity.InspectionFileRecord;
|
||||||
|
import cn.iocoder.yudao.module.inspection.mapper.InspectionEquInfoMapper;
|
||||||
|
import cn.iocoder.yudao.module.inspection.mapper.InspectionFileRecordMapper;
|
||||||
|
import cn.iocoder.yudao.module.inspection.service.InspectionFileRecordService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 检测文档记录表
|
||||||
|
* @Author: 86187
|
||||||
|
* @Date: 2025/02/08 11:42
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class InspectionFileRecordServiceImpl extends ServiceImpl<InspectionFileRecordMapper, InspectionFileRecord> implements InspectionFileRecordService {
|
||||||
|
}
|
@ -1,15 +1,18 @@
|
|||||||
package cn.iocoder.yudao.module.inspection.service.impl;
|
package cn.iocoder.yudao.module.inspection.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
||||||
import cn.iocoder.yudao.module.inspection.entity.InspectionFile;
|
import cn.iocoder.yudao.module.inspection.entity.InspectionFile;
|
||||||
|
import cn.iocoder.yudao.module.inspection.entity.InspectionFileRecord;
|
||||||
import cn.iocoder.yudao.module.inspection.entity.InspectionFileUser;
|
import cn.iocoder.yudao.module.inspection.entity.InspectionFileUser;
|
||||||
import cn.iocoder.yudao.module.inspection.entity.WarnMessage;
|
import cn.iocoder.yudao.module.inspection.entity.WarnMessage;
|
||||||
import cn.iocoder.yudao.module.inspection.mapper.InspectionFileMapper;
|
import cn.iocoder.yudao.module.inspection.mapper.InspectionFileMapper;
|
||||||
import cn.iocoder.yudao.module.inspection.service.IInspectionFileService;
|
import cn.iocoder.yudao.module.inspection.service.IInspectionFileService;
|
||||||
import cn.iocoder.yudao.module.inspection.service.IWarnMessageService;
|
import cn.iocoder.yudao.module.inspection.service.IWarnMessageService;
|
||||||
|
import cn.iocoder.yudao.module.inspection.service.InspectionFileRecordService;
|
||||||
import cn.iocoder.yudao.module.inspection.service.InspectionFileUserService;
|
import cn.iocoder.yudao.module.inspection.service.InspectionFileUserService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
@ -18,6 +21,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
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 java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -36,6 +40,9 @@ public class InspectionFileServiceImpl extends ServiceImpl<InspectionFileMapper,
|
|||||||
@Autowired
|
@Autowired
|
||||||
private InspectionFileUserService inspectionFileUserService;
|
private InspectionFileUserService inspectionFileUserService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private InspectionFileRecordService fileRecordService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询inspectionFile
|
* 查询inspectionFile
|
||||||
*
|
*
|
||||||
@ -123,6 +130,7 @@ public class InspectionFileServiceImpl extends ServiceImpl<InspectionFileMapper,
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public int updateInspectionFile(InspectionFile inspectionFile) {
|
public int updateInspectionFile(InspectionFile inspectionFile) {
|
||||||
LambdaQueryWrapper<WarnMessage> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<WarnMessage> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(WarnMessage::getType, "file").eq(WarnMessage::getObjectId, inspectionFile.getId());
|
queryWrapper.eq(WarnMessage::getType, "file").eq(WarnMessage::getObjectId, inspectionFile.getId());
|
||||||
@ -143,6 +151,23 @@ public class InspectionFileServiceImpl extends ServiceImpl<InspectionFileMapper,
|
|||||||
warnMessage.setWarnTime(inspectionFile.getWarnTime());
|
warnMessage.setWarnTime(inspectionFile.getWarnTime());
|
||||||
messageService.save(warnMessage);
|
messageService.save(warnMessage);
|
||||||
}
|
}
|
||||||
|
InspectionFile file = this.selectInspectionFileById(inspectionFile.getId());
|
||||||
|
|
||||||
|
if ((ObjectUtil.isNotEmpty(inspectionFile.getFilePath()) && !file.getFilePath().equals(inspectionFile.getFilePath()))
|
||||||
|
|| ObjectUtil.isNotEmpty(inspectionFile.getFileName()) && !file.getFileName().equals(inspectionFile.getFileName())
|
||||||
|
|| ObjectUtil.isNotEmpty(inspectionFile.getWarnTime()) && !file.getWarnTime().equals(inspectionFile.getWarnTime())) {
|
||||||
|
|
||||||
|
//查询出之前的文件路径
|
||||||
|
InspectionFileRecord inspectionFileRecord = new InspectionFileRecord();
|
||||||
|
inspectionFileRecord.setFileId(file.getId());
|
||||||
|
inspectionFileRecord.setFileName(file.getFileName());
|
||||||
|
inspectionFileRecord.setFilePath(file.getFilePath());
|
||||||
|
inspectionFileRecord.setType(file.getType());
|
||||||
|
inspectionFileRecord.setWarnTime(file.getWarnTime());
|
||||||
|
|
||||||
|
//保存记录
|
||||||
|
fileRecordService.save(inspectionFileRecord);
|
||||||
|
}
|
||||||
return baseMapper.updateById(inspectionFile);
|
return baseMapper.updateById(inspectionFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -200,7 +225,7 @@ public class InspectionFileServiceImpl extends ServiceImpl<InspectionFileMapper,
|
|||||||
LambdaQueryWrapper<InspectionFile> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<InspectionFile> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
if (ObjectUtil.isNotEmpty(inspectionFile.getFatherId())) {
|
if (ObjectUtil.isNotEmpty(inspectionFile.getFatherId())) {
|
||||||
queryWrapper.eq(InspectionFile::getFatherId, inspectionFile.getFatherId());
|
queryWrapper.eq(InspectionFile::getFatherId, inspectionFile.getFatherId());
|
||||||
}else {
|
} else {
|
||||||
queryWrapper.isNull(InspectionFile::getFatherId);
|
queryWrapper.isNull(InspectionFile::getFatherId);
|
||||||
}
|
}
|
||||||
queryWrapper.orderByAsc(InspectionFile::getType);
|
queryWrapper.orderByAsc(InspectionFile::getType);
|
||||||
@ -208,8 +233,8 @@ public class InspectionFileServiceImpl extends ServiceImpl<InspectionFileMapper,
|
|||||||
if (ObjectUtil.isNotEmpty(inspectionFile.getFileName())) {
|
if (ObjectUtil.isNotEmpty(inspectionFile.getFileName())) {
|
||||||
queryWrapper.like(InspectionFile::getFileName, inspectionFile.getFileName());
|
queryWrapper.like(InspectionFile::getFileName, inspectionFile.getFileName());
|
||||||
}
|
}
|
||||||
// 直接调用 MyBatis-Plus 的 page 方法进行分页查询
|
queryWrapper.orderBy(false, false, InspectionFile::getCreateTime);
|
||||||
return this.list(queryWrapper); // 返回符合条件的分页查询结果
|
return this.list(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -278,8 +303,9 @@ public class InspectionFileServiceImpl extends ServiceImpl<InspectionFileMapper,
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<InspectionFile> selectInspectionFileListByPermissio(InspectionFile inspectionFile, Long userId) {
|
@Override
|
||||||
List<InspectionFile> resultFiles = new ArrayList<>();
|
public Set<InspectionFile> selectInspectionFileListByPermissio(InspectionFile inspectionFile, Long userId) {
|
||||||
|
Set<InspectionFile> resultFiles = new HashSet<>();
|
||||||
|
|
||||||
// 1. 获取用户有权限的所有文件
|
// 1. 获取用户有权限的所有文件
|
||||||
List<Long> accessibleFileIds = inspectionFileUserService
|
List<Long> accessibleFileIds = inspectionFileUserService
|
||||||
@ -295,7 +321,13 @@ public class InspectionFileServiceImpl extends ServiceImpl<InspectionFileMapper,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 2. 获取所有文件及文件夹信息(避免多次查询数据库)
|
// 2. 获取所有文件及文件夹信息(避免多次查询数据库)
|
||||||
Map<Long, InspectionFile> fileCache = this.list().stream()
|
// 1. 查询所有文件信息,确保只查询必要的字段,并通过索引优化文件名的like查询
|
||||||
|
List<InspectionFile> fileList = this.list(Wrappers.lambdaQuery(InspectionFile.class)
|
||||||
|
.select(InspectionFile::getId, InspectionFile::getFileName, InspectionFile::getFatherId, InspectionFile::getFilePath, InspectionFile::getType) // 仅查询必要字段
|
||||||
|
.like(ObjectUtil.isNotEmpty(inspectionFile.getFileName()), InspectionFile::getFileName, inspectionFile.getFileName())
|
||||||
|
.orderBy(false, false, InspectionFile::getCreateTime));
|
||||||
|
|
||||||
|
Map<Long, InspectionFile> fileCache = fileList.stream()
|
||||||
.collect(Collectors.toMap(InspectionFile::getId, file -> file));
|
.collect(Collectors.toMap(InspectionFile::getId, file -> file));
|
||||||
|
|
||||||
// 3. 判断是否传递了fatherId参数(即点击了文件夹)
|
// 3. 判断是否传递了fatherId参数(即点击了文件夹)
|
||||||
@ -323,20 +355,25 @@ public class InspectionFileServiceImpl extends ServiceImpl<InspectionFileMapper,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 去重操作,优化查询时已经进行了判断,可以删除重复文件
|
// 去重操作,优化查询时已经进行了判断,可以删除重复文件
|
||||||
List<InspectionFile> collect = resultFiles.stream().distinct().collect(Collectors.toList());
|
// List<InspectionFile> collect = resultFiles.stream().distinct().collect(Collectors.toList());
|
||||||
if (ObjectUtil.isNotEmpty(inspectionFile.getFileName())) {
|
if (ObjectUtil.isNotEmpty(inspectionFile.getFileName())) {
|
||||||
//模糊匹配对应名称
|
//模糊匹配对应名称
|
||||||
collect = collect.stream().filter(file -> file.getFileName().contains(inspectionFile.getFileName())).collect(Collectors.toList());
|
resultFiles = resultFiles.stream().filter(file -> file.getFileName().contains(inspectionFile.getFileName())).collect(Collectors.toSet());
|
||||||
}
|
}
|
||||||
return collect;
|
return resultFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取文件夹内的所有文件(包括子文件夹的内容)
|
// 获取文件夹内的所有文件(包括子文件夹的内容)
|
||||||
private List<InspectionFile> getFilesInFolder(Long folderId, List<Long> accessibleFileIds, Map<Long, InspectionFile> fileCache) {
|
private List<InspectionFile> getFilesInFolder(Long folderId, List<Long> accessibleFileIds, Map<Long, InspectionFile> fileCache) {
|
||||||
List<InspectionFile> filesInFolder = new ArrayList<>();
|
List<InspectionFile> filesInFolder = new ArrayList<>();
|
||||||
// 获取该文件夹下的所有子文件
|
// 获取该文件夹下的所有子文件
|
||||||
List<InspectionFile> folderFiles = this.list(new LambdaQueryWrapper<InspectionFile>()
|
// List<InspectionFile> folderFiles = this.list(new LambdaQueryWrapper<InspectionFile>()
|
||||||
.eq(InspectionFile::getFatherId, folderId));
|
// .eq(InspectionFile::getFatherId, folderId));
|
||||||
|
|
||||||
|
// 直接从 fileCache 过滤出当前 folderId 直接包含的子文件
|
||||||
|
List<InspectionFile> folderFiles = fileCache.values().stream()
|
||||||
|
.filter(file -> folderId.equals(file.getFatherId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
for (InspectionFile folderFile : folderFiles) {
|
for (InspectionFile folderFile : folderFiles) {
|
||||||
// 默认检查当前文件是否有权限
|
// 默认检查当前文件是否有权限
|
||||||
@ -367,8 +404,12 @@ public class InspectionFileServiceImpl extends ServiceImpl<InspectionFileMapper,
|
|||||||
// 检查当前文件夹下是否有权限的子文件或子文件夹
|
// 检查当前文件夹下是否有权限的子文件或子文件夹
|
||||||
private boolean hasAccessToSubFiles(InspectionFile folderFile, List<Long> accessibleFileIds, Map<Long, InspectionFile> fileCache) {
|
private boolean hasAccessToSubFiles(InspectionFile folderFile, List<Long> accessibleFileIds, Map<Long, InspectionFile> fileCache) {
|
||||||
// 获取文件夹内的所有子文件
|
// 获取文件夹内的所有子文件
|
||||||
List<InspectionFile> subFiles = this.list(new LambdaQueryWrapper<InspectionFile>()
|
// List<InspectionFile> subFiles = this.list(new LambdaQueryWrapper<InspectionFile>()
|
||||||
.eq(InspectionFile::getFatherId, folderFile.getId()));
|
// .eq(InspectionFile::getFatherId, folderFile.getId()));
|
||||||
|
|
||||||
|
List<InspectionFile> subFiles = fileCache.values().stream()
|
||||||
|
.filter(file -> folderFile.getId().equals(file.getFatherId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
// 如果文件夹下有文件且其中一个文件有权限,则返回true
|
// 如果文件夹下有文件且其中一个文件有权限,则返回true
|
||||||
for (InspectionFile subFile : subFiles) {
|
for (InspectionFile subFile : subFiles) {
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="cn.iocoder.yudao.module.inspection.mapper.InspectionFileRecordMapper">
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue
Block a user