Compare commits

..

No commits in common. "44b06666578f95af9df3e82f78c9f6161a264935" and "3299aa78046f92a7b0ec2f5c829843fc70f605cb" have entirely different histories.

10 changed files with 106 additions and 22 deletions

View File

@ -13,5 +13,4 @@ public interface EdFileInfoMapper extends BaseMapper<EdFileInfo> {
List<EdFileInfo> selectAllAdminFolder(String prjId);
}

View File

@ -24,7 +24,7 @@ public class BaseModel {
/**
* 最后更新时间
*/
@TableField(value = "updated_time")
@TableField(value = "update_time")
private Date updateTime;
/**

View File

@ -103,6 +103,12 @@ public class EdFileInfo extends BaseModel {
@TableField(value = "save_status")
private Integer saveStatus;
/**
* 文件夹发布状态0-未发布1-已发布
*/
@TableField(value = "publish_status")
private int publishStatus;
/**
* 文件大小
*/

View File

@ -2,7 +2,6 @@ package com.electromagnetic.industry.software.manage.pojo.resp;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
@ -13,6 +12,6 @@ public class ProjectVO {
private String parentId;
private int sort;
private List<ProjectVO> children = new ArrayList<>();
private List<ProjectVO> children;
}

View File

@ -44,9 +44,7 @@ import static com.electromagnetic.industry.software.common.cons.ElectromagneticC
@Service
public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo> implements EdFileInfoService {
private final EleLog log = new EleLog(EdFileInfoServiceImpl.class);
private static final String PRJ_PARENT_ID = "0";
private EleLog log = new EleLog(EdFileInfoServiceImpl.class);
@Resource
private Environment environment;
@ -96,8 +94,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
try {
// 保存信息到MySQL
String maxPrjId = this.baseMapper.maxPrjId();
int id = Integer.parseInt(StrUtil.isEmpty(maxPrjId) ? "100000" : maxPrjId);
int id = Integer.parseInt(this.baseMapper.maxPrjId());
Date now = new Date();
String currentUserId = UserThreadLocal.getUserId();
String newPrjId = String.valueOf(id + 1);
@ -107,7 +104,6 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
.setFileId(newPrjId)
.setFileName(prjName)
.setFileVersion(100)
.setParentId(PRJ_PARENT_ID)
.setFileTime(EleCommonUtil.getNowTimeStr())
.setDataType(EleDataTypeEnum.FOLDER.code)
.setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code)
@ -121,7 +117,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
.setUpdatedBy(currentUserId);
this.save(fileInfo);
// 保存到文件系统
fileSystemService.createDirectory(eleDataPath + File.separator + prjName);
fileSystemService.createDirectory(eleDataPath);
} catch (Exception e) {
String info = StrFormatter.format("文件创建失败,具体为--->{}", e.getMessage());
log.error(info, e);
@ -252,9 +248,8 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
.setUpdateTime(now)
.setCreatedBy(currentUserId)
.setUpdatedBy(currentUserId);
this.save(fileInfo);
// 保存到文件系统
String targetFilePath = eleDataPath + File.separator + getPath(paths) + File.separator + folderName;
String targetFilePath = getPath(paths) + File.separator + folderName;
fileSystemService.createDirectory(targetFilePath);
return ElectromagneticResultUtil.success(true);
} catch (Exception e) {
@ -275,21 +270,24 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
try {
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
.select(EdFileInfo::getId)
.eq(EdFileInfo::getParentId, PRJ_PARENT_ID)
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code);
.eq(EdFileInfo::getParentId, 0)
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code);
List<String> ids = this.baseMapper.selectList(queryWrapper).stream().map(EdFileInfo::getId).collect(Collectors.toList());
List<ProjectVO> projectVOS = new ArrayList<>();
for (String id : ids) {
List<EdFileInfo> edFileInfos = this.baseMapper.selectAllAdminFolder(id);
LambdaQueryWrapper<EdFileInfo> queryWrapper1 = Wrappers.lambdaQuery(EdFileInfo.class)
.select(EdFileInfo::getId, EdFileInfo::getFileName, EdFileInfo::getParentId, EdFileInfo::getSort)
.like(EdFileInfo::getFilePath, MYSQL_FILE_PATH_SPLIT + id + MYSQL_FILE_PATH_SPLIT);
List<EdFileInfo> edFileInfos = this.baseMapper.selectList(queryWrapper1);
// 转换为树
TreeNodeConfig config = new TreeNodeConfig();
config.setIdKey(EdFileInfo.Fields.id);
config.setParentIdKey(EdFileInfo.Fields.parentId);
config.setWeightKey(EdFileInfo.Fields.sort);
List<Tree<String>> trees = TreeUtil.build(edFileInfos, PRJ_PARENT_ID, config, ((obj, treeNode) -> {
List<Tree<String>> trees = TreeUtil.build(edFileInfos, "0", config, ((obj, treeNode) -> {
treeNode.putExtra(EdFileInfo.Fields.id, obj.getId());
treeNode.putExtra(EdFileInfo.Fields.parentId, obj.getParentId());
treeNode.putExtra(EdFileInfo.Fields.sort, obj.getSort());

View File

@ -4,12 +4,14 @@
<mapper namespace="com.electromagnetic.industry.software.manage.mapper.EdFileInfoMapper">
<select id="maxPrjId" resultType="java.lang.String">
select max(id) from ed_file_info where length(id) = 6
select max(id) from ed_file_info where length(id) = 6 and (parent_id is null or parent_id = "")
</select>
<select id="selectAllAdminFolder"
resultType="com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo">
select id, file_name, parent_id, sort, file_path from ed_file_info where length(id) = 6 and effect_flag = 1 and data_type = 0 and file_path like concat(#{prjId}, '%')
select id, file_name, parent_id, sort, file_path from ed_file_info where length(id) = 6 and effect_flag = 1 and data_type = 0
</select>
</mapper>

View File

@ -5,8 +5,8 @@ import lombok.AllArgsConstructor;
@AllArgsConstructor
public enum EleDataTypeEnum {
FOLDER(0, "文件夹"),
FILE(1, "普通文件");
FILE(0, "文件夹"),
FOLDER(1, "普通文件");
public int code;
public String desc;

View File

@ -2,7 +2,7 @@ package com.electromagnetic.industry.software.common.resp;
import java.io.Serializable;
public class ElectromagneticResult<T> implements Serializable {
public class ElectromagneticResult<T> implements Serializable, Result {
private static final long serialVersionUID = -6408526187818056594L;
/**
@ -73,6 +73,11 @@ public class ElectromagneticResult<T> implements Serializable {
this.data = data;
}
@Override
public Integer getStatus() {
return success ? 1 : 0;
}
/**
* Getter method for property <tt>errorCode</tt>.
*
@ -108,4 +113,12 @@ public class ElectromagneticResult<T> implements Serializable {
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
@Override
public Message getMessage() {
Message msg = new Message(this.getErrorMessage());
//页面展示时防止出现null状况
msg.setCode("");
return msg;
}
}

View File

@ -0,0 +1,50 @@
package com.electromagnetic.industry.software.common.resp;
public class Message {
/**
* 返回结果码
*/
private String code;
/**
* 返回结果信息
*/
private String message;
/**
* 返回错误明细
*/
private ErrorContext errorContext;
public Message(String messageStr) {
this.message = messageStr;
}
public String getCode() {
return code;
}
public Message setCode(String code) {
this.code = code;
return this;
}
public String getMessage() {
return message;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("code = ");
builder.append(code);
builder.append(", message = ");
builder.append(message);
builder.append(", ");
builder.append("BaseResult [");
builder.append("errorContext=");
builder.append(errorContext);
builder.append("]");
return builder.toString();
}
}

View File

@ -0,0 +1,17 @@
package com.electromagnetic.industry.software.common.resp;
public interface Result {
/**
* 返回状态
*
* @return
*/
Integer getStatus();
/**
* 返回消息
*
* @return
*/
Message getMessage();
}