From 6fa792ae482a02e3f328c325b80dbd6b6e4ba55c Mon Sep 17 00:00:00 2001 From: sxlong Date: Tue, 19 Nov 2024 11:53:51 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=9B=B4=E6=96=B0=E5=88=9B=E5=BB=BA=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=A4=B9=E5=92=8C=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3(=E8=83=BD=E6=AD=A3=E5=B8=B8=E8=BF=90?= =?UTF-8?q?=E8=A1=8C)=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.properties | 2 +- .../repository/impl/EDDataRepositoryImpl.java | 5 +- .../resources/sqlmapper/EdDataInfoMapper.xml | 5 +- .../service/facade/EDDataFacadeImpl.java | 58 +++++++++++++------ 4 files changed, 47 insertions(+), 23 deletions(-) diff --git a/bootstrap/src/main/resources/application.properties b/bootstrap/src/main/resources/application.properties index cfdc88c..cc4dfa0 100644 --- a/bootstrap/src/main/resources/application.properties +++ b/bootstrap/src/main/resources/application.properties @@ -15,7 +15,7 @@ spring.datasource.typd=com.alibaba.druid.pool.DruidDataSource #spring.datasource.url=jdbc:mysql://${DATASOURCE_URL:obproxy-0c63.ops.cloud.cic.inter}:3306/${DATASOURCE_HOST:dataplatform_ptst}?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true&rewriteBatchedStatements=true #spring.datasource.username=${DATASOURCE_NAME:dataplatform@ProjectTest_tenant5#testdb} #spring.datasource.password=${DATASOURCE_PASSWORD:Y7G6v4_3ijn77K_Kbl_U85} -spring.datasource.url=jdbc:mysql://139.196.179.195:3306/em_data?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true&rewriteBatchedStatements=true +spring.datasource.url=jdbc:mysql://139.224.43.89:3306/em_data?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true&rewriteBatchedStatements=true spring.datasource.username=comac spring.datasource.password=2024*Comac diff --git a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/EDDataRepositoryImpl.java b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/EDDataRepositoryImpl.java index bbc9cb8..c7c03cd 100644 --- a/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/EDDataRepositoryImpl.java +++ b/infrastructure/repository/src/main/java/com/electromagnetic/industry/software/data/manage/repository/impl/EDDataRepositoryImpl.java @@ -58,7 +58,10 @@ public class EDDataRepositoryImpl implements EDDataRepository { public EDDataInfo getDataInfo(EDDataParams parames) { List edDataInfoList=edDataMapper.getDataInfoList(parames); - return edDataInfoList.get(0); + if(edDataInfoList.size()>0) + return edDataInfoList.get(0); + else + return null; } /** diff --git a/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml b/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml index bfcc759..e95194b 100644 --- a/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml +++ b/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml @@ -15,6 +15,7 @@ + @@ -38,7 +39,7 @@ data_id, data_no, data_name, data_type, file_type,version, content, implant_json, data_status,note, - creator, creator_name, gmt_create, + editor, creator, creator_name, gmt_create, modifier, modifier_name, gmt_modified, effect_flag ) @@ -46,7 +47,7 @@ #{dataId,jdbcType=VARCHAR}, #{dataNo,jdbcType=VARCHAR}, #{dataName,jdbcType=VARCHAR}, #{dataType,jdbcType=VARCHAR}, #{fileType,jdbcType=VARCHAR},#{version,jdbcType=VARCHAR}, #{content,jdbcType=VARCHAR}, #{implantJson,jdbcType=VARCHAR}, #{dataStatus,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, - #{creator,jdbcType=VARCHAR}, #{creatorName,jdbcType=VARCHAR}, now(), #{modifier,jdbcType=VARCHAR}, + #{editor,jdbcType=VARCHAR}, #{creator,jdbcType=VARCHAR}, #{creatorName,jdbcType=VARCHAR}, now(), #{modifier,jdbcType=VARCHAR}, #{modifierName,jdbcType=VARCHAR},now(),1 ) diff --git a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java index 1da03c5..4848fa6 100644 --- a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java +++ b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java @@ -44,7 +44,7 @@ public class EDDataFacadeImpl implements EDDataFacade { if (request.getUserId() == null || request.getUserId().isEmpty()) request.setUserId(IdWorker.getSnowFlakeIdString()); if (request.getUserName() == null || request.getUserName().isEmpty()) request.setUserName("user"); if (request.getName() == null || request.getName().isEmpty()) request.setName("testFolder"); - if (request.getParentId() == null || request.getParentId().isEmpty()) request.setParentId(IdWorker.getSnowFlakeIdString()); + //if (request.getParentId() == null || request.getParentId().isEmpty()) request.setParentId(IdWorker.getSnowFlakeIdString()); } edDataInfo.setCreator(request.getUserId()); @@ -61,22 +61,36 @@ public class EDDataFacadeImpl implements EDDataFacade { edDataInfo.setVersion("1.0.0"); edDataInfo.setDataStatus("publish"); - String newFolderPath = ""; + String parentFolderPath = ""; // 获取上级目录的名称 if(!request.getParentId().isEmpty()) { EDDataParams parames = new EDDataParams(); - parames.setParentId(request.getParentId()); + parames.setDataId(request.getParentId()); EDDataInfo edDataInfoParent = edDataService.getDataInfo(parames); - String folderName = edDataInfoParent.getDataName(); - String folderId = edDataInfoParent.getDataId(); + if(edDataInfoParent == null) { + ElectromagneticResultUtil.fail(HttpStatus.BAD_REQUEST.toString(),"上级文件夹为空!"); + } + + String folderNameParent = edDataInfoParent.getDataName(); + String folderIdParent = edDataInfoParent.getDataId(); // 记录当前目录的文件夹路径和文件夹id路径 JSONObject implantJsonObject = JSON.parseObject(edDataInfoParent.getImplantJson()); - String folderPath = implantJsonObject.getString("folderPath"); - String folderIdPath = implantJsonObject.getString("folderIdPath"); - newFolderPath = folderPath + folderName; - implantJsonObject.put("folderPath", newFolderPath); - implantJsonObject.put("folderIdPath", folderIdPath + folderId); + if(implantJsonObject == null) { + implantJsonObject = new JSONObject(); + parentFolderPath = folderNameParent; + implantJsonObject.put("folderPath", parentFolderPath); + implantJsonObject.put("folderIdPath", folderIdParent); + } + else + { + String folderPath = implantJsonObject.getString("folderPath"); + String folderIdPath = implantJsonObject.getString("folderIdPath"); + parentFolderPath = folderPath + "/" + folderNameParent; + implantJsonObject.put("folderPath", parentFolderPath); + implantJsonObject.put("folderIdPath", folderIdPath + "/" + folderIdParent); + } + String newImplantJson = implantJsonObject.toJSONString(); edDataInfo.setImplantJson(newImplantJson); } @@ -85,7 +99,7 @@ public class EDDataFacadeImpl implements EDDataFacade { if(isSuccess) { // 获取文件存储的文件夹路径 - String storageDirectory = "D:/fileTemp/" + newFolderPath; + String storageDirectory = "D:/fileTemp/" + parentFolderPath + "/" + edDataInfo.getDataName(); if(!edDataService.checkFolderIsExist(storageDirectory)) { edDataService.createMultiLevelDirectory(storageDirectory); } @@ -165,11 +179,14 @@ public class EDDataFacadeImpl implements EDDataFacade { } // 获取文件名 - String fileName = file.getOriginalFilename(); + String fileFullName = file.getOriginalFilename(); // 获取文件类型 String fileType = ""; - if (fileName.lastIndexOf(".") != -1 && fileName.lastIndexOf(".") != 0) { - fileType = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase(); + // 获取文件名称 + String fileName = ""; + if (fileFullName.lastIndexOf(".") != -1 && fileFullName.lastIndexOf(".") != 0) { + fileType = fileFullName.substring(fileFullName.lastIndexOf(".") + 1); + fileName = fileFullName.substring(fileFullName.lastIndexOf(".")); } // 获取文件存储的文件夹路径 @@ -184,17 +201,20 @@ public class EDDataFacadeImpl implements EDDataFacade { // 获取上级文件夹路径 { EDDataParams folderParames = new EDDataParams(); - folderParames.setParentId(categoryId); + folderParames.setDataId(categoryId); EDDataInfo edDataInfoParent = edDataService.getDataInfo(folderParames); + if(edDataInfoParent == null) { + ElectromagneticResultUtil.fail(HttpStatus.BAD_REQUEST.toString(),"上级文件夹为空!"); + } JSONObject implantJsonObject = JSON.parseObject(edDataInfoParent.getImplantJson()); parentFolderPath = implantJsonObject.getString("folderPath"); parentFolderIdPath = implantJsonObject.getString("folderIdPath"); if(!parentFolderPath.isEmpty()) - parentFolderPath += "/"; + parentFolderPath = parentFolderPath + "/" + edDataInfoParent.getDataName(); } // 文件保存目录路径 - String fileSavePath = storageDirectory + "/" + parentFolderPath + fileName; + String fileSavePath = storageDirectory + "/" + parentFolderPath + fileFullName; // 这里可以添加将文件保存到本地磁盘或其他存储介质的逻辑 File saveFile = new File(fileSavePath); @@ -208,7 +228,7 @@ public class EDDataFacadeImpl implements EDDataFacade { if(Boolean.TRUE) { if (request.getUserId() == null || request.getUserId().isEmpty()) request.setUserId(IdWorker.getSnowFlakeIdString()); if (request.getUserName() == null || request.getUserName().isEmpty()) request.setUserName("user"); - if (request.getName() == null || request.getName().isEmpty()) request.setName("testFolder"); + //if (request.getName() == null || request.getName().isEmpty()) request.setName("testFolder"); if (request.getParentId() == null || request.getParentId().isEmpty()) request.setParentId(IdWorker.getSnowFlakeIdString()); } @@ -219,7 +239,7 @@ public class EDDataFacadeImpl implements EDDataFacade { edDataInfo.setModifier(request.getUserId()); edDataInfo.setModifierName(request.getUserName()); edDataInfo.setCategoryId(request.getParentId()); - edDataInfo.setDataName(request.getName()); + edDataInfo.setDataName(fileFullName); edDataInfo.setNote(request.getNote()); edDataInfo.setDataId(IdWorker.getSnowFlakeIdString());