增加自定义层级相关功能
This commit is contained in:
parent
2c6189cc6e
commit
ac415f13b4
|
|
@ -2,6 +2,7 @@ package com.electromagnetic.industry.software.manage.controller;
|
||||||
|
|
||||||
import com.electromagnetic.industry.software.common.annotations.RequiredPermission;
|
import com.electromagnetic.industry.software.common.annotations.RequiredPermission;
|
||||||
import com.electromagnetic.industry.software.common.annotations.UserOperation;
|
import com.electromagnetic.industry.software.common.annotations.UserOperation;
|
||||||
|
import com.electromagnetic.industry.software.common.enums.DataOwnEnum;
|
||||||
import com.electromagnetic.industry.software.common.enums.FilePermission;
|
import com.electromagnetic.industry.software.common.enums.FilePermission;
|
||||||
import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum;
|
import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum;
|
||||||
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
||||||
|
|
@ -29,27 +30,27 @@ public class EdFileInfoController {
|
||||||
@UserOperation(value = "查看了工程树", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "查看了工程树", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
@RequestMapping("tree")
|
@RequestMapping("tree")
|
||||||
public ElectromagneticResult<?> tree() {
|
public ElectromagneticResult<?> tree() {
|
||||||
return edFileInfoService.tree();
|
return edFileInfoService.tree(DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "创建了文件夹", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "创建了文件夹", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
@RequestMapping("createFolder")
|
@RequestMapping("createFolder")
|
||||||
public ElectromagneticResult<?> createFolder(@RequestBody CreateFolderDTO createFolderDTO) {
|
public ElectromagneticResult<?> createFolder(@RequestBody CreateFolderDTO createFolderDTO) {
|
||||||
return edFileInfoService.createFolder(createFolderDTO);
|
return edFileInfoService.createFolder(createFolderDTO, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "作废了文件夹", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "作废了文件夹", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
@RequiredPermission(value = FilePermission.DELETE)
|
@RequiredPermission(value = FilePermission.DELETE)
|
||||||
@RequestMapping("delete")
|
@RequestMapping("delete")
|
||||||
public ElectromagneticResult<?> delete(@RequestParam String id) {
|
public ElectromagneticResult<?> delete(@RequestParam String id) {
|
||||||
return edFileInfoService.delete(id);
|
return edFileInfoService.delete(id, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "查询了文件", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "查询了文件", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
@RequiredPermission(value = FilePermission.VIEW)
|
@RequiredPermission(value = FilePermission.VIEW)
|
||||||
@RequestMapping("info")
|
@RequestMapping("info")
|
||||||
public ElectromagneticResult<?> info(@RequestBody FileInfoQueryDTO fileInfoQueryDTO) {
|
public ElectromagneticResult<?> info(@RequestBody FileInfoQueryDTO fileInfoQueryDTO) {
|
||||||
return edFileInfoService.queryEdFileInfo(fileInfoQueryDTO);
|
return edFileInfoService.queryEdFileInfo(fileInfoQueryDTO, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "上传了文件", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "上传了文件", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
|
|
@ -58,21 +59,21 @@ public class EdFileInfoController {
|
||||||
public ElectromagneticResult<?> upload(@RequestParam("parentId") String parentId,
|
public ElectromagneticResult<?> upload(@RequestParam("parentId") String parentId,
|
||||||
@RequestParam("file") MultipartFile file,
|
@RequestParam("file") MultipartFile file,
|
||||||
@RequestParam("strategy") Integer strategy) {
|
@RequestParam("strategy") Integer strategy) {
|
||||||
return edFileInfoService.upload(parentId, file, strategy);
|
return edFileInfoService.upload(parentId, file, strategy, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "下载了文件", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "下载了文件", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
@RequiredPermission(value = FilePermission.DOWNLOAD)
|
@RequiredPermission(value = FilePermission.DOWNLOAD)
|
||||||
@RequestMapping("download")
|
@RequestMapping("download")
|
||||||
public ResponseEntity<InputStreamResource> download(@RequestParam String id, HttpServletResponse response) {
|
public ResponseEntity<InputStreamResource> download(@RequestParam String id, HttpServletResponse response) {
|
||||||
return edFileInfoService.download(id, response);
|
return edFileInfoService.download(id, response, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "更新了文件信息", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "更新了文件信息", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
@RequiredPermission(value = FilePermission.EDIT)
|
@RequiredPermission(value = FilePermission.EDIT)
|
||||||
@RequestMapping("updateFileInfo")
|
@RequestMapping("updateFileInfo")
|
||||||
public ElectromagneticResult<?> updateFileInfo(@RequestBody UpdateFileInfoDTO updateFileInfoDTO) {
|
public ElectromagneticResult<?> updateFileInfo(@RequestBody UpdateFileInfoDTO updateFileInfoDTO) {
|
||||||
return edFileInfoService.updateFileInfo(updateFileInfoDTO);
|
return edFileInfoService.updateFileInfo(updateFileInfoDTO, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "移动了文件", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "移动了文件", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
|
|
@ -81,7 +82,7 @@ public class EdFileInfoController {
|
||||||
public ElectromagneticResult<?> moveFile(@RequestParam("id") String id,
|
public ElectromagneticResult<?> moveFile(@RequestParam("id") String id,
|
||||||
@RequestParam("targetFolderId") String targetFolderId,
|
@RequestParam("targetFolderId") String targetFolderId,
|
||||||
@RequestParam("strategy") Integer strategy) {
|
@RequestParam("strategy") Integer strategy) {
|
||||||
return edFileInfoService.moveFile(id, targetFolderId, strategy);
|
return edFileInfoService.moveFile(id, targetFolderId, strategy, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "复制了文件", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "复制了文件", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
|
|
@ -90,7 +91,7 @@ public class EdFileInfoController {
|
||||||
public ElectromagneticResult<?> copyFile(@RequestParam("id") String id,
|
public ElectromagneticResult<?> copyFile(@RequestParam("id") String id,
|
||||||
@RequestParam("targetFolderId") String targetFolderId,
|
@RequestParam("targetFolderId") String targetFolderId,
|
||||||
@RequestParam("strategy") Integer strategy) {
|
@RequestParam("strategy") Integer strategy) {
|
||||||
return edFileInfoService.copyFile(id, targetFolderId, strategy);
|
return edFileInfoService.copyFile(id, targetFolderId, strategy, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "查看了文件历史版本信息", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "查看了文件历史版本信息", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
|
|
@ -110,24 +111,24 @@ public class EdFileInfoController {
|
||||||
@UserOperation(value = "导出了数据库", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "导出了数据库", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
@RequestMapping("batchExport")
|
@RequestMapping("batchExport")
|
||||||
public ResponseEntity<InputStreamResource> batchExport(@RequestParam String fileIds, HttpServletResponse response) throws IOException {
|
public ResponseEntity<InputStreamResource> batchExport(@RequestParam String fileIds, HttpServletResponse response) throws IOException {
|
||||||
return edFileInfoService.batchExport(fileIds, response);
|
return edFileInfoService.batchExport(fileIds, response, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "批量了数据库", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "批量上传了数据库", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
@RequestMapping(value = "/mergeChunks", method = RequestMethod.GET)
|
@RequestMapping(value = "/mergeChunks", method = RequestMethod.GET)
|
||||||
public ElectromagneticResult<?> mergeChunks(@RequestParam String identifier,
|
public ElectromagneticResult<?> mergeChunks(@RequestParam String identifier,
|
||||||
@RequestParam String fileName,
|
@RequestParam String fileName,
|
||||||
@RequestParam Integer totalChunks) {
|
@RequestParam Integer totalChunks) {
|
||||||
return edFileInfoService.mergeChunks(identifier, fileName, totalChunks);
|
return edFileInfoService.mergeChunks(identifier, fileName, totalChunks, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "批量了数据库", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "批量上传了数据库", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
@RequestMapping(value = "/batchImport", method = RequestMethod.POST)
|
@RequestMapping(value = "/batchImport", method = RequestMethod.POST)
|
||||||
public ElectromagneticResult<?> batchImport(FileChunkDTO fileChunkDTO) {
|
public ElectromagneticResult<?> batchImport(FileChunkDTO fileChunkDTO) {
|
||||||
return edFileInfoService.batchImport(fileChunkDTO);
|
return edFileInfoService.batchImport(fileChunkDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "批量了数据库")
|
@UserOperation(value = "批量上传了数据库")
|
||||||
@RequestMapping(value = "/batchImport", method = RequestMethod.GET)
|
@RequestMapping(value = "/batchImport", method = RequestMethod.GET)
|
||||||
public ElectromagneticResult<?> checkChunkExist(FileChunkDTO fileChunkDTO) {
|
public ElectromagneticResult<?> checkChunkExist(FileChunkDTO fileChunkDTO) {
|
||||||
return edFileInfoService.checkChunkExist(fileChunkDTO);
|
return edFileInfoService.checkChunkExist(fileChunkDTO);
|
||||||
|
|
@ -136,7 +137,7 @@ public class EdFileInfoController {
|
||||||
@UserOperation(value = "查询了发布管理", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "查询了发布管理", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
@RequestMapping(value = "/uploadRecord", method = RequestMethod.GET)
|
@RequestMapping(value = "/uploadRecord", method = RequestMethod.GET)
|
||||||
public ElectromagneticResult<?> uploadRecord(@RequestParam int pageNum, @RequestParam int pageSize) {
|
public ElectromagneticResult<?> uploadRecord(@RequestParam int pageNum, @RequestParam int pageSize) {
|
||||||
return edFileInfoService.uploadRecord(pageNum, pageSize);
|
return edFileInfoService.uploadRecord(pageNum, pageSize, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "查询了文件详细信息", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "查询了文件详细信息", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
|
|
@ -150,13 +151,13 @@ public class EdFileInfoController {
|
||||||
@RequiredPermission(value = FilePermission.VIEW)
|
@RequiredPermission(value = FilePermission.VIEW)
|
||||||
@RequestMapping(value = "/queryChildFolder", method = RequestMethod.GET)
|
@RequestMapping(value = "/queryChildFolder", method = RequestMethod.GET)
|
||||||
public ElectromagneticResult<?> queryChildFolder(@RequestParam String parentId) {
|
public ElectromagneticResult<?> queryChildFolder(@RequestParam String parentId) {
|
||||||
return edFileInfoService.queryChildFolder(parentId);
|
return edFileInfoService.queryChildFolder(parentId, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "预览了文件", modelName = UserOperationModuleEnum.DATABASE)
|
@UserOperation(value = "预览了文件", modelName = UserOperationModuleEnum.DATABASE)
|
||||||
@RequiredPermission(value = FilePermission.DOWNLOAD)
|
@RequiredPermission(value = FilePermission.DOWNLOAD)
|
||||||
@RequestMapping(value = "preview", method = RequestMethod.GET)
|
@RequestMapping(value = "preview", method = RequestMethod.GET)
|
||||||
public ResponseEntity<InputStreamResource> preview(@RequestParam String id, HttpServletResponse response) {
|
public ResponseEntity<InputStreamResource> preview(@RequestParam String id, HttpServletResponse response) {
|
||||||
return edFileInfoService.preview(id, response);
|
return edFileInfoService.preview(id, response, DataOwnEnum.COMMON.code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.electromagnetic.industry.software.manage.controller;
|
package com.electromagnetic.industry.software.manage.controller;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.electromagnetic.industry.software.common.enums.DataOwnEnum;
|
||||||
import com.electromagnetic.industry.software.common.exception.BizException;
|
import com.electromagnetic.industry.software.common.exception.BizException;
|
||||||
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
||||||
import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil;
|
import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil;
|
||||||
|
|
@ -86,6 +87,6 @@ public class EdFileRelationController {
|
||||||
@RequestParam("file") MultipartFile file,
|
@RequestParam("file") MultipartFile file,
|
||||||
@RequestParam("description") String description,
|
@RequestParam("description") String description,
|
||||||
@RequestParam("id") String id) {
|
@RequestParam("id") String id) {
|
||||||
return ElectromagneticResultUtil.success(edFileRelationService.uploadFileAndRelation(parentId, id, file, description));
|
return ElectromagneticResultUtil.success(edFileRelationService.uploadFileAndRelation(parentId, id, file, description, DataOwnEnum.COMMON.code));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
package com.electromagnetic.industry.software.manage.controller;
|
package com.electromagnetic.industry.software.manage.controller;
|
||||||
|
|
||||||
import com.electromagnetic.industry.software.common.annotations.UserOperation;
|
import com.electromagnetic.industry.software.common.annotations.UserOperation;
|
||||||
|
import com.electromagnetic.industry.software.common.enums.DataOwnEnum;
|
||||||
|
import com.electromagnetic.industry.software.common.enums.EleDataStatusEnum;
|
||||||
import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum;
|
import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum;
|
||||||
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.req.FolderResortDTO;
|
import com.electromagnetic.industry.software.manage.pojo.req.FolderResortDTO;
|
||||||
|
|
@ -25,43 +27,43 @@ public class ProjectController {
|
||||||
@UserOperation(value = "创建了工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
@UserOperation(value = "创建了工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
@RequestMapping("create")
|
@RequestMapping("create")
|
||||||
public ElectromagneticResult<?> create(@RequestParam String prjName) {
|
public ElectromagneticResult<?> create(@RequestParam String prjName) {
|
||||||
return edPrjService.createNewPrj(prjName);
|
return edPrjService.createNewPrj(prjName, DataOwnEnum.SYS_PRJ.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "复制了文件", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
@UserOperation(value = "删除工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
@RequestMapping("废除了工程")
|
@RequestMapping("delete")
|
||||||
public ElectromagneticResult<?> delete(@RequestParam String prjId) {
|
public ElectromagneticResult<?> delete(@RequestParam String prjId) {
|
||||||
return edPrjService.delete(prjId);
|
return edPrjService.delete(prjId, DataOwnEnum.SYS_PRJ.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "修改了工程名", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
@UserOperation(value = "修改了工程名", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
@RequestMapping("modify")
|
@RequestMapping("modify")
|
||||||
public ElectromagneticResult<?> modifyPrjName(@RequestParam String newPrjName, @RequestParam String prjId) {
|
public ElectromagneticResult<?> modifyPrjName(@RequestParam String newPrjName, @RequestParam String prjId) {
|
||||||
return edPrjService.modifyPrjName(prjId, newPrjName);
|
return edPrjService.modifyPrjName(prjId, newPrjName, DataOwnEnum.SYS_PRJ.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "查询了所有工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
@UserOperation(value = "查询了所有工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
@RequestMapping("queryAll")
|
@RequestMapping("queryAll")
|
||||||
public ElectromagneticResult<?> queryAll() {
|
public ElectromagneticResult<?> queryAll() {
|
||||||
return edPrjService.queryAllPrjInfo();
|
return edPrjService.queryAllPrjInfo(DataOwnEnum.SYS_PRJ.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "添加了子集", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
@UserOperation(value = "添加了子集", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
@RequestMapping("addFolder")
|
@RequestMapping("addFolder")
|
||||||
public ElectromagneticResult<?> addFolder(@RequestParam String folderName, @RequestParam String parentId) {
|
public ElectromagneticResult<?> addFolder(@RequestParam String folderName, @RequestParam String parentId) {
|
||||||
return edPrjService.addFolder(parentId, folderName);
|
return edPrjService.addFolder(parentId, folderName, DataOwnEnum.SYS_PRJ.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "修改了子集名称", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
@UserOperation(value = "修改了子集名称", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
@RequestMapping("modifyFolder")
|
@RequestMapping("modifyFolder")
|
||||||
public ElectromagneticResult<?> modifyFolder(@RequestParam String newFolderName, @RequestParam String id) {
|
public ElectromagneticResult<?> modifyFolder(@RequestParam String newFolderName, @RequestParam String id) {
|
||||||
return edPrjService.modifyFolder(id, newFolderName);
|
return edPrjService.modifyFolder(id, newFolderName, DataOwnEnum.SYS_PRJ.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "废除了子集", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
@UserOperation(value = "废除了子集", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
@RequestMapping("deleteFolder")
|
@RequestMapping("deleteFolder")
|
||||||
public ElectromagneticResult<?> deleteFolder(@RequestParam String id) {
|
public ElectromagneticResult<?> deleteFolder(@RequestParam String id) {
|
||||||
return edPrjService.deleteFolder(id);
|
return edPrjService.deleteFolder(id, DataOwnEnum.SYS_PRJ.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "更改了层级顺序", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
@UserOperation(value = "更改了层级顺序", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
|
|
@ -73,18 +75,18 @@ public class ProjectController {
|
||||||
@UserOperation(value = "发布了工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
@UserOperation(value = "发布了工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
@RequestMapping("publish")
|
@RequestMapping("publish")
|
||||||
public ElectromagneticResult<?> publish(@RequestParam String prjId) {
|
public ElectromagneticResult<?> publish(@RequestParam String prjId) {
|
||||||
return edPrjService.publish(prjId);
|
return edPrjService.publish(prjId, DataOwnEnum.SYS_PRJ.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "引用了工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
@UserOperation(value = "引用了工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
@RequestMapping("follow")
|
@RequestMapping("follow")
|
||||||
public ElectromagneticResult<?> follow(@RequestParam String sourceId, @RequestParam String targetId) {
|
public ElectromagneticResult<?> follow(@RequestParam String sourceId, @RequestParam String targetId) {
|
||||||
return edPrjService.follow(sourceId, targetId);
|
return edPrjService.follow(sourceId, targetId, DataOwnEnum.SYS_PRJ.code);
|
||||||
}
|
}
|
||||||
|
|
||||||
@UserOperation(value = "查询了工程发布状态", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
@UserOperation(value = "查询了工程发布状态", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
@RequestMapping("publishStatus")
|
@RequestMapping("publishStatus")
|
||||||
public ElectromagneticResult<?> publishStatus(@RequestBody QueryPublishStatus queryPublishStatus) {
|
public ElectromagneticResult<?> publishStatus(@RequestBody QueryPublishStatus queryPublishStatus) {
|
||||||
return edPrjService.publishStatus(queryPublishStatus);
|
return edPrjService.publishStatus(queryPublishStatus, DataOwnEnum.SYS_PRJ.code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,90 @@
|
||||||
|
package com.electromagnetic.industry.software.manage.controller;
|
||||||
|
|
||||||
|
import com.electromagnetic.industry.software.common.annotations.UserOperation;
|
||||||
|
import com.electromagnetic.industry.software.common.enums.DataOwnEnum;
|
||||||
|
import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum;
|
||||||
|
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
||||||
|
import com.electromagnetic.industry.software.manage.pojo.req.FolderResortDTO;
|
||||||
|
import com.electromagnetic.industry.software.manage.pojo.req.QueryPublishStatus;
|
||||||
|
import com.electromagnetic.industry.software.manage.service.EdPrjService;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/data/ed/user/prj")
|
||||||
|
public class UserPrjController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private EdPrjService edPrjService;
|
||||||
|
|
||||||
|
@UserOperation(value = "创建了工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
|
@RequestMapping("create")
|
||||||
|
public ElectromagneticResult<?> create(@RequestParam String prjName) {
|
||||||
|
return edPrjService.createNewPrj(prjName, DataOwnEnum.USER_PRJ.code);
|
||||||
|
}
|
||||||
|
|
||||||
|
@UserOperation(value = "删除工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
|
@RequestMapping("delete")
|
||||||
|
public ElectromagneticResult<?> delete(@RequestParam String prjId) {
|
||||||
|
return edPrjService.delete(prjId, DataOwnEnum.USER_PRJ.code);
|
||||||
|
}
|
||||||
|
|
||||||
|
@UserOperation(value = "修改了工程名", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
|
@RequestMapping("modify")
|
||||||
|
public ElectromagneticResult<?> modifyPrjName(@RequestParam String newPrjName, @RequestParam String prjId) {
|
||||||
|
return edPrjService.modifyPrjName(prjId, newPrjName, DataOwnEnum.USER_PRJ.code);
|
||||||
|
}
|
||||||
|
|
||||||
|
@UserOperation(value = "查询了所有工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
|
@RequestMapping("queryAll")
|
||||||
|
public ElectromagneticResult<?> queryAll() {
|
||||||
|
return edPrjService.queryAllPrjInfo(DataOwnEnum.USER_PRJ.code);
|
||||||
|
}
|
||||||
|
|
||||||
|
@UserOperation(value = "添加了子集", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
|
@RequestMapping("addFolder")
|
||||||
|
public ElectromagneticResult<?> addFolder(@RequestParam String folderName, @RequestParam String parentId) {
|
||||||
|
return edPrjService.addFolder(parentId, folderName, DataOwnEnum.USER_PRJ.code);
|
||||||
|
}
|
||||||
|
|
||||||
|
@UserOperation(value = "修改了子集名称", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
|
@RequestMapping("modifyFolder")
|
||||||
|
public ElectromagneticResult<?> modifyFolder(@RequestParam String newFolderName, @RequestParam String id) {
|
||||||
|
return edPrjService.modifyFolder(id, newFolderName, DataOwnEnum.USER_PRJ.code);
|
||||||
|
}
|
||||||
|
|
||||||
|
@UserOperation(value = "废除了子集", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
|
@RequestMapping("deleteFolder")
|
||||||
|
public ElectromagneticResult<?> deleteFolder(@RequestParam String id) {
|
||||||
|
return edPrjService.deleteFolder(id, DataOwnEnum.USER_PRJ.code);
|
||||||
|
}
|
||||||
|
|
||||||
|
@UserOperation(value = "更改了层级顺序", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
|
@RequestMapping("folderResort")
|
||||||
|
public ElectromagneticResult<?> folderResort(@RequestBody List<FolderResortDTO> folderResortDTOList) {
|
||||||
|
return edPrjService.folderResort(folderResortDTOList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@UserOperation(value = "发布了工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
|
@RequestMapping("publish")
|
||||||
|
public ElectromagneticResult<?> publish(@RequestParam String prjId) {
|
||||||
|
return edPrjService.publish(prjId, DataOwnEnum.USER_PRJ.code);
|
||||||
|
}
|
||||||
|
|
||||||
|
@UserOperation(value = "引用了工程", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
|
@RequestMapping("follow")
|
||||||
|
public ElectromagneticResult<?> follow(@RequestParam String sourceId, @RequestParam String targetId) {
|
||||||
|
return edPrjService.follow(sourceId, targetId, DataOwnEnum.USER_PRJ.code);
|
||||||
|
}
|
||||||
|
|
||||||
|
@UserOperation(value = "查询了工程发布状态", modelName = UserOperationModuleEnum.PRJ_SETTING)
|
||||||
|
@RequestMapping("publishStatus")
|
||||||
|
public ElectromagneticResult<?> publishStatus(@RequestBody QueryPublishStatus queryPublishStatus) {
|
||||||
|
return edPrjService.publishStatus(queryPublishStatus, DataOwnEnum.USER_PRJ.code);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -111,10 +111,10 @@ public class EdFileInfo extends BaseModel {
|
||||||
@TableField(value = "file_code")
|
@TableField(value = "file_code")
|
||||||
private String fileCode;
|
private String fileCode;
|
||||||
/**
|
/**
|
||||||
* 是否是管理员定义的系统层级目录
|
* 数据的归属:0-》上传的文件或者新建的文件夹 1-》系统管理员创建的层级 2-》用户自定义的层级
|
||||||
*/
|
*/
|
||||||
@TableField(value = "prj_dir")
|
@TableField(value = "prj_dir")
|
||||||
private Boolean prjDir;
|
private Integer dataOwn;
|
||||||
|
|
||||||
/** 当一个文件作废时,其所有的历史文件也会跟着作废,此时该文件及其历史文件的all_deleted=true**/
|
/** 当一个文件作废时,其所有的历史文件也会跟着作废,此时该文件及其历史文件的all_deleted=true**/
|
||||||
@TableField(value = "all_deleted")
|
@TableField(value = "all_deleted")
|
||||||
|
|
|
||||||
|
|
@ -20,21 +20,21 @@ public interface EdFileInfoService {
|
||||||
* @param fileInfoQueryDTO
|
* @param fileInfoQueryDTO
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> queryEdFileInfo(FileInfoQueryDTO fileInfoQueryDTO);
|
ElectromagneticResult<?> queryEdFileInfo(FileInfoQueryDTO fileInfoQueryDTO, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新建文件夹
|
* 新建文件夹
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> createFolder(CreateFolderDTO createFolderDTO);
|
ElectromagneticResult<?> createFolder(CreateFolderDTO createFolderDTO, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目层级结构查询
|
* 项目层级结构查询
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> tree();
|
ElectromagneticResult<?> tree(int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除目录
|
* 删除目录
|
||||||
|
|
@ -42,7 +42,7 @@ public interface EdFileInfoService {
|
||||||
* @param id
|
* @param id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> delete(String id);
|
ElectromagneticResult<?> delete(String id, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下载文件
|
* 下载文件
|
||||||
|
|
@ -50,14 +50,14 @@ public interface EdFileInfoService {
|
||||||
* @param id
|
* @param id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ResponseEntity<InputStreamResource> download(String id, HttpServletResponse response);
|
ResponseEntity<InputStreamResource> download(String id, HttpServletResponse response, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新文件信息
|
* 更新文件信息
|
||||||
*
|
*
|
||||||
* @param updateFileInfoDTO
|
* @param updateFileInfoDTO
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> updateFileInfo(UpdateFileInfoDTO updateFileInfoDTO);
|
ElectromagneticResult<?> updateFileInfo(UpdateFileInfoDTO updateFileInfoDTO, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 版本回退
|
* 版本回退
|
||||||
|
|
@ -92,7 +92,7 @@ public interface EdFileInfoService {
|
||||||
* @param totalChunks
|
* @param totalChunks
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> mergeChunks(String identifier, String fileName, Integer totalChunks);
|
ElectromagneticResult<?> mergeChunks(String identifier, String fileName, Integer totalChunks, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出
|
* 导出
|
||||||
|
|
@ -100,7 +100,7 @@ public interface EdFileInfoService {
|
||||||
* @param dataIdArr
|
* @param dataIdArr
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ResponseEntity<InputStreamResource> batchExport(String dataIdArr, HttpServletResponse response) throws IOException;
|
ResponseEntity<InputStreamResource> batchExport(String dataIdArr, HttpServletResponse response, int dataOwnCode) throws IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件上传
|
* 文件上传
|
||||||
|
|
@ -110,7 +110,7 @@ public interface EdFileInfoService {
|
||||||
* @param strategy
|
* @param strategy
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> upload(String parentId, MultipartFile file, Integer strategy);
|
ElectromagneticResult<?> upload(String parentId, MultipartFile file, Integer strategy, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 版本查看
|
* 版本查看
|
||||||
|
|
@ -127,7 +127,7 @@ public interface EdFileInfoService {
|
||||||
* @param targetFolderId
|
* @param targetFolderId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> moveFile(String id, String targetFolderId, Integer strategy);
|
ElectromagneticResult<?> moveFile(String id, String targetFolderId, Integer strategy, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 复制文件
|
* 复制文件
|
||||||
|
|
@ -136,14 +136,14 @@ public interface EdFileInfoService {
|
||||||
* @param targetFolderId
|
* @param targetFolderId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> copyFile(String id, String targetFolderId, Integer strategy);
|
ElectromagneticResult<?> copyFile(String id, String targetFolderId, Integer strategy, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发布管理
|
* 发布管理
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> uploadRecord(int pageNum, int pageSize);
|
ElectromagneticResult<?> uploadRecord(int pageNum, int pageSize, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询文件详情
|
* 查询文件详情
|
||||||
|
|
@ -163,12 +163,12 @@ public interface EdFileInfoService {
|
||||||
* @param parentId
|
* @param parentId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> queryChildFolder(String parentId);
|
ElectromagneticResult<?> queryChildFolder(String parentId, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件预览
|
* 文件预览
|
||||||
* @param id
|
* @param id
|
||||||
* @param response
|
* @param response
|
||||||
*/
|
*/
|
||||||
ResponseEntity<InputStreamResource> preview(String id, HttpServletResponse response);
|
ResponseEntity<InputStreamResource> preview(String id, HttpServletResponse response, int dataOwnCode);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,8 +46,8 @@ public interface EdFileRelationService {
|
||||||
* @param parentId
|
* @param parentId
|
||||||
* @param id 主文件Id
|
* @param id 主文件Id
|
||||||
* @param file
|
* @param file
|
||||||
* @param descrption 关系描述
|
* @param desc 关系描述
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> uploadFileAndRelation(String parentId, String id, MultipartFile file, String descrption);
|
ElectromagneticResult<?> uploadFileAndRelation(String parentId, String id, MultipartFile file, String desc, int dataOwnCode);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.electromagnetic.industry.software.manage.service;
|
package com.electromagnetic.industry.software.manage.service;
|
||||||
|
|
||||||
|
import com.electromagnetic.industry.software.common.enums.DataOwnEnum;
|
||||||
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.req.FolderResortDTO;
|
import com.electromagnetic.industry.software.manage.pojo.req.FolderResortDTO;
|
||||||
import com.electromagnetic.industry.software.manage.pojo.req.QueryPublishStatus;
|
import com.electromagnetic.industry.software.manage.pojo.req.QueryPublishStatus;
|
||||||
|
|
@ -13,7 +14,7 @@ public interface EdPrjService {
|
||||||
*
|
*
|
||||||
* @param prjName 新的工程名
|
* @param prjName 新的工程名
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> createNewPrj(String prjName);
|
ElectromagneticResult<?> createNewPrj(String prjName, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改项目名称
|
* 修改项目名称
|
||||||
|
|
@ -22,7 +23,7 @@ public interface EdPrjService {
|
||||||
* @param newPrjName
|
* @param newPrjName
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> modifyPrjName(String prjId, String newPrjName);
|
ElectromagneticResult<?> modifyPrjName(String prjId, String newPrjName, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除一个项目,做逻辑删除
|
* 删除一个项目,做逻辑删除
|
||||||
|
|
@ -30,7 +31,7 @@ public interface EdPrjService {
|
||||||
* @param prjId
|
* @param prjId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> delete(String prjId);
|
ElectromagneticResult<?> delete(String prjId, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加子集
|
* 添加子集
|
||||||
|
|
@ -39,14 +40,14 @@ public interface EdPrjService {
|
||||||
* @param folderName
|
* @param folderName
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> addFolder(String parentId, String folderName);
|
ElectromagneticResult<?> addFolder(String parentId, String folderName, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询所有项目
|
* 查询所有项目
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> queryAllPrjInfo();
|
ElectromagneticResult<?> queryAllPrjInfo(int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 子集拖拽重排序
|
* 子集拖拽重排序
|
||||||
|
|
@ -62,7 +63,7 @@ public interface EdPrjService {
|
||||||
* @param prjId
|
* @param prjId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> publish(String prjId);
|
ElectromagneticResult<?> publish(String prjId, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除子集
|
* 删除子集
|
||||||
|
|
@ -70,7 +71,7 @@ public interface EdPrjService {
|
||||||
* @param id
|
* @param id
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> deleteFolder(String id);
|
ElectromagneticResult<?> deleteFolder(String id, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 层级沿用
|
* 层级沿用
|
||||||
|
|
@ -79,7 +80,7 @@ public interface EdPrjService {
|
||||||
* @param targetId
|
* @param targetId
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> follow(String sourceId, String targetId);
|
ElectromagneticResult<?> follow(String sourceId, String targetId, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改子集名称
|
* 修改子集名称
|
||||||
|
|
@ -88,7 +89,7 @@ public interface EdPrjService {
|
||||||
* @param newFolderName
|
* @param newFolderName
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> modifyFolder(String id, String newFolderName);
|
ElectromagneticResult<?> modifyFolder(String id, String newFolderName, int dataOwnCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取项目的发布状态
|
* 获取项目的发布状态
|
||||||
|
|
@ -96,5 +97,5 @@ public interface EdPrjService {
|
||||||
* @param queryPublishStatus
|
* @param queryPublishStatus
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ElectromagneticResult<?> publishStatus(QueryPublishStatus queryPublishStatus);
|
ElectromagneticResult<?> publishStatus(QueryPublishStatus queryPublishStatus, int dataOwnCode);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,13 @@ import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.core.lang.tree.Tree;
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
import cn.hutool.core.lang.tree.TreeNodeConfig;
|
import cn.hutool.core.lang.tree.TreeNodeConfig;
|
||||||
import cn.hutool.core.lang.tree.TreeUtil;
|
import cn.hutool.core.lang.tree.TreeUtil;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
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.electromagnetic.industry.software.common.enums.EffectFlagEnum;
|
import com.electromagnetic.industry.software.common.cons.ElectromagneticConstants;
|
||||||
import com.electromagnetic.industry.software.common.enums.EleDataSaveStatusEnum;
|
import com.electromagnetic.industry.software.common.enums.*;
|
||||||
import com.electromagnetic.industry.software.common.enums.EleDataStatusEnum;
|
|
||||||
import com.electromagnetic.industry.software.common.enums.EleDataTypeEnum;
|
|
||||||
import com.electromagnetic.industry.software.common.exception.BizException;
|
import com.electromagnetic.industry.software.common.exception.BizException;
|
||||||
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
||||||
import com.electromagnetic.industry.software.common.util.EleCommonUtil;
|
import com.electromagnetic.industry.software.common.util.EleCommonUtil;
|
||||||
|
|
@ -68,9 +67,11 @@ public class CommonService {
|
||||||
private final EleLog log = new EleLog(CommonService.class);
|
private final EleLog log = new EleLog(CommonService.class);
|
||||||
@Value("${prj.folder.max.length}")
|
@Value("${prj.folder.max.length}")
|
||||||
private int prjFolderMaxLength;
|
private int prjFolderMaxLength;
|
||||||
@Getter
|
|
||||||
private String eleDataPath;
|
private String eleDataPath;
|
||||||
|
|
||||||
|
private String userDataPath;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private Environment environment;
|
private Environment environment;
|
||||||
|
|
||||||
|
|
@ -83,25 +84,35 @@ public class CommonService {
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void init() {
|
public void init() {
|
||||||
eleDataPath = EleCommonUtil.isWinOs() ? environment.getProperty("data.windows.path") : environment.getProperty("data.linux.path");
|
eleDataPath = EleCommonUtil.isWinOs() ? environment.getProperty("data.windows.path") : environment.getProperty("data.linux.path");
|
||||||
|
userDataPath = EleCommonUtil.isWinOs() ? environment.getProperty("data.windows.user.path") : environment.getProperty("data.linux.user.path");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEleDataPath(int dataOwnCode) {
|
||||||
|
if (dataOwnCode == DataOwnEnum.USER_PRJ.code) {
|
||||||
|
return userDataPath;
|
||||||
|
}
|
||||||
|
return eleDataPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查同层级是否有同名的文件夹
|
* 检查同层级是否有同名的文件夹
|
||||||
*/
|
*/
|
||||||
public boolean notExistSameFolder(String parentId, String newFolderName) {
|
public boolean notExistSameFolder(String parentId, String newFolderName, int dataOwnCode) {
|
||||||
Long count = edFileInfoMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
Long count = edFileInfoMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
|
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
|
||||||
.eq(EdFileInfo::getParentId, parentId)
|
.eq(EdFileInfo::getParentId, parentId)
|
||||||
|
.eq(EdFileInfo::getDataOwn, dataOwnCode)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
.eq(EdFileInfo::getFileName, newFolderName));
|
.eq(EdFileInfo::getFileName, newFolderName));
|
||||||
|
|
||||||
return count == 0;
|
return count == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getFileSysPath(String dbPath) {
|
public String getFileSysPath(String dbPath, int dataOwnCode) {
|
||||||
ArrayList<String> paths = CollUtil.newArrayList(dbPath.split(MYSQL_FILE_PATH_SPLIT));
|
ArrayList<String> paths = CollUtil.newArrayList(dbPath.split(MYSQL_FILE_PATH_SPLIT));
|
||||||
String path = getDbPath(paths);
|
String path = getDbPath(paths);
|
||||||
return eleDataPath + File.separator + path;
|
String prePath = dataOwnCode == DataOwnEnum.USER_PRJ.code ? eleDataPath : userDataPath;
|
||||||
|
return prePath + File.separator + path;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDbPath(String dbPath) {
|
public String getDbPath(String dbPath) {
|
||||||
|
|
@ -138,7 +149,7 @@ public class CommonService {
|
||||||
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
|
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
|
||||||
.eq(EdFileInfo::getPrjDir, true)
|
.eq(EdFileInfo::getDataOwn, DataOwnEnum.SYS_PRJ.code)
|
||||||
.likeRight(EdFileInfo::getFilePath, id);
|
.likeRight(EdFileInfo::getFilePath, id);
|
||||||
if (!isAdminQuery) {
|
if (!isAdminQuery) {
|
||||||
queryWrapper.in(EdFileInfo::getId, accessableIds);
|
queryWrapper.in(EdFileInfo::getId, accessableIds);
|
||||||
|
|
@ -148,12 +159,12 @@ public class CommonService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> addFolder(String parentId, String folderName, boolean maxLengthCheck, boolean isPrjDir, String folderId, String fileNote) {
|
public ElectromagneticResult<?> addFolder(String parentId, String folderName, boolean maxLengthCheck, String folderId, String fileNote, int dataOwnCode) {
|
||||||
|
|
||||||
// 验证名称是否合法
|
// 验证名称是否合法
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), NAME_VALID_MSG);
|
Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), NAME_VALID_MSG);
|
||||||
// 检查名称是否存在
|
// 检查名称是否存在
|
||||||
Assert.isTrue(notExistSameFolder(parentId, folderName), "该名称已存在");
|
Assert.isTrue(notExistSameFolder(parentId, folderName, dataOwnCode), "该名称已存在");
|
||||||
|
|
||||||
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.select(EdFileInfo::getId, EdFileInfo::getFilePath)
|
.select(EdFileInfo::getId, EdFileInfo::getFilePath)
|
||||||
|
|
@ -189,21 +200,21 @@ public class CommonService {
|
||||||
.setFileType("文件夹")
|
.setFileType("文件夹")
|
||||||
.setFileCode(createFileCode(parentId, EleDataTypeEnum.FOLDER.desc, FILE_START_VERSION, nowTimeStr))
|
.setFileCode(createFileCode(parentId, EleDataTypeEnum.FOLDER.desc, FILE_START_VERSION, nowTimeStr))
|
||||||
.setFileTime(nowTimeStr)
|
.setFileTime(nowTimeStr)
|
||||||
.setPrjDir(isPrjDir)
|
|
||||||
.setDataType(EleDataTypeEnum.FOLDER.code)
|
.setDataType(EleDataTypeEnum.FOLDER.code)
|
||||||
.setDataStatus(isPrjDir ? EleDataStatusEnum.NOT_PUBLISHED.code : EleDataStatusEnum.PUBLISHED.code)
|
.setDataStatus(dataOwnCode == 1 || dataOwnCode == 2 ? EleDataStatusEnum.NOT_PUBLISHED.code : EleDataStatusEnum.PUBLISHED.code)
|
||||||
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
||||||
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
||||||
.setFilePath(path)
|
.setFilePath(path)
|
||||||
.setSort(names.size() + 1)
|
.setSort(names.size() + 1)
|
||||||
.setFileNote(fileNote)
|
.setFileNote(fileNote)
|
||||||
|
.setDataOwn(dataOwnCode)
|
||||||
.setCreatedTime(now)
|
.setCreatedTime(now)
|
||||||
.setUpdatedTime(now)
|
.setUpdatedTime(now)
|
||||||
.setCreatedBy(currentUserId)
|
.setCreatedBy(currentUserId)
|
||||||
.setUpdatedBy(currentUserId);
|
.setUpdatedBy(currentUserId);
|
||||||
edFileInfoMapper.insert(fileInfo);
|
edFileInfoMapper.insert(fileInfo);
|
||||||
// 保存到文件系统
|
// 保存到文件系统
|
||||||
String targetFilePath = getEleDataPath() + File.separator + getDbPath(paths) + File.separator + folderName;
|
String targetFilePath = getEleDataPath(dataOwnCode) + File.separator + getDbPath(paths) + File.separator + folderName;
|
||||||
fileSystemService.createDirectory(targetFilePath);
|
fileSystemService.createDirectory(targetFilePath);
|
||||||
return ElectromagneticResultUtil.success(true);
|
return ElectromagneticResultUtil.success(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
@ -213,11 +224,12 @@ public class CommonService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> queryAllPrjInfo(boolean isAdminQuery, List<String> prjIds) {
|
public List<String> queryAllPrjInfo(boolean isAdminQuery, List<String> prjIds, int dataOwnCode) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.select(EdFileInfo::getId)
|
.select(EdFileInfo::getId)
|
||||||
|
.eq(EdFileInfo::getDataOwn, dataOwnCode)
|
||||||
.eq(EdFileInfo::getParentId, PRJ_PARENT_ID)
|
.eq(EdFileInfo::getParentId, PRJ_PARENT_ID)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code);
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code);
|
||||||
if (!isAdminQuery) {
|
if (!isAdminQuery) {
|
||||||
|
|
@ -276,17 +288,21 @@ public class CommonService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ElectromagneticResult<?> deleteFolder(String id) {
|
public ElectromagneticResult<?> deleteFolder(String id, int dataOwnCode) {
|
||||||
// 如果文件夹下存在文件(包括文件夹和已经逻辑删除的文件),则不允许删除。后面管理员选择会有物理删除文件夹和文件的功能,此时MySQL和文件系统则会进行物理删除该文件。
|
// 如果文件夹下存在文件(包括文件夹和已经逻辑删除的文件),则不允许删除。后面管理员选择会有物理删除文件夹和文件的功能,此时MySQL和文件系统则会进行物理删除该文件。
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
String currentUserId = UserThreadLocal.getUserId();
|
String currentUserId = UserThreadLocal.getUserId();
|
||||||
|
EdFileInfo srcFileInfo = edFileInfoMapper.selectById(id);
|
||||||
|
String srcPrjName = srcFileInfo.getFileName();
|
||||||
|
String srcFilePath = getFileSysPath(srcFileInfo.getFilePath(), dataOwnCode);
|
||||||
try {
|
try {
|
||||||
// 这里要分两种情况,1是删除层级目录,2是删除用户创建的文件夹
|
// 这里要分两种情况,1是删除层级目录,2是删除用户创建的文件夹
|
||||||
EdFileInfo fileInfo = edFileInfoMapper.selectOne(Wrappers.<EdFileInfo>lambdaQuery().eq(EdFileInfo::getId, id));
|
EdFileInfo fileInfo = edFileInfoMapper.selectOne(Wrappers.<EdFileInfo>lambdaQuery().eq(EdFileInfo::getId, id));
|
||||||
String parentId = fileInfo.getParentId();
|
String parentId = fileInfo.getParentId();
|
||||||
if (fileInfo.getPrjDir()) { // 删除的是层级目录
|
if (fileInfo.getDataOwn().equals(DataOwnEnum.SYS_PRJ.code)) { // 删除的是层级目录
|
||||||
long count = edFileInfoMapper.selectCount(Wrappers.<EdFileInfo>lambdaQuery()
|
long count = edFileInfoMapper.selectCount(Wrappers.<EdFileInfo>lambdaQuery()
|
||||||
.eq(EdFileInfo::getPrjDir, false)
|
.eq(EdFileInfo::getDataOwn, DataOwnEnum.COMMON.code)
|
||||||
|
.eq(EdFileInfo::getDataOwn, dataOwnCode)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
.like(EdFileInfo::getFilePath, MYSQL_FILE_PATH_SPLIT + id + MYSQL_FILE_PATH_SPLIT));
|
.like(EdFileInfo::getFilePath, MYSQL_FILE_PATH_SPLIT + id + MYSQL_FILE_PATH_SPLIT));
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
|
|
@ -307,7 +323,6 @@ public class CommonService {
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
.ne(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code)
|
.ne(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code)
|
||||||
.eq(EdFileInfo::getParentId, parentId)
|
.eq(EdFileInfo::getParentId, parentId)
|
||||||
|
|
||||||
.orderByAsc(EdFileInfo::getSort));
|
.orderByAsc(EdFileInfo::getSort));
|
||||||
|
|
||||||
for (int i = 0; i < edFileInfos1.size(); i++) {
|
for (int i = 0; i < edFileInfos1.size(); i++) {
|
||||||
|
|
@ -329,14 +344,16 @@ public class CommonService {
|
||||||
log.info(info);
|
log.info(info);
|
||||||
return ElectromagneticResultUtil.fail("-1", info);
|
return ElectromagneticResultUtil.fail("-1", info);
|
||||||
} else {
|
} else {
|
||||||
// 逻辑文件夹重排序
|
// 逻辑删除文件夹
|
||||||
edFileInfoMapper.update(null, Wrappers.<EdFileInfo>lambdaUpdate()
|
edFileInfoMapper.update(null, Wrappers.<EdFileInfo>lambdaUpdate()
|
||||||
.eq(EdFileInfo::getId, id)
|
.eq(EdFileInfo::getId, id)
|
||||||
.set(EdFileInfo::getUpdatedBy, currentUserId)
|
.set(EdFileInfo::getUpdatedBy, currentUserId)
|
||||||
.set(EdFileInfo::getUpdatedTime, now)
|
.set(EdFileInfo::getUpdatedTime, now)
|
||||||
.set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code));
|
.set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code));
|
||||||
|
fileSystemService.renameFile(srcFilePath, srcPrjName + "_" + IdUtil.fastSimpleUUID() + DELETE_FLAG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// fileSystemService.renameFile(srcFilePath, srcPrjName + "." + IdUtil.fastSimpleUUID() + DELETE_FLAG);
|
||||||
return ElectromagneticResultUtil.success(true);
|
return ElectromagneticResultUtil.success(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String info = "删除子集异常";
|
String info = "删除子集异常";
|
||||||
|
|
@ -362,8 +379,8 @@ public class CommonService {
|
||||||
return edFileInfoMapper.selectById(prjId).getFileName();
|
return edFileInfoMapper.selectById(prjId).getFileName();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Set<String> selectPrjLeafs() {
|
public Set<String> selectPrjLeafs(int dataOwnCode) {
|
||||||
List<String> prjInfo = queryAllPrjInfo(true, null);
|
List<String> prjInfo = queryAllPrjInfo(true, null, dataOwnCode);
|
||||||
Set<String> res = new HashSet<>();
|
Set<String> res = new HashSet<>();
|
||||||
prjInfo.forEach(e -> {
|
prjInfo.forEach(e -> {
|
||||||
ProjectVO projectVO = JSONUtil.toList(e, ProjectVO.class).get(0);
|
ProjectVO projectVO = JSONUtil.toList(e, ProjectVO.class).get(0);
|
||||||
|
|
@ -392,4 +409,11 @@ public class CommonService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void deletePrjSysDir(List<String> paths) {
|
||||||
|
for (String path : paths) {
|
||||||
|
String preDirName = new File(path).getParentFile().getName();
|
||||||
|
fileSystemService.renameFile(path, preDirName + "_" + IdUtil.fastSimpleUUID() + DELETE_FLAG);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> queryEdFileInfo(FileInfoQueryDTO pars) {
|
public ElectromagneticResult<?> queryEdFileInfo(FileInfoQueryDTO pars, int dataOwnCode) {
|
||||||
|
|
||||||
String parentId = pars.getParentId();
|
String parentId = pars.getParentId();
|
||||||
List<String> accessibleTree = permissionService.getAccessibleTree();
|
List<String> accessibleTree = permissionService.getAccessibleTree();
|
||||||
|
|
@ -165,10 +165,10 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> createFolder(CreateFolderDTO createFolderDTO) {
|
public ElectromagneticResult<?> createFolder(CreateFolderDTO createFolderDTO, int dataOwnCode) {
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(createFolderDTO.getNewFolderName()), NAME_VALID_MSG);
|
Assert.isTrue(EleCommonUtil.isFileNameValid(createFolderDTO.getNewFolderName()), NAME_VALID_MSG);
|
||||||
String folderId = IdWorker.getSnowFlakeIdString();
|
String folderId = IdWorker.getSnowFlakeIdString();
|
||||||
return commonService.addFolder(createFolderDTO.getParentId(), createFolderDTO.getNewFolderName(), false, false, folderId, createFolderDTO.getFileNote());
|
return commonService.addFolder(createFolderDTO.getParentId(), createFolderDTO.getNewFolderName(), false, folderId, createFolderDTO.getFileNote(), dataOwnCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -177,12 +177,12 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> tree() {
|
public ElectromagneticResult<?> tree(int dataOwnCode) {
|
||||||
List<String> prjIds = permissionService.getAccessibleTree();
|
List<String> prjIds = permissionService.getAccessibleTree();
|
||||||
if (CollUtil.isEmpty(prjIds)) {
|
if (CollUtil.isEmpty(prjIds)) {
|
||||||
return ElectromagneticResultUtil.success(new ArrayList<>());
|
return ElectromagneticResultUtil.success(new ArrayList<>());
|
||||||
}
|
}
|
||||||
List<String> strings = commonService.queryAllPrjInfo(false, prjIds);
|
List<String> strings = commonService.queryAllPrjInfo(false, prjIds, dataOwnCode);
|
||||||
List<FileProjectVO> res = new ArrayList<>();
|
List<FileProjectVO> res = new ArrayList<>();
|
||||||
strings.forEach(e -> {
|
strings.forEach(e -> {
|
||||||
FileProjectVO fileProjectVO = JSONUtil.toList(e, FileProjectVO.class).get(0);
|
FileProjectVO fileProjectVO = JSONUtil.toList(e, FileProjectVO.class).get(0);
|
||||||
|
|
@ -199,10 +199,10 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> delete(String id) {
|
public ElectromagneticResult<?> delete(String id, int dataOwnCode) {
|
||||||
EdFileInfo fileInfo = this.baseMapper.selectById(id);
|
EdFileInfo fileInfo = this.baseMapper.selectById(id);
|
||||||
if (fileInfo.getDataType() == EleDataTypeEnum.FOLDER.code) {
|
if (fileInfo.getDataType() == EleDataTypeEnum.FOLDER.code) {
|
||||||
return commonService.deleteFolder(id);
|
return commonService.deleteFolder(id, dataOwnCode);
|
||||||
}
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
String currentUserId = UserThreadLocal.getUserId();
|
String currentUserId = UserThreadLocal.getUserId();
|
||||||
|
|
@ -222,11 +222,11 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<InputStreamResource> download(String id, HttpServletResponse response) {
|
public ResponseEntity<InputStreamResource> download(String id, HttpServletResponse response, int dataOwnCode) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
EdFileInfo fileInfo = this.baseMapper.selectById(id);
|
EdFileInfo fileInfo = this.baseMapper.selectById(id);
|
||||||
String fileSysPath = commonService.getFileSysPath(fileInfo.getFilePath());
|
String fileSysPath = commonService.getFileSysPath(fileInfo.getFilePath(), dataOwnCode);
|
||||||
Assert.isTrue(FileUtil.exist(fileSysPath), "下载文件不存在。");
|
Assert.isTrue(FileUtil.exist(fileSysPath), "下载文件不存在。");
|
||||||
FileSystemResource fileSystemResource = new FileSystemResource(fileSysPath);
|
FileSystemResource fileSystemResource = new FileSystemResource(fileSysPath);
|
||||||
String fileName = fileSystemResource.getFilename();
|
String fileName = fileSystemResource.getFilename();
|
||||||
|
|
@ -257,7 +257,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> updateFileInfo(UpdateFileInfoDTO updateFileInfoDTO) {
|
public ElectromagneticResult<?> updateFileInfo(UpdateFileInfoDTO updateFileInfoDTO, int dataOwnCode) {
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(updateFileInfoDTO.getFileName()), NAME_VALID_MSG);
|
Assert.isTrue(EleCommonUtil.isFileNameValid(updateFileInfoDTO.getFileName()), NAME_VALID_MSG);
|
||||||
try {
|
try {
|
||||||
// 首先检查新名称是否存在
|
// 首先检查新名称是否存在
|
||||||
|
|
@ -292,7 +292,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
throw new BizException("文件名已经存在");
|
throw new BizException("文件名已经存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
String srcFilePath = commonService.getFileSysPath(fileInfo.getFilePath());
|
String srcFilePath = commonService.getFileSysPath(fileInfo.getFilePath(), dataOwnCode);
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
String currentUserId = UserThreadLocal.getUserId();
|
String currentUserId = UserThreadLocal.getUserId();
|
||||||
this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class)
|
this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class)
|
||||||
|
|
@ -405,7 +405,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> mergeChunks(String identifier, String fileName, Integer totalChunks) {
|
public ElectromagneticResult<?> mergeChunks(String identifier, String fileName, Integer totalChunks, int dataOwnCode) {
|
||||||
String currentUserId = UserThreadLocal.getUserId();
|
String currentUserId = UserThreadLocal.getUserId();
|
||||||
String destColibPath = doSysFileMerge(identifier, fileName, totalChunks);
|
String destColibPath = doSysFileMerge(identifier, fileName, totalChunks);
|
||||||
String mainName = FileUtil.mainName(destColibPath);
|
String mainName = FileUtil.mainName(destColibPath);
|
||||||
|
|
@ -425,21 +425,21 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
String uuid = IdUtil.fastSimpleUUID();
|
String uuid = IdUtil.fastSimpleUUID();
|
||||||
String tmpDir = uploadDataDir + currentUserId + File.separator + uuid + File.separator;
|
String tmpDir = uploadDataDir + currentUserId + File.separator + uuid + File.separator;
|
||||||
ZipUtil.unzip(zipDirPath, tmpDir);
|
ZipUtil.unzip(zipDirPath, tmpDir);
|
||||||
update2Database(tmpDir);
|
update2Database(tmpDir, dataOwnCode);
|
||||||
fileSystemService.deleteFile(zipDirPath, destColibPath);
|
fileSystemService.deleteFile(zipDirPath, destColibPath);
|
||||||
return ElectromagneticResultUtil.success(true);
|
return ElectromagneticResultUtil.success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
|
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
|
||||||
public void update2Database(String prjDirPath) {
|
public void update2Database(String prjDirPath, int dataOwnCode) {
|
||||||
String info = FileUtil.readString(prjDirPath + File.separator + "mysql.info", Charset.defaultCharset());
|
String info = FileUtil.readString(prjDirPath + File.separator + "mysql.info", Charset.defaultCharset());
|
||||||
List<EdFileInfo> importAllFiles = JSONUtil.toList(info, EdFileInfo.class);
|
List<EdFileInfo> importAllFiles = JSONUtil.toList(info, EdFileInfo.class);
|
||||||
// 找出层级文件夹
|
// 找出层级文件夹
|
||||||
List<EdFileInfo> prjFolders = importAllFiles.stream().filter(e -> ObjUtil.equals(e.getPrjDir(), true))
|
List<EdFileInfo> prjFolders = importAllFiles.stream().filter(e -> ObjUtil.equals(e.getDataOwn(), dataOwnCode))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
// 找出用户创建的文件夹
|
// 找出用户创建的文件夹
|
||||||
List<EdFileInfo> userFolders = importAllFiles.stream().filter(e -> ObjUtil.equals(e.getDataType(), EleDataTypeEnum.FOLDER.code))
|
List<EdFileInfo> userFolders = importAllFiles.stream().filter(e -> ObjUtil.equals(e.getDataType(), EleDataTypeEnum.FOLDER.code))
|
||||||
.filter(e -> ObjUtil.equals(e.getPrjDir(), false))
|
.filter(e -> ObjUtil.equals(e.getDataOwn(), dataOwnCode))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
// 找出所有文件
|
// 找出所有文件
|
||||||
List<EdFileInfo> allFiles = importAllFiles.stream().filter(e -> ObjUtil.equals(e.getDataType(), EleDataTypeEnum.FILE.code)).collect(Collectors.toList());
|
List<EdFileInfo> allFiles = importAllFiles.stream().filter(e -> ObjUtil.equals(e.getDataType(), EleDataTypeEnum.FILE.code)).collect(Collectors.toList());
|
||||||
|
|
@ -557,7 +557,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.saveOrUpdateBatch(allObjs);
|
this.saveOrUpdateBatch(allObjs);
|
||||||
update2FileSystem(allObjs, prjDirPath);
|
update2FileSystem(allObjs, prjDirPath, dataOwnCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resetFileInfoName(EdFileInfo fileInfo) {
|
private void resetFileInfoName(EdFileInfo fileInfo) {
|
||||||
|
|
@ -579,7 +579,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void update2FileSystem(List<EdFileInfo> needMove2FileSystemFiles, String prjDirPath) {
|
private void update2FileSystem(List<EdFileInfo> needMove2FileSystemFiles, String prjDirPath, int dataOwnCode) {
|
||||||
Map<String, EdFileInfo> maps = needMove2FileSystemFiles.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e));
|
Map<String, EdFileInfo> maps = needMove2FileSystemFiles.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e));
|
||||||
List<EdFileInfo> files = needMove2FileSystemFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FILE.code)).collect(Collectors.toList());
|
List<EdFileInfo> files = needMove2FileSystemFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FILE.code)).collect(Collectors.toList());
|
||||||
for (EdFileInfo edFileInfo : files) {
|
for (EdFileInfo edFileInfo : files) {
|
||||||
|
|
@ -593,7 +593,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
sysFilePath.append(fileInfo.getFileName()).append(".").append(fileInfo.getFileType()).append(".").append(fileInfo.getFileCode());
|
sysFilePath.append(fileInfo.getFileName()).append(".").append(fileInfo.getFileType()).append(".").append(fileInfo.getFileCode());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String destPath = commonService.getEleDataPath() + File.separator + sysFilePath;
|
String destPath = commonService.getEleDataPath(dataOwnCode) + File.separator + sysFilePath;
|
||||||
String sourcePath = prjDirPath + File.separator + sysFilePath;
|
String sourcePath = prjDirPath + File.separator + sysFilePath;
|
||||||
fileSystemService.moveFile(sourcePath, destPath);
|
fileSystemService.moveFile(sourcePath, destPath);
|
||||||
}
|
}
|
||||||
|
|
@ -624,7 +624,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<InputStreamResource> batchExport(String dataIdArr, HttpServletResponse response) throws IOException {
|
public ResponseEntity<InputStreamResource> batchExport(String dataIdArr, HttpServletResponse response, int dataOwnCode) throws IOException {
|
||||||
String userDownloadDataDir = downloadDataDir + File.separator + UserThreadLocal.getUserId();
|
String userDownloadDataDir = downloadDataDir + File.separator + UserThreadLocal.getUserId();
|
||||||
String[] ids = dataIdArr.split(",");
|
String[] ids = dataIdArr.split(",");
|
||||||
Map<String, Boolean> map = permissionService.filterExportIds(ids);
|
Map<String, Boolean> map = permissionService.filterExportIds(ids);
|
||||||
|
|
@ -640,7 +640,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
String prjId = resFiles.get(0).getFilePath().split(MYSQL_FILE_PATH_SPLIT)[0];
|
String prjId = resFiles.get(0).getFilePath().split(MYSQL_FILE_PATH_SPLIT)[0];
|
||||||
List<EdFileInfo> prjFolders = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class)
|
List<EdFileInfo> prjFolders = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT)
|
.likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT)
|
||||||
.eq(EdFileInfo::getPrjDir, true)
|
.eq(EdFileInfo::getDataOwn, dataOwnCode)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
||||||
EdFileInfo prjFileInfo = this.baseMapper.selectById(prjId);
|
EdFileInfo prjFileInfo = this.baseMapper.selectById(prjId);
|
||||||
Map<String, EdFileInfo> prjFoldersMap = prjFolders.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e));
|
Map<String, EdFileInfo> prjFoldersMap = prjFolders.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e));
|
||||||
|
|
@ -657,7 +657,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
fileSystemService.createDirectory(destFolderPath);
|
fileSystemService.createDirectory(destFolderPath);
|
||||||
}
|
}
|
||||||
for (EdFileInfo edFileInfo : files) {
|
for (EdFileInfo edFileInfo : files) {
|
||||||
String filePath = commonService.getFileSysPath(edFileInfo.getFilePath()); // file
|
String filePath = commonService.getFileSysPath(edFileInfo.getFilePath(), dataOwnCode); // file
|
||||||
String destPath = userDownloadDataDir + File.separator + prjName + File.separator + commonService.getDbPath(edFileInfo.getFilePath());
|
String destPath = userDownloadDataDir + File.separator + prjName + File.separator + commonService.getDbPath(edFileInfo.getFilePath());
|
||||||
fileSystemService.copyFile(filePath, destPath);
|
fileSystemService.copyFile(filePath, destPath);
|
||||||
}
|
}
|
||||||
|
|
@ -714,7 +714,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> upload(String parentId, MultipartFile file, Integer strategy) {
|
public ElectromagneticResult<?> upload(String parentId, MultipartFile file, Integer strategy, int dataOwnCode) {
|
||||||
|
|
||||||
Assert.isTrue(!file.isEmpty(), "禁止上传空文件");
|
Assert.isTrue(!file.isEmpty(), "禁止上传空文件");
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), NAME_VALID_MSG);
|
Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), NAME_VALID_MSG);
|
||||||
|
|
@ -722,7 +722,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
long dirCount = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
long dirCount = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getParentId, parentId)
|
.eq(EdFileInfo::getParentId, parentId)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
.eq(EdFileInfo::getPrjDir, true)
|
.eq(EdFileInfo::getDataOwn, dataOwnCode)
|
||||||
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code));
|
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code));
|
||||||
Assert.isTrue(dirCount == 0, "层级目录不允许上传文件");
|
Assert.isTrue(dirCount == 0, "层级目录不允许上传文件");
|
||||||
String fileName = file.getOriginalFilename();
|
String fileName = file.getOriginalFilename();
|
||||||
|
|
@ -739,7 +739,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
.eq(EdFileInfo::getFileType, suffix));
|
.eq(EdFileInfo::getFileType, suffix));
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
handUploadRepeatFile(parentId, file, strategy);
|
handUploadRepeatFile(parentId, file, strategy, dataOwnCode);
|
||||||
} else {
|
} else {
|
||||||
EdFileInfo parentFolderInfo = this.baseMapper.selectOne(Wrappers.lambdaQuery(EdFileInfo.class)
|
EdFileInfo parentFolderInfo = this.baseMapper.selectOne(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getId, parentId)
|
.eq(EdFileInfo::getId, parentId)
|
||||||
|
|
@ -760,9 +760,9 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
||||||
.setFileCode(fileCode)
|
.setFileCode(fileCode)
|
||||||
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
||||||
.setPrjDir(false);
|
.setDataOwn(dataOwnCode);
|
||||||
this.saveOrUpdate(newEdFileInfo);
|
this.saveOrUpdate(newEdFileInfo);
|
||||||
String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath());
|
String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath(), dataOwnCode);
|
||||||
FileUtil.writeFromStream(file.getInputStream(), fileDestPath);
|
FileUtil.writeFromStream(file.getInputStream(), fileDestPath);
|
||||||
EleCommonUtil.encryptFile(fileDestPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes()));
|
EleCommonUtil.encryptFile(fileDestPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes()));
|
||||||
// fileSystemService.save(FileUtil.getInputStream(fileDestPath), fileDestPath); // 这里会导致文件大小为0,考虑到当前的系统为OS文件系统,暂不处理
|
// fileSystemService.save(FileUtil.getInputStream(fileDestPath), fileDestPath); // 这里会导致文件大小为0,考虑到当前的系统为OS文件系统,暂不处理
|
||||||
|
|
@ -776,7 +776,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
.setDataStatus(PublishEnum.PUBLISHED.getCode())
|
.setDataStatus(PublishEnum.PUBLISHED.getCode())
|
||||||
.setEffectFlag(EffectFlagEnum.NOT_EFFECTIVE.code)
|
.setEffectFlag(EffectFlagEnum.NOT_EFFECTIVE.code)
|
||||||
.setSaveStatus(EleDataSaveStatusEnum.FAIL.code)
|
.setSaveStatus(EleDataSaveStatusEnum.FAIL.code)
|
||||||
.setPrjDir(false);
|
.setDataOwn(dataOwnCode);
|
||||||
this.saveOrUpdate(newEdFileInfo);
|
this.saveOrUpdate(newEdFileInfo);
|
||||||
String info = "上传文件失败";
|
String info = "上传文件失败";
|
||||||
log.error(info, e);
|
log.error(info, e);
|
||||||
|
|
@ -809,11 +809,11 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> moveFile(String id, String targetFolderId, Integer strategy) {
|
public ElectromagneticResult<?> moveFile(String id, String targetFolderId, Integer strategy, int dataOwnCode) {
|
||||||
|
|
||||||
// 获取原文件mysql模型
|
// 获取原文件mysql模型
|
||||||
EdFileInfo srcFileInfo = this.baseMapper.selectById(id);
|
EdFileInfo srcFileInfo = this.baseMapper.selectById(id);
|
||||||
String srcFilePath = commonService.getFileSysPath(srcFileInfo.getFilePath());
|
String srcFilePath = commonService.getFileSysPath(srcFileInfo.getFilePath(), dataOwnCode);
|
||||||
// 判断目标路径下是否有同名文件,如果所有的同名文件:1)如果所有文件都已经被作废,则该文件为新文件,版本号从100开始。2)如果有没有被作废的文件,则冲突处理方式按---1-跳过冲突文件 2-做版本更新 3-重命名,文件名加"_1"
|
// 判断目标路径下是否有同名文件,如果所有的同名文件:1)如果所有文件都已经被作废,则该文件为新文件,版本号从100开始。2)如果有没有被作废的文件,则冲突处理方式按---1-跳过冲突文件 2-做版本更新 3-重命名,文件名加"_1"
|
||||||
long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getParentId, targetFolderId)
|
.eq(EdFileInfo::getParentId, targetFolderId)
|
||||||
|
|
@ -831,19 +831,20 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
srcFileInfo.setParentId(targetFolderId)
|
srcFileInfo.setParentId(targetFolderId)
|
||||||
.setFileVersion(FILE_START_VERSION)
|
.setFileVersion(FILE_START_VERSION)
|
||||||
.setFileTime(fileTime)
|
.setFileTime(fileTime)
|
||||||
|
.setDataOwn(dataOwnCode)
|
||||||
.setFilePath(destFolderInfo.getFilePath() + MYSQL_FILE_PATH_SPLIT + srcFileInfo.getId())
|
.setFilePath(destFolderInfo.getFilePath() + MYSQL_FILE_PATH_SPLIT + srcFileInfo.getId())
|
||||||
.setFileCode(newFileCode);
|
.setFileCode(newFileCode);
|
||||||
this.baseMapper.updateById(srcFileInfo);
|
this.baseMapper.updateById(srcFileInfo);
|
||||||
// 文件系统移动文件
|
// 文件系统移动文件
|
||||||
String destFilePath = commonService.getFileSysPath(srcFileInfo.getFilePath());
|
String destFilePath = commonService.getFileSysPath(srcFileInfo.getFilePath(), dataOwnCode);
|
||||||
fileSystemService.moveFile(srcFilePath, destFilePath);
|
fileSystemService.moveFile(srcFilePath, destFilePath);
|
||||||
} else {
|
} else {
|
||||||
return handMoveConflict(targetFolderId, strategy, srcFileInfo, destFolderInfo);
|
return handMoveConflict(targetFolderId, strategy, srcFileInfo, destFolderInfo, dataOwnCode);
|
||||||
}
|
}
|
||||||
return ElectromagneticResultUtil.success(true);
|
return ElectromagneticResultUtil.success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ElectromagneticResult<?> handMoveConflict(String targetFolderId, Integer strategy, EdFileInfo srcFileInfo, EdFileInfo destFolderInfo) {
|
private ElectromagneticResult<?> handMoveConflict(String targetFolderId, Integer strategy, EdFileInfo srcFileInfo, EdFileInfo destFolderInfo, int dataOwnCode) {
|
||||||
|
|
||||||
// 禁止同目录下移动和复制
|
// 禁止同目录下移动和复制
|
||||||
if (srcFileInfo.getParentId().equals(destFolderInfo.getId())) {
|
if (srcFileInfo.getParentId().equals(destFolderInfo.getId())) {
|
||||||
|
|
@ -869,11 +870,12 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
destSaveFileInfo.setFileVersion(maxFileVersion + 1)
|
destSaveFileInfo.setFileVersion(maxFileVersion + 1)
|
||||||
.setFilePath(destFolderInfo.getFilePath() + MYSQL_FILE_PATH_SPLIT + newFileDbId)
|
.setFilePath(destFolderInfo.getFilePath() + MYSQL_FILE_PATH_SPLIT + newFileDbId)
|
||||||
.setPreVersion(maxFileVersion)
|
.setPreVersion(maxFileVersion)
|
||||||
|
.setDataOwn(dataOwnCode)
|
||||||
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
||||||
.setFileCode(fileCode);
|
.setFileCode(fileCode);
|
||||||
this.baseMapper.insert(destSaveFileInfo);
|
this.baseMapper.insert(destSaveFileInfo);
|
||||||
String srcFilePath = commonService.getFileSysPath(srcFileInfo.getFilePath());
|
String srcFilePath = commonService.getFileSysPath(srcFileInfo.getFilePath(), dataOwnCode);
|
||||||
String destFilePath = commonService.getFileSysPath(destSaveFileInfo.getFilePath());
|
String destFilePath = commonService.getFileSysPath(destSaveFileInfo.getFilePath(), dataOwnCode);
|
||||||
fileSystemService.copyFile(srcFilePath, destFilePath);
|
fileSystemService.copyFile(srcFilePath, destFilePath);
|
||||||
this.baseMapper.deleteById(srcFileInfo.getId());
|
this.baseMapper.deleteById(srcFileInfo.getId());
|
||||||
this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class)
|
this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class)
|
||||||
|
|
@ -887,14 +889,15 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
String dbPathByDbPath = commonService.getCodePathByDbPath(destFolderInfo.getFilePath());
|
String dbPathByDbPath = commonService.getCodePathByDbPath(destFolderInfo.getFilePath());
|
||||||
newEdFileInfo.setParentId(targetFolderId)
|
newEdFileInfo.setParentId(targetFolderId)
|
||||||
.setFileVersion(FILE_START_VERSION)
|
.setFileVersion(FILE_START_VERSION)
|
||||||
|
.setDataOwn(dataOwnCode)
|
||||||
.setFileName(srcFileInfo.getFileName() + "_1")
|
.setFileName(srcFileInfo.getFileName() + "_1")
|
||||||
.setFileCode(commonService.createFileCode(dbPathByDbPath, srcFileInfo.getFileType(), FILE_START_VERSION, newEdFileInfo.getFileTime()))
|
.setFileCode(commonService.createFileCode(dbPathByDbPath, srcFileInfo.getFileType(), FILE_START_VERSION, newEdFileInfo.getFileTime()))
|
||||||
.setFilePath(destFolderInfo.getFilePath() + MYSQL_FILE_PATH_SPLIT + newEdFileInfo.getId());
|
.setFilePath(destFolderInfo.getFilePath() + MYSQL_FILE_PATH_SPLIT + newEdFileInfo.getId());
|
||||||
resetFileInfoName(newEdFileInfo);
|
resetFileInfoName(newEdFileInfo);
|
||||||
this.baseMapper.insert(newEdFileInfo);
|
this.baseMapper.insert(newEdFileInfo);
|
||||||
// 移动文件
|
// 移动文件
|
||||||
String srcFileSysPath = commonService.getFileSysPath(srcFileInfo.getFilePath());
|
String srcFileSysPath = commonService.getFileSysPath(srcFileInfo.getFilePath(), dataOwnCode);
|
||||||
String destFileSysPath = commonService.getFileSysPath(newEdFileInfo.getFilePath());
|
String destFileSysPath = commonService.getFileSysPath(newEdFileInfo.getFilePath(), dataOwnCode);
|
||||||
fileSystemService.moveFile(srcFileSysPath, destFileSysPath);
|
fileSystemService.moveFile(srcFileSysPath, destFileSysPath);
|
||||||
this.baseMapper.deleteById(srcFileInfo.getId());
|
this.baseMapper.deleteById(srcFileInfo.getId());
|
||||||
}
|
}
|
||||||
|
|
@ -909,7 +912,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> copyFile(String id, String targetFolderId, Integer strategy) {
|
public ElectromagneticResult<?> copyFile(String id, String targetFolderId, Integer strategy, int dataOwnCode) {
|
||||||
// 获取原文件mysql模型
|
// 获取原文件mysql模型
|
||||||
EdFileInfo srcFileInfo = this.baseMapper.selectById(id);
|
EdFileInfo srcFileInfo = this.baseMapper.selectById(id);
|
||||||
String srcFileDbPath = srcFileInfo.getFilePath();
|
String srcFileDbPath = srcFileInfo.getFilePath();
|
||||||
|
|
@ -936,11 +939,11 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
.setFileCode(newFileCode);
|
.setFileCode(newFileCode);
|
||||||
this.baseMapper.insert(destFileInfo);
|
this.baseMapper.insert(destFileInfo);
|
||||||
// 文件系统移动文件
|
// 文件系统移动文件
|
||||||
String srcFilePath = commonService.getFileSysPath(srcFileDbPath);
|
String srcFilePath = commonService.getFileSysPath(srcFileDbPath, dataOwnCode);
|
||||||
String destFilePath = commonService.getFileSysPath(destFileInfo.getFilePath());
|
String destFilePath = commonService.getFileSysPath(destFileInfo.getFilePath(), dataOwnCode);
|
||||||
fileSystemService.copyFile(srcFilePath, destFilePath);
|
fileSystemService.copyFile(srcFilePath, destFilePath);
|
||||||
} else {
|
} else {
|
||||||
return handCopyConflict(targetFolderId, strategy, srcFileInfo, destFolderInfo);
|
return handCopyConflict(targetFolderId, strategy, srcFileInfo, destFolderInfo, dataOwnCode);
|
||||||
}
|
}
|
||||||
return ElectromagneticResultUtil.success(true);
|
return ElectromagneticResultUtil.success(true);
|
||||||
}
|
}
|
||||||
|
|
@ -951,10 +954,10 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> uploadRecord(int pageNum, int pageSize) {
|
public ElectromagneticResult<?> uploadRecord(int pageNum, int pageSize, int dataOwnCode) {
|
||||||
|
|
||||||
List<String> accessibleIds = permissionService.getAccessibleTree();
|
List<String> accessibleIds = permissionService.getAccessibleTree();
|
||||||
Set<String> allLeafIds = commonService.selectPrjLeafs();
|
Set<String> allLeafIds = commonService.selectPrjLeafs(dataOwnCode);
|
||||||
List<String> list = new ArrayList<>();
|
List<String> list = new ArrayList<>();
|
||||||
for (String leafId : allLeafIds) {
|
for (String leafId : allLeafIds) {
|
||||||
if (accessibleIds.contains(leafId)) {
|
if (accessibleIds.contains(leafId)) {
|
||||||
|
|
@ -966,6 +969,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
}
|
}
|
||||||
LambdaQueryWrapper<EdFileInfo> lambdaQuery = Wrappers.lambdaQuery(EdFileInfo.class)
|
LambdaQueryWrapper<EdFileInfo> lambdaQuery = Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.select(EdFileInfo::getId, EdFileInfo::getFileName, EdFileInfo::getSaveStatus, EdFileInfo::getCreatedTime, EdFileInfo::getFileType)
|
.select(EdFileInfo::getId, EdFileInfo::getFileName, EdFileInfo::getSaveStatus, EdFileInfo::getCreatedTime, EdFileInfo::getFileType)
|
||||||
|
.eq(EdFileInfo::getDataOwn, dataOwnCode)
|
||||||
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FILE.code)
|
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FILE.code)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code);
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code);
|
||||||
lambdaQuery.or(qr -> {
|
lambdaQuery.or(qr -> {
|
||||||
|
|
@ -994,7 +998,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
return ElectromagneticResultUtil.success(fileInfoVO);
|
return ElectromagneticResultUtil.success(fileInfoVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ElectromagneticResult<?> handCopyConflict(String targetFolderId, Integer strategy, EdFileInfo srcFileInfo, EdFileInfo destFolderInfo) {
|
private ElectromagneticResult<?> handCopyConflict(String targetFolderId, Integer strategy, EdFileInfo srcFileInfo, EdFileInfo destFolderInfo, int dataOwnCode) {
|
||||||
// 禁止同目录下移动和复制
|
// 禁止同目录下移动和复制
|
||||||
if (srcFileInfo.getParentId().equals(destFolderInfo.getId())) {
|
if (srcFileInfo.getParentId().equals(destFolderInfo.getId())) {
|
||||||
String info = "禁止相同文件夹下复制文件";
|
String info = "禁止相同文件夹下复制文件";
|
||||||
|
|
@ -1026,8 +1030,8 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
.eq(EdFileInfo::getFileName, srcFileInfo.getFileName())
|
.eq(EdFileInfo::getFileName, srcFileInfo.getFileName())
|
||||||
.eq(EdFileInfo::getFileType, srcFileInfo.getFileType()).set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code));
|
.eq(EdFileInfo::getFileType, srcFileInfo.getFileType()).set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code));
|
||||||
this.baseMapper.insert(destSaveFileInfo);
|
this.baseMapper.insert(destSaveFileInfo);
|
||||||
String srcFilePath = commonService.getFileSysPath(srcFileInfo.getFilePath());
|
String srcFilePath = commonService.getFileSysPath(srcFileInfo.getFilePath(), dataOwnCode);
|
||||||
String destFilePath = commonService.getFileSysPath(destSaveFileInfo.getFilePath());
|
String destFilePath = commonService.getFileSysPath(destSaveFileInfo.getFilePath(), dataOwnCode);
|
||||||
fileSystemService.copyFile(srcFilePath, destFilePath);
|
fileSystemService.copyFile(srcFilePath, destFilePath);
|
||||||
} else if (strategy == 3) {
|
} else if (strategy == 3) {
|
||||||
// 文件名加“_1”,版本号从100开始
|
// 文件名加“_1”,版本号从100开始
|
||||||
|
|
@ -1043,15 +1047,15 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
resetFileInfoName(newEdFileInfo);
|
resetFileInfoName(newEdFileInfo);
|
||||||
this.baseMapper.insert(newEdFileInfo);
|
this.baseMapper.insert(newEdFileInfo);
|
||||||
// 移动文件
|
// 移动文件
|
||||||
String srcFileSysPath = commonService.getFileSysPath(srcFileInfo.getFilePath());
|
String srcFileSysPath = commonService.getFileSysPath(srcFileInfo.getFilePath(), dataOwnCode);
|
||||||
String destFileSysPath = commonService.getFileSysPath(newEdFileInfo.getFilePath());
|
String destFileSysPath = commonService.getFileSysPath(newEdFileInfo.getFilePath(), dataOwnCode);
|
||||||
fileSystemService.copyFile(srcFileSysPath, destFileSysPath);
|
fileSystemService.copyFile(srcFileSysPath, destFileSysPath);
|
||||||
}
|
}
|
||||||
return ElectromagneticResultUtil.success(true);
|
return ElectromagneticResultUtil.success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void handUploadRepeatFile(String parentId, MultipartFile file, Integer strategy) throws IOException {
|
public void handUploadRepeatFile(String parentId, MultipartFile file, Integer strategy, int dataOwnCode) throws IOException {
|
||||||
Assert.isTrue(Arrays.asList(1, 2, 3).contains(strategy), "解决同名文件参数错误");
|
Assert.isTrue(Arrays.asList(1, 2, 3).contains(strategy), "解决同名文件参数错误");
|
||||||
String fileName = file.getOriginalFilename();
|
String fileName = file.getOriginalFilename();
|
||||||
String mainName = FileUtil.mainName(fileName);
|
String mainName = FileUtil.mainName(fileName);
|
||||||
|
|
@ -1095,9 +1099,9 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
||||||
.setFileCode(fileCode)
|
.setFileCode(fileCode)
|
||||||
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
||||||
.setPrjDir(false);
|
.setDataOwn(dataOwnCode);
|
||||||
this.baseMapper.insert(newEdFileInfo);
|
this.baseMapper.insert(newEdFileInfo);
|
||||||
String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath());
|
String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath(), dataOwnCode);
|
||||||
fileSystemService.save(file.getInputStream(), fileDestPath);
|
fileSystemService.save(file.getInputStream(), fileDestPath);
|
||||||
} else if (strategy == 3) {
|
} else if (strategy == 3) {
|
||||||
// 文件名加”_1“,存为新文件
|
// 文件名加”_1“,存为新文件
|
||||||
|
|
@ -1122,10 +1126,10 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
||||||
.setFileCode(fileCode)
|
.setFileCode(fileCode)
|
||||||
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
||||||
.setPrjDir(false);
|
.setDataOwn(dataOwnCode);
|
||||||
resetFileInfoName(newEdFileInfo);
|
resetFileInfoName(newEdFileInfo);
|
||||||
this.baseMapper.insert(newEdFileInfo);
|
this.baseMapper.insert(newEdFileInfo);
|
||||||
String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath());
|
String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath(), dataOwnCode);
|
||||||
fileSystemService.save(file.getInputStream(), fileDestPath);
|
fileSystemService.save(file.getInputStream(), fileDestPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1169,10 +1173,10 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
if (file == null) {
|
if (file == null) {
|
||||||
throw new IllegalArgumentException("此ID未查询到文件:"+id);
|
throw new IllegalArgumentException("此ID未查询到文件:"+id);
|
||||||
}
|
}
|
||||||
if(file.getId().length()<6){
|
if(file.getId().length() < 6){
|
||||||
throw new StringIndexOutOfBoundsException("此文件的FILE_CODE小于六位:"+id);
|
throw new StringIndexOutOfBoundsException("此文件的FILE_CODE小于六位:"+id);
|
||||||
}
|
}
|
||||||
if(file.getPrjDir().equals(Boolean.TRUE)){
|
if(file.getDataOwn().equals(DataOwnEnum.SYS_PRJ.code) || file.getDataOwn().equals(DataOwnEnum.USER_PRJ.code)){
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
return file.getFileCode().substring(0, 6);
|
return file.getFileCode().substring(0, 6);
|
||||||
|
|
@ -1185,11 +1189,11 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> queryChildFolder(String parentId) {
|
public ElectromagneticResult<?> queryChildFolder(String parentId, int dataOwnCode) {
|
||||||
|
|
||||||
List<EdFileInfo> edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).select(EdFileInfo::getId, EdFileInfo::getFileName)
|
List<EdFileInfo> edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).select(EdFileInfo::getId, EdFileInfo::getFileName)
|
||||||
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
|
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
|
||||||
.eq(EdFileInfo::getPrjDir, Boolean.FALSE)
|
.eq(EdFileInfo::getDataOwn, dataOwnCode)
|
||||||
.eq(EdFileInfo::getParentId, parentId)
|
.eq(EdFileInfo::getParentId, parentId)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
||||||
List<ChildFolderVO> res = BeanUtil.copyToList(edFileInfos, ChildFolderVO.class);
|
List<ChildFolderVO> res = BeanUtil.copyToList(edFileInfos, ChildFolderVO.class);
|
||||||
|
|
@ -1203,11 +1207,11 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
* @param response
|
* @param response
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<InputStreamResource> preview(String id, HttpServletResponse response) {
|
public ResponseEntity<InputStreamResource> preview(String id, HttpServletResponse response, int dataOwnCode) {
|
||||||
try {
|
try {
|
||||||
EdFileInfo fileInfo = this.baseMapper.selectById(id);
|
EdFileInfo fileInfo = this.baseMapper.selectById(id);
|
||||||
Assert.isTrue(Objects.nonNull(fileInfo), "文件不存在");
|
Assert.isTrue(Objects.nonNull(fileInfo), "文件不存在");
|
||||||
String fileSysPath = commonService.getFileSysPath(fileInfo.getFilePath());
|
String fileSysPath = commonService.getFileSysPath(fileInfo.getFilePath(), dataOwnCode);
|
||||||
EleCommonUtil.decryptFile(fileSysPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes()));
|
EleCommonUtil.decryptFile(fileSysPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes()));
|
||||||
if (Arrays.asList("doc", "docx").contains(fileInfo.getFileType())) {
|
if (Arrays.asList("doc", "docx").contains(fileInfo.getFileType())) {
|
||||||
String pdfTmpPath = tmpDir + File.separator + fileInfo.getFileName() + "_" + IdUtil.fastSimpleUUID() + ".pdf";
|
String pdfTmpPath = tmpDir + File.separator + fileInfo.getFileName() + "_" + IdUtil.fastSimpleUUID() + ".pdf";
|
||||||
|
|
|
||||||
|
|
@ -174,19 +174,19 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
|
||||||
* @param parentId
|
* @param parentId
|
||||||
* @param id 主文件Id
|
* @param id 主文件Id
|
||||||
* @param file
|
* @param file
|
||||||
* @param descrption 关系描述
|
* @param desc 关系描述
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> uploadFileAndRelation(String parentId, String id, MultipartFile file, String descrption) {
|
public ElectromagneticResult<?> uploadFileAndRelation(String parentId, String id, MultipartFile file, String desc, int dataOwnCode) {
|
||||||
|
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), NAME_VALID_MSG);
|
Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), NAME_VALID_MSG);
|
||||||
// 查找下一层,看是否存在顶级定义相关文件,如果存在,则该层属于管理员层级定义的,不允许上传文件
|
// 查找下一层,看是否存在顶级定义相关文件,如果存在,则该层属于管理员层级定义的,不允许上传文件
|
||||||
long dirCount = edFileInfoService.count(Wrappers.lambdaQuery(EdFileInfo.class)
|
long dirCount = edFileInfoService.count(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getParentId, parentId)
|
.eq(EdFileInfo::getParentId, parentId)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
.eq(EdFileInfo::getPrjDir, true)
|
.eq(EdFileInfo::getDataOwn, dataOwnCode)
|
||||||
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code));
|
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code));
|
||||||
Assert.isTrue(dirCount == 0, "层级目录不允许上传文件");
|
Assert.isTrue(dirCount == 0, "层级目录不允许上传文件");
|
||||||
|
|
||||||
|
|
@ -197,7 +197,6 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
|
||||||
newEdFileInfo.newInit();
|
newEdFileInfo.newInit();
|
||||||
// 首先检查是否是同名文件
|
// 首先检查是否是同名文件
|
||||||
try {
|
try {
|
||||||
|
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(fileName), NAME_VALID_MSG);
|
Assert.isTrue(EleCommonUtil.isFileNameValid(fileName), NAME_VALID_MSG);
|
||||||
Long count = edFileInfoService.count(Wrappers.lambdaQuery(EdFileInfo.class)
|
Long count = edFileInfoService.count(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getParentId, parentId)
|
.eq(EdFileInfo::getParentId, parentId)
|
||||||
|
|
@ -205,7 +204,7 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
.eq(EdFileInfo::getFileType, suffix));
|
.eq(EdFileInfo::getFileType, suffix));
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
edFileInfoService.handUploadRepeatFile(parentId, file, 3);
|
edFileInfoService.handUploadRepeatFile(parentId, file, 3, dataOwnCode);
|
||||||
} else {
|
} else {
|
||||||
EdFileInfo parentFolderInfo = edFileInfoService.getOne(Wrappers.lambdaQuery(EdFileInfo.class)
|
EdFileInfo parentFolderInfo = edFileInfoService.getOne(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getId, parentId)
|
.eq(EdFileInfo::getId, parentId)
|
||||||
|
|
@ -226,9 +225,9 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
|
||||||
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
||||||
.setFileCode(fileCode)
|
.setFileCode(fileCode)
|
||||||
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
|
||||||
.setPrjDir(false);
|
.setDataOwn(dataOwnCode);
|
||||||
edFileInfoService.saveOrUpdate(newEdFileInfo);
|
edFileInfoService.saveOrUpdate(newEdFileInfo);
|
||||||
String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath());
|
String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath(), dataOwnCode);
|
||||||
FileUtil.writeFromStream(file.getInputStream(), fileDestPath);
|
FileUtil.writeFromStream(file.getInputStream(), fileDestPath);
|
||||||
EleCommonUtil.encryptFile(fileDestPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes()));
|
EleCommonUtil.encryptFile(fileDestPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes()));
|
||||||
// fileSystemService.save(FileUtil.getInputStream(fileDestPath), fileDestPath); // 这里会导致文件大小为0,考虑到当前的系统为OS文件系统,暂不处理
|
// fileSystemService.save(FileUtil.getInputStream(fileDestPath), fileDestPath); // 这里会导致文件大小为0,考虑到当前的系统为OS文件系统,暂不处理
|
||||||
|
|
@ -237,7 +236,7 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
|
||||||
EdFileRelation relation = new EdFileRelation();
|
EdFileRelation relation = new EdFileRelation();
|
||||||
relation.setId1(id);
|
relation.setId1(id);
|
||||||
relation.setId2(newEdFileInfo.getId());
|
relation.setId2(newEdFileInfo.getId());
|
||||||
relation.setRelationship(descrption);
|
relation.setRelationship(desc);
|
||||||
createRelation(relation);
|
createRelation(relation);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
@ -249,7 +248,7 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
|
||||||
.setDataStatus(PublishEnum.PUBLISHED.getCode())
|
.setDataStatus(PublishEnum.PUBLISHED.getCode())
|
||||||
.setEffectFlag(EffectFlagEnum.NOT_EFFECTIVE.code)
|
.setEffectFlag(EffectFlagEnum.NOT_EFFECTIVE.code)
|
||||||
.setSaveStatus(EleDataSaveStatusEnum.FAIL.code)
|
.setSaveStatus(EleDataSaveStatusEnum.FAIL.code)
|
||||||
.setPrjDir(false);
|
.setDataOwn(dataOwnCode);
|
||||||
edFileInfoService.saveOrUpdate(newEdFileInfo);
|
edFileInfoService.saveOrUpdate(newEdFileInfo);
|
||||||
String info = "上传文件失败";
|
String info = "上传文件失败";
|
||||||
log.error(info, e);
|
log.error(info, e);
|
||||||
|
|
|
||||||
|
|
@ -2,16 +2,14 @@ package com.electromagnetic.industry.software.manage.service.serviceimpl;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.core.text.StrFormatter;
|
import cn.hutool.core.text.StrFormatter;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
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.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.electromagnetic.industry.software.common.enums.EffectFlagEnum;
|
import com.electromagnetic.industry.software.common.enums.*;
|
||||||
import com.electromagnetic.industry.software.common.enums.EleDataSaveStatusEnum;
|
|
||||||
import com.electromagnetic.industry.software.common.enums.EleDataStatusEnum;
|
|
||||||
import com.electromagnetic.industry.software.common.enums.EleDataTypeEnum;
|
|
||||||
import com.electromagnetic.industry.software.common.exception.BizException;
|
import com.electromagnetic.industry.software.common.exception.BizException;
|
||||||
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
|
||||||
import com.electromagnetic.industry.software.common.util.EleCommonUtil;
|
import com.electromagnetic.industry.software.common.util.EleCommonUtil;
|
||||||
|
|
@ -57,12 +55,13 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> createNewPrj(String prjName) {
|
public ElectromagneticResult<?> createNewPrj(String prjName, int dataOwnCode) {
|
||||||
|
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(prjName), NAME_VALID_MSG);
|
Assert.isTrue(EleCommonUtil.isFileNameValid(prjName), NAME_VALID_MSG);
|
||||||
// 首先检查工程是否存在
|
// 首先检查工程是否存在
|
||||||
Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getParentId, PRJ_PARENT_ID)
|
.eq(EdFileInfo::getParentId, PRJ_PARENT_ID)
|
||||||
|
.eq(EdFileInfo::getDataOwn, dataOwnCode)
|
||||||
.eq(EdFileInfo::getFileName, prjName));
|
.eq(EdFileInfo::getFileName, prjName));
|
||||||
|
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
|
|
@ -88,7 +87,6 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
.setFileVersion(FILE_START_VERSION)
|
.setFileVersion(FILE_START_VERSION)
|
||||||
.setParentId(PRJ_PARENT_ID)
|
.setParentId(PRJ_PARENT_ID)
|
||||||
.setFileTime(nowTimeStr)
|
.setFileTime(nowTimeStr)
|
||||||
.setPrjDir(true)
|
|
||||||
.setDataType(EleDataTypeEnum.FOLDER.code)
|
.setDataType(EleDataTypeEnum.FOLDER.code)
|
||||||
.setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code)
|
.setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code)
|
||||||
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
.setEffectFlag(EffectFlagEnum.EFFECT.code)
|
||||||
|
|
@ -96,13 +94,14 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
.setFilePath(newPrjId)
|
.setFilePath(newPrjId)
|
||||||
.setSort(++prjCount)
|
.setSort(++prjCount)
|
||||||
.setFileCode(commonService.createFileCode(newPrjId, EleDataTypeEnum.FOLDER.desc, FILE_START_VERSION, nowTimeStr))
|
.setFileCode(commonService.createFileCode(newPrjId, EleDataTypeEnum.FOLDER.desc, FILE_START_VERSION, nowTimeStr))
|
||||||
|
.setDataOwn(dataOwnCode)
|
||||||
.setCreatedTime(now)
|
.setCreatedTime(now)
|
||||||
.setUpdatedTime(now)
|
.setUpdatedTime(now)
|
||||||
.setCreatedBy(currentUserId)
|
.setCreatedBy(currentUserId)
|
||||||
.setUpdatedBy(currentUserId);
|
.setUpdatedBy(currentUserId);
|
||||||
this.save(fileInfo);
|
this.save(fileInfo);
|
||||||
// 保存到文件系统
|
// 保存到文件系统
|
||||||
fileSystemService.createDirectory(commonService.getEleDataPath() + File.separator + prjName);
|
fileSystemService.createDirectory(commonService.getEleDataPath(dataOwnCode) + File.separator + prjName);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String info = StrFormatter.format("文件创建失败,具体为--->{}", e.getMessage());
|
String info = StrFormatter.format("文件创建失败,具体为--->{}", e.getMessage());
|
||||||
log.error(info, e);
|
log.error(info, e);
|
||||||
|
|
@ -120,11 +119,12 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> modifyPrjName(String prjId, String newPrjName) {
|
public ElectromagneticResult<?> modifyPrjName(String prjId, String newPrjName, int dataOwnCode) {
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(newPrjName), NAME_VALID_MSG);
|
Assert.isTrue(EleCommonUtil.isFileNameValid(newPrjName), NAME_VALID_MSG);
|
||||||
try {
|
try {
|
||||||
Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getParentId, PRJ_PARENT_ID)
|
.eq(EdFileInfo::getParentId, PRJ_PARENT_ID)
|
||||||
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
.eq(EdFileInfo::getFileName, newPrjName));
|
.eq(EdFileInfo::getFileName, newPrjName));
|
||||||
|
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
|
|
@ -137,18 +137,17 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
.select(EdFileInfo::getFileName)
|
.select(EdFileInfo::getFileName)
|
||||||
.eq(EdFileInfo::getId, prjId));
|
.eq(EdFileInfo::getId, prjId));
|
||||||
String oldPrjName = fileInfo.getFileName();
|
String oldPrjName = fileInfo.getFileName();
|
||||||
String newPath = commonService.getEleDataPath() + File.separator + newPrjName;
|
String newPath = commonService.getEleDataPath(dataOwnCode) + File.separator + newPrjName;
|
||||||
if (fileSystemService.checkFolderExist(newPath)) {
|
if (fileSystemService.checkFolderExist(newPath)) {
|
||||||
String info = StrFormatter.format("工程名{}已经存在", newPrjName);
|
String tmpPath = newPrjName + "_" + IdUtil.fastSimpleUUID() + DELETE_FLAG;
|
||||||
log.error(info);
|
fileSystemService.renameFile(newPath, tmpPath);
|
||||||
return ElectromagneticResultUtil.fail("-1", info);
|
|
||||||
}
|
}
|
||||||
this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class)
|
this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getId, prjId)
|
.eq(EdFileInfo::getId, prjId)
|
||||||
.set(EdFileInfo::getFileName, newPrjName)
|
.set(EdFileInfo::getFileName, newPrjName)
|
||||||
.set(EdFileInfo::getUpdatedBy, UserThreadLocal.getUserId())
|
.set(EdFileInfo::getUpdatedBy, UserThreadLocal.getUserId())
|
||||||
.set(EdFileInfo::getUpdatedTime, new Date()));
|
.set(EdFileInfo::getUpdatedTime, new Date()));
|
||||||
fileSystemService.renameFile(commonService.getEleDataPath(), oldPrjName, newPrjName);
|
fileSystemService.renameFile(commonService.getEleDataPath(dataOwnCode), oldPrjName, newPrjName);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String info = StrFormatter.format("修改工程名异常--->{},{}", newPrjName, e.getMessage());
|
String info = StrFormatter.format("修改工程名异常--->{},{}", newPrjName, e.getMessage());
|
||||||
log.error(info, e);
|
log.error(info, e);
|
||||||
|
|
@ -165,11 +164,13 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> delete(String prjId) {
|
public ElectromagneticResult<?> delete(String prjId, int dataOwnCode) {
|
||||||
try {
|
try {
|
||||||
|
// 首先查看该工程下是否还有文件
|
||||||
Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FILE.code)
|
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FILE.code)
|
||||||
.likeRight(EdFileInfo::getFilePath, prjId));
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
|
.likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT));
|
||||||
|
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
String info = StrFormatter.format("禁止删除非空项目");
|
String info = StrFormatter.format("禁止删除非空项目");
|
||||||
|
|
@ -177,14 +178,16 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
ElectromagneticResultUtil.fail("-1", info);
|
ElectromagneticResultUtil.fail("-1", info);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> ids = new ArrayList<>();
|
|
||||||
ids.add(prjId);
|
|
||||||
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.select(EdFileInfo::getId)
|
.select(EdFileInfo::getId)
|
||||||
.likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT);
|
.likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT);
|
||||||
List<EdFileInfo> edFileInfos = this.baseMapper.selectList(queryWrapper);
|
List<EdFileInfo> edFileInfos = this.baseMapper.selectList(queryWrapper);
|
||||||
edFileInfos.forEach(e -> ids.add(e.getId()));
|
List<String> ids = edFileInfos.stream().map(EdFileInfo::getId).collect(Collectors.toList());
|
||||||
|
ids.add(prjId);
|
||||||
this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class).set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code).in(EdFileInfo::getId, ids));
|
this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class).set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code).in(EdFileInfo::getId, ids));
|
||||||
|
// 对原文件进行处理
|
||||||
|
EdFileInfo prjFile = this.getById(prjId);
|
||||||
|
fileSystemService.renameFile(commonService.getFileSysPath(prjId, dataOwnCode), prjFile + "_" + IdUtil.fastSimpleUUID() + DELETE_FLAG);
|
||||||
return ElectromagneticResultUtil.success(true);
|
return ElectromagneticResultUtil.success(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String info = "删除项目失败";
|
String info = "删除项目失败";
|
||||||
|
|
@ -202,17 +205,18 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> addFolder(String parentId, String folderName) {
|
public ElectromagneticResult<?> addFolder(String parentId, String folderName, int dataOwnCode) {
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), NAME_VALID_MSG);
|
Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), NAME_VALID_MSG);
|
||||||
// 检查当前目录下有文件,如果有则不允许添加
|
// 检查当前目录下有文件,如果有则不允许添加
|
||||||
long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getFileType, EleDataTypeEnum.FILE.code)
|
.eq(EdFileInfo::getFileType, EleDataTypeEnum.FILE.code)
|
||||||
|
.eq(EdFileInfo::getDataOwn, dataOwnCode)
|
||||||
.eq(EdFileInfo::getParentId, parentId)
|
.eq(EdFileInfo::getParentId, parentId)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
||||||
Assert.isTrue(count == 0, "该层级目录下存在文件,不允许再定义层级目录");
|
Assert.isTrue(count == 0, "该层级目录下存在文件,不允许再定义层级目录");
|
||||||
int id = Integer.parseInt(this.baseMapper.maxPrjId());
|
int id = Integer.parseInt(this.baseMapper.maxPrjId());
|
||||||
String folderId = String.valueOf(id + 1);
|
String folderId = String.valueOf(id + 1);
|
||||||
return commonService.addFolder(parentId, folderName, true, true, folderId, null);
|
return commonService.addFolder(parentId, folderName, true, folderId, null, dataOwnCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -221,8 +225,8 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> queryAllPrjInfo() {
|
public ElectromagneticResult<?> queryAllPrjInfo(int dataOwnCode) {
|
||||||
List<String> res = commonService.queryAllPrjInfo(true, null);
|
List<String> res = commonService.queryAllPrjInfo(true, null, dataOwnCode);
|
||||||
List<ProjectVO> projectVOS = new ArrayList<>();
|
List<ProjectVO> projectVOS = new ArrayList<>();
|
||||||
res.forEach(e -> {
|
res.forEach(e -> {
|
||||||
ProjectVO projectVO = JSONUtil.toList(e, ProjectVO.class).get(0);
|
ProjectVO projectVO = JSONUtil.toList(e, ProjectVO.class).get(0);
|
||||||
|
|
@ -268,11 +272,23 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> publish(String prjId) {
|
public ElectromagneticResult<?> publish(String prjId, int dataOwnCode) {
|
||||||
try {
|
try {
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
String currentUserId = UserThreadLocal.getUserId();
|
String currentUserId = UserThreadLocal.getUserId();
|
||||||
// 将已经处于删除状态设置成逻辑删除
|
// 将已经处于删除状态设置成逻辑删除
|
||||||
|
|
||||||
|
LambdaQueryWrapper<EdFileInfo> queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
|
.select(EdFileInfo::getId, EdFileInfo::getFilePath)
|
||||||
|
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code)
|
||||||
|
.likeRight(EdFileInfo::getFilePath, prjId);
|
||||||
|
List<String> paths = this.baseMapper.selectList(queryWrapper).stream().map(EdFileInfo::getFilePath).collect(Collectors.toList());
|
||||||
|
List<String> fileSysPaths = new ArrayList<>();
|
||||||
|
paths.forEach(path -> {
|
||||||
|
String fileSysPath = commonService.getFileSysPath(path, dataOwnCode);
|
||||||
|
fileSysPaths.add(fileSysPath);
|
||||||
|
});
|
||||||
|
|
||||||
this.update(Wrappers.lambdaUpdate(EdFileInfo.class)
|
this.update(Wrappers.lambdaUpdate(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code)
|
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code)
|
||||||
.set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code)
|
.set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code)
|
||||||
|
|
@ -287,6 +303,7 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
.set(EdFileInfo::getUpdatedTime, now)
|
.set(EdFileInfo::getUpdatedTime, now)
|
||||||
.likeRight(EdFileInfo::getFilePath, prjId);
|
.likeRight(EdFileInfo::getFilePath, prjId);
|
||||||
this.update(updateWrapper);
|
this.update(updateWrapper);
|
||||||
|
commonService.deletePrjSysDir(fileSysPaths);
|
||||||
return ElectromagneticResultUtil.success(true);
|
return ElectromagneticResultUtil.success(true);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String info = "项目发布异常";
|
String info = "项目发布异常";
|
||||||
|
|
@ -303,8 +320,8 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> deleteFolder(String fileId) {
|
public ElectromagneticResult<?> deleteFolder(String fileId, int dataOwnCode) {
|
||||||
return commonService.deleteFolder(fileId);
|
return commonService.deleteFolder(fileId, dataOwnCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -316,7 +333,7 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> follow(String sourceId, String targetId) {
|
public ElectromagneticResult<?> follow(String sourceId, String targetId, int dataOwnCode) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String currentUserId = UserThreadLocal.getUserId();
|
String currentUserId = UserThreadLocal.getUserId();
|
||||||
|
|
@ -358,7 +375,7 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
.setFileId(newFolderId)
|
.setFileId(newFolderId)
|
||||||
.setFileName(sourceFile.getFileName())
|
.setFileName(sourceFile.getFileName())
|
||||||
.setFileVersion(FILE_START_VERSION)
|
.setFileVersion(FILE_START_VERSION)
|
||||||
.setPrjDir(true)
|
.setDataOwn(dataOwnCode)
|
||||||
.setParentId(targetParentFile.getId())
|
.setParentId(targetParentFile.getId())
|
||||||
.setFileTime(nowTimeStr)
|
.setFileTime(nowTimeStr)
|
||||||
.setDataType(EleDataTypeEnum.FOLDER.code)
|
.setDataType(EleDataTypeEnum.FOLDER.code)
|
||||||
|
|
@ -374,7 +391,7 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
.setUpdatedBy(currentUserId);
|
.setUpdatedBy(currentUserId);
|
||||||
this.save(targetFile);
|
this.save(targetFile);
|
||||||
targetEdFileInfos.add(targetFile);
|
targetEdFileInfos.add(targetFile);
|
||||||
String targetSysFilePath = commonService.getFileSysPath(targetFile.getFilePath());
|
String targetSysFilePath = commonService.getFileSysPath(targetFile.getFilePath(), dataOwnCode);
|
||||||
needSavePaths.add(targetSysFilePath);
|
needSavePaths.add(targetSysFilePath);
|
||||||
} else {
|
} else {
|
||||||
String info = "存在相同子集";
|
String info = "存在相同子集";
|
||||||
|
|
@ -403,18 +420,18 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ElectromagneticResult<?> modifyFolder(String id, String newFolderName) {
|
public ElectromagneticResult<?> modifyFolder(String id, String newFolderName, int dataOwnCode) {
|
||||||
|
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(newFolderName), NAME_VALID_MSG);
|
Assert.isTrue(EleCommonUtil.isFileNameValid(newFolderName), NAME_VALID_MSG);
|
||||||
try {
|
try {
|
||||||
String parentId = this.baseMapper.selectById(id).getParentId();
|
String parentId = this.baseMapper.selectById(id).getParentId();
|
||||||
// 首先检查同层是否有同名目录
|
// 首先检查同层是否有同名目录
|
||||||
Assert.isTrue(commonService.notExistSameFolder(parentId, newFolderName), "子集名已经存在");
|
Assert.isTrue(commonService.notExistSameFolder(parentId, newFolderName, dataOwnCode), "子集名已经存在");
|
||||||
String currentUserId = UserThreadLocal.getUserId();
|
String currentUserId = UserThreadLocal.getUserId();
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
EdFileInfo fileInfo = this.baseMapper.selectOne(Wrappers.lambdaQuery(EdFileInfo.class)
|
EdFileInfo fileInfo = this.baseMapper.selectOne(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getId, id));
|
.eq(EdFileInfo::getId, id));
|
||||||
String sysFilePath = commonService.getFileSysPath(fileInfo.getFilePath());
|
String sysFilePath = commonService.getFileSysPath(fileInfo.getFilePath(), dataOwnCode);
|
||||||
this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class)
|
this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class)
|
||||||
.set(EdFileInfo::getUpdatedTime, now)
|
.set(EdFileInfo::getUpdatedTime, now)
|
||||||
.set(EdFileInfo::getUpdatedBy, currentUserId)
|
.set(EdFileInfo::getUpdatedBy, currentUserId)
|
||||||
|
|
@ -436,12 +453,12 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ElectromagneticResult<?> publishStatus(QueryPublishStatus queryPublishStatus) {
|
public ElectromagneticResult<?> publishStatus(QueryPublishStatus queryPublishStatus, int dataOwnCode) {
|
||||||
Map<String, Integer> res = new HashMap<>();
|
Map<String, Integer> res = new HashMap<>();
|
||||||
List<String> prjIds = queryPublishStatus.getPrjIds();
|
List<String> prjIds = queryPublishStatus.getPrjIds();
|
||||||
List<EdFileInfo> edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).select(EdFileInfo::getFilePath)
|
List<EdFileInfo> edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).select(EdFileInfo::getFilePath)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
.eq(EdFileInfo::getPrjDir, true)
|
.eq(EdFileInfo::getDataOwn, dataOwnCode)
|
||||||
.and(qr -> qr
|
.and(qr -> qr
|
||||||
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code)
|
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code)
|
||||||
.or()
|
.or()
|
||||||
|
|
|
||||||
|
|
@ -375,12 +375,12 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements Ro
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private List<EdFileInfo> getFiles() {
|
private List<EdFileInfo> getFiles(int dataOwnCode) {
|
||||||
return edFileInfoMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class)
|
return edFileInfoMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||||
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
|
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
|
||||||
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.PUBLISHED.code)
|
.eq(EdFileInfo::getDataStatus, EleDataStatusEnum.PUBLISHED.code)
|
||||||
.eq(EdFileInfo::getPrjDir, true));
|
.eq(EdFileInfo::getDataOwn, dataOwnCode));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,13 +17,24 @@ server.port=12396
|
||||||
data.windows.path=D:/tmp/szsd/data/eleData/dev/project/
|
data.windows.path=D:/tmp/szsd/data/eleData/dev/project/
|
||||||
data.upload.windows.tmp.path=D:/tmp/szsd/data/eleData/dev/upload/
|
data.upload.windows.tmp.path=D:/tmp/szsd/data/eleData/dev/upload/
|
||||||
data.download.windows.tmp.path=D:/tmp/szsd/data/eleData/dev/download/
|
data.download.windows.tmp.path=D:/tmp/szsd/data/eleData/dev/download/
|
||||||
data.windows.tmp.path=D:/szsd/data/eleData/dev/tmp
|
data.windows.tmp.path=D:/tmp/szsd/data/eleData/dev/tmp
|
||||||
|
|
||||||
|
data.windows.user.path=D:/tmp/szsd/data/eleData/dev/user_project/
|
||||||
|
data.upload.windows.user.tmp.path=D:/tmp/szsd/data/eleData/dev/user_upload/
|
||||||
|
data.download.windows.user.tmp.path=D:/tmp/szsd/data/eleData/dev/usr_download/
|
||||||
|
data.windows.usere.tmp.path=D:/tmp/szsd/data/eleData/dev/user_tmp
|
||||||
|
|
||||||
data.linux.path=/szsd/data/eleData/dev/project/
|
data.linux.path=/szsd/data/eleData/dev/project/
|
||||||
data.upload.linux.tmp.path=/szsd/data/eleData/dev/upload/
|
data.upload.linux.tmp.path=/szsd/data/eleData/dev/upload/
|
||||||
data.download.linux.tmp.path=/szsd/data/eleData/dev/download/
|
data.download.linux.tmp.path=/szsd/data/eleData/dev/download/
|
||||||
data.linux.tmp.path=/szsd/data/eleData/dev/tmp
|
data.linux.tmp.path=/szsd/data/eleData/dev/tmp
|
||||||
|
|
||||||
|
# user path
|
||||||
|
data.linux.user.path=/szsd/data/eleData/dev/user_project/
|
||||||
|
data.upload.linux.user.tmp.path=/szsd/data/eleData/dev/user_upload/
|
||||||
|
data.download.linux.user.tmp.path=/szsd/data/eleData/dev/usr_download/
|
||||||
|
data.linux.user.tmp.path=/szsd/data/eleData/dev/user_tmp
|
||||||
|
|
||||||
prj.folder.max.length=6
|
prj.folder.max.length=6
|
||||||
|
|
||||||
spring.jackson.time-zone=GMT+8
|
spring.jackson.time-zone=GMT+8
|
||||||
|
|
@ -17,4 +17,6 @@ public interface ElectromagneticConstants {
|
||||||
String FILE_SEC_PASSWD = "adknfhkj87654knd";
|
String FILE_SEC_PASSWD = "adknfhkj87654knd";
|
||||||
|
|
||||||
int PRJ_ID_LENGTH = 6;
|
int PRJ_ID_LENGTH = 6;
|
||||||
|
|
||||||
|
String DELETE_FLAG = "delete";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.electromagnetic.industry.software.common.enums;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum DataOwnEnum {
|
||||||
|
|
||||||
|
COMMON(0, "上传的文件或者新建的文件夹"),
|
||||||
|
SYS_PRJ(1, "系统管理员创建的层级"),
|
||||||
|
USER_PRJ(2, "用户自定义的层级"),
|
||||||
|
REPO_FILE(3, "库文件");
|
||||||
|
|
||||||
|
public int code;
|
||||||
|
public String desc;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -9,6 +9,7 @@ public enum UserOperationModuleEnum {
|
||||||
UNKNOWN("unknown", "未分组"),
|
UNKNOWN("unknown", "未分组"),
|
||||||
DATABASE("database", "数据库管理"),
|
DATABASE("database", "数据库管理"),
|
||||||
USER("user", "人员管理"),
|
USER("user", "人员管理"),
|
||||||
|
USER_PRJ("userPrj", "个人数据"),
|
||||||
PERMISSION("permission", "权限管理");
|
PERMISSION("permission", "权限管理");
|
||||||
|
|
||||||
public final String key;
|
public final String key;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue