新增占用功能
This commit is contained in:
parent
ce2fe3eb2d
commit
2cb8c77567
|
|
@ -72,7 +72,7 @@ public class EdFileInfo extends BaseModel {
|
||||||
@TableField(value = "data_type")
|
@TableField(value = "data_type")
|
||||||
private Integer dataType;
|
private Integer dataType;
|
||||||
/**
|
/**
|
||||||
* 数据状态,0-发布 1-占用
|
* 数据状态,0-未发布 1-已发布 2-占用 3-待删除
|
||||||
*/
|
*/
|
||||||
@TableField(value = "data_status")
|
@TableField(value = "data_status")
|
||||||
private Integer dataStatus;
|
private Integer dataStatus;
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
|
|
||||||
.eq(ObjUtil.equals(pars.getDataStatus(), EleDataStatusEnum.NOT_PUBLISHED.code), EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code)
|
.eq(ObjUtil.equals(pars.getDataStatus(), EleDataStatusEnum.NOT_PUBLISHED.code), EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code)
|
||||||
.eq(ObjUtil.equals(pars.getDataStatus(), EleDataStatusEnum.PUBLISHED.code), EdFileInfo::getDataStatus, EleDataStatusEnum.PUBLISHED.code)
|
.eq(ObjUtil.equals(pars.getDataStatus(), EleDataStatusEnum.PUBLISHED.code), EdFileInfo::getDataStatus, EleDataStatusEnum.PUBLISHED.code)
|
||||||
|
.eq(ObjUtil.equals(pars.getDataStatus(), EleDataStatusEnum.OCCUPY.code), EdFileInfo::getDataStatus, EleDataStatusEnum.OCCUPY.code)
|
||||||
|
|
||||||
.eq(StrUtil.isNotEmpty(pars.getFileType()), EdFileInfo::getFileType, pars.getFileType())
|
.eq(StrUtil.isNotEmpty(pars.getFileType()), EdFileInfo::getFileType, pars.getFileType())
|
||||||
.orderByAsc(ObjUtil.equals(pars.getCreatedTime(), 0), EdFileInfo::getCreatedTime)
|
.orderByAsc(ObjUtil.equals(pars.getCreatedTime(), 0), EdFileInfo::getCreatedTime)
|
||||||
|
|
@ -309,6 +310,10 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
String newFileName = Base64.encode(fileInfo.getFileName() + "." + fileInfo.getFileType());
|
String newFileName = Base64.encode(fileInfo.getFileName() + "." + fileInfo.getFileType());
|
||||||
response.setHeader("content-disposition", "attachment;filename=" + newFileName);
|
response.setHeader("content-disposition", "attachment;filename=" + newFileName);
|
||||||
UserThreadLocal.setSuccessInfo(fileInfo.getParentId(), fileInfo.getFileId(), "下载文件 {} 成功,文件路径 {}", fileName, dbPath);
|
UserThreadLocal.setSuccessInfo(fileInfo.getParentId(), fileInfo.getFileId(), "下载文件 {} 成功,文件路径 {}", fileName, dbPath);
|
||||||
|
this.baseMapper.update(Wrappers.lambdaUpdate(EdFileInfo.class)
|
||||||
|
.set(EdFileInfo::getDataStatus, EleDataStatusEnum.OCCUPY.code)
|
||||||
|
.set(EdFileInfo::getUpdatedTime, new Date())
|
||||||
|
.like(EdFileInfo::getFilePath, MYSQL_FILE_PATH_SPLIT + id));
|
||||||
// 构建响应实体(可以返回<byte[]或Resource,返回类型取决body入参类型)
|
// 构建响应实体(可以返回<byte[]或Resource,返回类型取决body入参类型)
|
||||||
return ResponseEntity
|
return ResponseEntity
|
||||||
.ok()
|
.ok()
|
||||||
|
|
@ -987,6 +992,9 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
EdFileInfo destFolderInfo = this.baseMapper.selectOne(Wrappers.lambdaQuery(EdFileInfo.class)
|
EdFileInfo destFolderInfo = this.baseMapper.selectOne(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.select(EdFileInfo.class, file -> !StrUtil.equals(file.getColumn(), "file_content"))
|
.select(EdFileInfo.class, file -> !StrUtil.equals(file.getColumn(), "file_content"))
|
||||||
.eq(EdFileInfo::getId, targetFolderId));
|
.eq(EdFileInfo::getId, targetFolderId));
|
||||||
|
this.baseMapper.update(Wrappers.lambdaUpdate(EdFileInfo.class)
|
||||||
|
.set(EdFileInfo::getDataStatus, EleDataStatusEnum.OCCUPY.code)
|
||||||
|
.like(EdFileInfo::getFilePath, MYSQL_FILE_PATH_SPLIT + id));
|
||||||
if (count == 0) {
|
if (count == 0) {
|
||||||
// 没有同名文件
|
// 没有同名文件
|
||||||
// 首先将信息保存到MySQL
|
// 首先将信息保存到MySQL
|
||||||
|
|
@ -1086,6 +1094,9 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
||||||
EdFileInfo destFolderInfo = this.baseMapper.selectById(targetFolderId);
|
EdFileInfo destFolderInfo = this.baseMapper.selectById(targetFolderId);
|
||||||
EdFileInfo destFileInfo;
|
EdFileInfo destFileInfo;
|
||||||
|
this.baseMapper.update(Wrappers.lambdaUpdate(EdFileInfo.class)
|
||||||
|
.set(EdFileInfo::getDataStatus, EleDataStatusEnum.OCCUPY.code)
|
||||||
|
.like(EdFileInfo::getFilePath, MYSQL_FILE_PATH_SPLIT + id));
|
||||||
if (count == 0) {
|
if (count == 0) {
|
||||||
// 没有同名文件
|
// 没有同名文件
|
||||||
// 首先将信息保存到MySQL
|
// 首先将信息保存到MySQL
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import cn.hutool.core.util.RuntimeUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.electromagnetic.industry.software.common.enums.EleDataStatusEnum;
|
||||||
import com.electromagnetic.industry.software.common.enums.EleDataTypeEnum;
|
import com.electromagnetic.industry.software.common.enums.EleDataTypeEnum;
|
||||||
import com.electromagnetic.industry.software.common.enums.FileBackupSource;
|
import com.electromagnetic.industry.software.common.enums.FileBackupSource;
|
||||||
import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum;
|
import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum;
|
||||||
|
|
@ -275,5 +276,11 @@ public class BackupTask {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 每 2 分钟执行一次
|
||||||
|
@Scheduled(cron = "0 */2 * * * ?")
|
||||||
|
public void updateFileStatus() {
|
||||||
|
DateTime twoMinutesAgo = DateUtil.offsetMinute(DateUtil.date(), -2);
|
||||||
|
edFileInfoMapper.update(Wrappers.<EdFileInfo>lambdaUpdate().set(EdFileInfo::getDataStatus, EleDataStatusEnum.PUBLISHED.code).le(EdFileInfo::getUpdatedTime, twoMinutesAgo));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue