完成导入工程部分代码
This commit is contained in:
parent
ea6716bae4
commit
c9980e9fa3
|
|
@ -14,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/data/ed/local/prj")
|
@RequestMapping("/data/ed/local/prj")
|
||||||
public class ImportPrjController {
|
public class ImportPrjController {
|
||||||
|
|
@ -29,21 +31,25 @@ public class ImportPrjController {
|
||||||
|
|
||||||
@RequestMapping("/queryPrjInfo")
|
@RequestMapping("/queryPrjInfo")
|
||||||
@UserOperation(value = "查询导入工程列表", modelName = UserOperationModuleEnum.IMPORT_PFJ)
|
@UserOperation(value = "查询导入工程列表", modelName = UserOperationModuleEnum.IMPORT_PFJ)
|
||||||
public ElectromagneticResult<?> queryPrjInfo(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize) {
|
public ElectromagneticResult<?> queryPrjInfo(@RequestParam(value = "pageNum", required = false) Integer pageNum,
|
||||||
|
@RequestParam(value = "pageSize", required = false) Integer pageSize) {
|
||||||
|
pageNum = Optional.ofNullable(pageNum).orElse(1);
|
||||||
|
pageSize = Optional.ofNullable(pageSize).orElse(Integer.MAX_VALUE);
|
||||||
return ElectromagneticResultUtil.success(importPrjService.queryPrjInfo(pageNum, pageSize));
|
return ElectromagneticResultUtil.success(importPrjService.queryPrjInfo(pageNum, pageSize));
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/queryImportFileInfo")
|
@RequestMapping("/queryImportFileInfo")
|
||||||
@UserOperation(value = "查询导入工程文件和文件夹信息", modelName = UserOperationModuleEnum.IMPORT_PFJ)
|
@UserOperation(value = "查询导入工程文件和文件夹信息", modelName = UserOperationModuleEnum.IMPORT_PFJ)
|
||||||
public ElectromagneticResult<?> queryImportFileInfo(@RequestParam("pageNum") Integer pageNum,
|
public ElectromagneticResult<?> queryImportFileInfo(@RequestParam(value = "pageNum") Integer pageNum,
|
||||||
@RequestParam("pageSize") Integer pageSize,
|
@RequestParam(value = "pageSize") Integer pageSize,
|
||||||
@RequestParam("id") String id) {
|
@RequestParam("id") String id) {
|
||||||
return ElectromagneticResultUtil.success(importPrjService.queryImportFileInfo(id, pageNum, pageSize));
|
return ElectromagneticResultUtil.success(importPrjService.queryImportFileInfo(id, pageNum, pageSize));
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/download")
|
@RequestMapping("/download")
|
||||||
@UserOperation(value = "下载工程文件", modelName = UserOperationModuleEnum.IMPORT_PFJ)
|
@UserOperation(value = "下载工程文件", modelName = UserOperationModuleEnum.IMPORT_PFJ)
|
||||||
public ResponseEntity<InputStreamResource> download(@RequestParam("id") String id, HttpServletResponse response) {
|
public ResponseEntity<InputStreamResource> download(@RequestParam("id") String id,
|
||||||
|
HttpServletResponse response) {
|
||||||
return importPrjService.download(id, response);
|
return importPrjService.download(id, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -53,4 +59,11 @@ public class ImportPrjController {
|
||||||
return ElectromagneticResultUtil.success(importPrjService.removePrj(prjId));
|
return ElectromagneticResultUtil.success(importPrjService.removePrj(prjId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping("/tree")
|
||||||
|
@UserOperation(value = "查询工程树", modelName = UserOperationModuleEnum.IMPORT_PFJ)
|
||||||
|
public ElectromagneticResult<?> tree(@RequestParam("prjId") String prjId) {
|
||||||
|
return ElectromagneticResultUtil.success(importPrjService.tree(prjId));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.electromagnetic.industry.software.manage.pojo.resp;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.FieldNameConstants;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@FieldNameConstants
|
||||||
|
public class ImportPrjTreeVO {
|
||||||
|
|
||||||
|
private String id;
|
||||||
|
private String fileName;
|
||||||
|
private String parentId;
|
||||||
|
private int sort;
|
||||||
|
|
||||||
|
List<ImportPrjTreeVO> children = new ArrayList<>();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
package com.electromagnetic.industry.software.manage.service;
|
package com.electromagnetic.industry.software.manage.service;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
import com.electromagnetic.industry.software.common.pojo.RespPageVO;
|
import com.electromagnetic.industry.software.common.pojo.RespPageVO;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.req.ImportFileDirQueryVO;
|
import com.electromagnetic.industry.software.manage.pojo.req.ImportFileDirQueryVO;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.req.ImportFileInfoVO;
|
import com.electromagnetic.industry.software.manage.pojo.req.ImportFileInfoVO;
|
||||||
|
import com.electromagnetic.industry.software.manage.pojo.resp.ImportPrjTreeVO;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import org.springframework.core.io.InputStreamResource;
|
import org.springframework.core.io.InputStreamResource;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
|
|
@ -19,4 +21,6 @@ public interface ImportPrjService {
|
||||||
RespPageVO<ImportFileInfoVO> queryImportFileInfo(String id, Integer pageNo, Integer pageSize);
|
RespPageVO<ImportFileInfoVO> queryImportFileInfo(String id, Integer pageNo, Integer pageSize);
|
||||||
|
|
||||||
boolean removePrj(String prjId);
|
boolean removePrj(String prjId);
|
||||||
|
|
||||||
|
Tree<String> tree(String prdId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,13 @@ import cn.hutool.core.codec.Base64;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.io.FileUtil;
|
import cn.hutool.core.io.FileUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
|
import cn.hutool.core.lang.tree.TreeNodeConfig;
|
||||||
|
import cn.hutool.core.lang.tree.TreeUtil;
|
||||||
import cn.hutool.core.text.StrFormatter;
|
import cn.hutool.core.text.StrFormatter;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.crypto.SecureUtil;
|
import cn.hutool.crypto.SecureUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
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.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
|
@ -25,6 +29,7 @@ import com.electromagnetic.industry.software.manage.mapper.ImportPrjInfoMapper;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.models.ImportFileInfo;
|
import com.electromagnetic.industry.software.manage.pojo.models.ImportFileInfo;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.req.ImportFileDirQueryVO;
|
import com.electromagnetic.industry.software.manage.pojo.req.ImportFileDirQueryVO;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.req.ImportFileInfoVO;
|
import com.electromagnetic.industry.software.manage.pojo.req.ImportFileInfoVO;
|
||||||
|
import com.electromagnetic.industry.software.manage.pojo.resp.ImportPrjTreeVO;
|
||||||
import com.electromagnetic.industry.software.manage.service.ImportPrjService;
|
import com.electromagnetic.industry.software.manage.service.ImportPrjService;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
|
@ -188,15 +193,6 @@ public class ImportPrjServiceImpl extends ServiceImpl<ImportPrjInfoMapper, Impor
|
||||||
.eq(ImportFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
.eq(ImportFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
||||||
List<ImportFileInfoVO> files = BeanUtil.copyToList(importFilePage.getRecords(), ImportFileInfoVO.class);
|
List<ImportFileInfoVO> files = BeanUtil.copyToList(importFilePage.getRecords(), ImportFileInfoVO.class);
|
||||||
RespPageVO<ImportFileInfoVO> respPageVO = new RespPageVO<>(importFilePage.getTotal(), files);
|
RespPageVO<ImportFileInfoVO> respPageVO = new RespPageVO<>(importFilePage.getTotal(), files);
|
||||||
// 如果是首页查询,则首先查询全部文件夹
|
|
||||||
if (Objects.equals(pageNo, 1)) {
|
|
||||||
List<ImportFileInfo> importDirs = this.baseMapper.selectList(Wrappers.<ImportFileInfo>lambdaQuery()
|
|
||||||
.eq(ImportFileInfo::getParentId, id)
|
|
||||||
.eq(ImportFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
|
|
||||||
.eq(ImportFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
|
||||||
List<ImportFileDirQueryVO> importFileDirQueryVOS = BeanUtil.copyToList(importDirs, ImportFileDirQueryVO.class);
|
|
||||||
respPageVO.setImportDirs(importFileDirQueryVOS);
|
|
||||||
}
|
|
||||||
UserThreadLocal.setSuccessInfo(id, "", "查询导入本地工程文件夹下的文件和文件夹成功");
|
UserThreadLocal.setSuccessInfo(id, "", "查询导入本地工程文件夹下的文件和文件夹成功");
|
||||||
return respPageVO;
|
return respPageVO;
|
||||||
}
|
}
|
||||||
|
|
@ -216,6 +212,26 @@ public class ImportPrjServiceImpl extends ServiceImpl<ImportPrjInfoMapper, Impor
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Tree<String> tree(String prdId) {
|
||||||
|
List<ImportFileInfo> importFileInfos = this.baseMapper.selectList(Wrappers.<ImportFileInfo>lambdaQuery()
|
||||||
|
.eq(ImportFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
|
.eq(ImportFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
|
||||||
|
.likeRight(ImportFileInfo::getFilePath, prdId));
|
||||||
|
TreeNodeConfig config = new TreeNodeConfig();
|
||||||
|
config.setIdKey(ImportPrjTreeVO.Fields.id);
|
||||||
|
config.setParentIdKey(ImportPrjTreeVO.Fields.parentId);
|
||||||
|
config.setWeightKey(ImportPrjTreeVO.Fields.sort);
|
||||||
|
List<Tree<String>> fileTrees = TreeUtil.build(importFileInfos, PRJ_PARENT_ID, config, ((obj, treeNode) -> {
|
||||||
|
treeNode.putExtra(ImportPrjTreeVO.Fields.id, obj.getId());
|
||||||
|
treeNode.putExtra(ImportPrjTreeVO.Fields.parentId, obj.getParentId());
|
||||||
|
treeNode.putExtra(ImportPrjTreeVO.Fields.sort, obj.getSort());
|
||||||
|
treeNode.putExtra(ImportPrjTreeVO.Fields.fileName, obj.getFileName());
|
||||||
|
}));
|
||||||
|
UserThreadLocal.setSuccessInfo(prdId, prdId, "查询导入工程对应的树成功");
|
||||||
|
return fileTrees.get(0);
|
||||||
|
}
|
||||||
|
|
||||||
private void resetPrjName(ImportFileInfo importFileInfo) {
|
private void resetPrjName(ImportFileInfo importFileInfo) {
|
||||||
if (!StrUtil.equals(importFileInfo.getParentId(), ElectromagneticConstants.PRJ_PARENT_ID)) {
|
if (!StrUtil.equals(importFileInfo.getParentId(), ElectromagneticConstants.PRJ_PARENT_ID)) {
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,6 @@ public class RespPageVO<T> implements Serializable {
|
||||||
|
|
||||||
private ImportTableInfoVO importTableInfoVO;
|
private ImportTableInfoVO importTableInfoVO;
|
||||||
|
|
||||||
private List<?> importDirs;
|
|
||||||
|
|
||||||
public RespPageVO(long total, List<T> records) {
|
public RespPageVO(long total, List<T> records) {
|
||||||
this.struct = false;
|
this.struct = false;
|
||||||
this.total = total;
|
this.total = total;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue