From 512f9724d8dd2f3b1759ef7bc1c08b4edd963a9b Mon Sep 17 00:00:00 2001 From: sxlong Date: Tue, 19 Nov 2024 16:50:07 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96=E5=AD=90?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=95=B0=E9=87=8F=E6=8E=A5=E5=8F=A3=EF=BC=9B?= =?UTF-8?q?2.=E5=A2=9E=E5=8A=A0=E6=96=87=E4=BB=B6=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=9B3.=E4=BF=AE=E6=94=B9=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=96=87=E4=BB=B6=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/controller/EDDataController.java | 8 ---- .../indicator/model/EDDataInfo.java | 4 ++ .../indicator/parames/EDDataParams.java | 8 ++++ .../repository/EDDataRepository.java | 11 ++--- .../service/impl/EDDataServiceImpl.java | 26 +++++++++-- .../data/manage/facade/EDDataFacade.java | 7 ++- .../request/indicator/EDDataRequest.java | 4 ++ .../repository/impl/EDDataRepositoryImpl.java | 17 +------- .../resources/sqlmapper/EdDataInfoMapper.xml | 13 +++--- .../service/facade/EDDataFacadeImpl.java | 43 +++++++++++++++---- 10 files changed, 92 insertions(+), 49 deletions(-) diff --git a/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/EDDataController.java b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/EDDataController.java index 85313cc..295e721 100644 --- a/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/EDDataController.java +++ b/bootstrap/src/main/java/com/electromagnetic/industry/software/data/manage/controller/EDDataController.java @@ -50,8 +50,6 @@ public class EDDataController { @RequestMapping(value = "/upload", consumes = "multipart/form-data",method = RequestMethod.POST) public ElectromagneticResult upload(@RequestParam("parentId") String parentId, @RequestParam("file") MultipartFile file){ - - //System.out.println(parentId); EDDataRequest request = new EDDataRequest(); request.setParentId(parentId); request.setFileData(file); @@ -73,10 +71,4 @@ public class EDDataController { } - @ApiOperation(value = "重命名",notes = "") - @RequestMapping(value = "/rename",method = RequestMethod.POST) - public ElectromagneticResult rename(@RequestBody EDDataRequest request){ - return ElectromagneticResultUtil.success("重命名"); - } - } diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/model/EDDataInfo.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/model/EDDataInfo.java index a061a5c..463774f 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/model/EDDataInfo.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/model/EDDataInfo.java @@ -61,6 +61,10 @@ public class EDDataInfo { * 编辑人 */ private String editor; + /** + * 批量上传时间 + */ + private String gmtBatchUpload; /** * 创建人 */ diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/parames/EDDataParams.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/parames/EDDataParams.java index 45137ca..076a3da 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/parames/EDDataParams.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/parames/EDDataParams.java @@ -48,6 +48,14 @@ public class EDDataParams implements Serializable { * 关键词 */ private String keyWord; + /** + * 批量上传时间 + */ + private String gmtBatchUpload; + /** + * 文件数据编码数组 + */ + private String[] dataIdArr; /** * 文件数据 */ diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/repository/EDDataRepository.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/repository/EDDataRepository.java index 179b3ee..0ea9c6d 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/repository/EDDataRepository.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/repository/EDDataRepository.java @@ -7,6 +7,8 @@ import com.electromagnetic.industry.software.data.manage.domain.boardservice.ind import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.EDDataParams; import com.github.pagehelper.PageInfo; +import java.util.List; + /** * @author * @version $Id: EDDataRepos.java, v 0.1 2024-07-29 19:02 @@ -25,7 +27,7 @@ public interface EDDataRepository { * @param parames * @return */ - PageInfo getDataInfoList(EDDataParams parames); + List getDataInfoList(EDDataParams parames); /** * 获取文件信息 @@ -41,13 +43,6 @@ public interface EDDataRepository { */ Boolean updateFileInfo(EDDataParams parames); - /** - * 获取子文件数量 - * @param parames - * @return - */ - Integer getChildFileCount(EDDataParams parames); - /** * 下载 * @param parames diff --git a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/impl/EDDataServiceImpl.java b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/impl/EDDataServiceImpl.java index c9bdfc9..a692211 100644 --- a/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/impl/EDDataServiceImpl.java +++ b/domain/src/main/java/com/electromagnetic/industry/software/data/manage/domain/boardservice/indicator/service/impl/EDDataServiceImpl.java @@ -3,11 +3,13 @@ */ package com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.service.impl; +import cn.hutool.poi.excel.cell.CellSetter; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.EDDataInfo; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.model.EDDataPage; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.parames.EDDataParams; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.repository.EDDataRepository; import com.electromagnetic.industry.software.data.manage.domain.boardservice.indicator.service.EDDataService; +import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import electromagnetic.data.framework.share.exception.LoggerConstant; import org.slf4j.Logger; @@ -18,6 +20,7 @@ import javax.annotation.Resource; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; +import java.util.List; /** * @author @@ -50,9 +53,11 @@ public class EDDataServiceImpl implements EDDataService { */ public EDDataPage getDataInfoList(EDDataParams parames) { + PageHelper.startPage(parames.getPageIndex(), parames.getPageSize()); + List edDataInfoList = edDataRepository.getDataInfoList(parames); + PageInfo pageInfo = new PageInfo<>(edDataInfoList); + EDDataPage edDataPage=new EDDataPage(); - //数据查询 - PageInfo pageInfo = edDataRepository.getDataInfoList(parames); edDataPage.setEdDataInfo(pageInfo); return edDataPage; } @@ -85,7 +90,22 @@ public class EDDataServiceImpl implements EDDataService { */ public Integer getChildFileCount(EDDataParams parames) { - return edDataRepository.getChildFileCount(parames); + Integer childFileCount = 0; + + List edDataInfoList = edDataRepository.getDataInfoList(parames); + for (EDDataInfo edDataInfo : edDataInfoList) { + if(edDataInfo.getDataType().equals("folder")) + { + parames.setParentId(edDataInfo.getDataId()); + childFileCount += getChildFileCount(parames); + } + else if(edDataInfo.getDataType().equals("file")) + { + ++childFileCount; + } + } + + return childFileCount; } /** diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/EDDataFacade.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/EDDataFacade.java index 788f215..319e92a 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/EDDataFacade.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/facade/EDDataFacade.java @@ -4,6 +4,9 @@ import com.electromagnetic.industry.software.data.manage.request.indicator.EDDat import com.electromagnetic.industry.software.data.manage.response.indicator.EDDataPageResponse; import electromagnetic.data.framework.share.model.ElectromagneticResult; +import java.util.List; +import java.util.Map; + public interface EDDataFacade { /** @@ -33,7 +36,7 @@ public interface EDDataFacade { * @param request * @return */ - ElectromagneticResult getChildFileCount(EDDataRequest request); + ElectromagneticResult> getChildFileCount(EDDataRequest request); /** * 上传 @@ -47,6 +50,6 @@ public interface EDDataFacade { * @param request * @return */ - ElectromagneticResult download(EDDataRequest request); + ElectromagneticResult>> download(EDDataRequest request); } diff --git a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/indicator/EDDataRequest.java b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/indicator/EDDataRequest.java index 21d4aee..5a6ef86 100644 --- a/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/indicator/EDDataRequest.java +++ b/facade/src/main/java/com/electromagnetic/industry/software/data/manage/request/indicator/EDDataRequest.java @@ -47,6 +47,10 @@ public class EDDataRequest extends BaseRequest { * 关键词 */ private String keyWord; + /** + * 文件数据编码数组 + */ + private String[] dataIdArr; /** * 文件数据 */ 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 c7c03cd..20d17be 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 @@ -42,11 +42,9 @@ public class EDDataRepositoryImpl implements EDDataRepository { * @return */ @Override - public PageInfo getDataInfoList(EDDataParams parames) + public List getDataInfoList(EDDataParams parames) { - PageHelper.startPage(parames.getPageIndex(), parames.getPageSize()); - List edDataInfoList=edDataMapper.getDataInfoList(parames); - return new PageInfo<>(edDataInfoList); + return edDataMapper.getDataInfoList(parames); } /** @@ -75,17 +73,6 @@ public class EDDataRepositoryImpl implements EDDataRepository { return edDataMapper.updateFileInfo(parames); } - /** - * 获取子文件数量 - * @param parames - * @return - */ - @Override - public Integer getChildFileCount(EDDataParams parames) - { - return edDataMapper.getChildFileCount(parames); - } - /** * 下载 * @param parames diff --git a/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml b/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml index e95194b..c91c18b 100644 --- a/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml +++ b/infrastructure/repository/src/main/resources/sqlmapper/EdDataInfoMapper.xml @@ -16,6 +16,7 @@ + @@ -37,17 +38,19 @@ insert into ed_data_info (id, category_id, data_id, data_no, data_name, - data_type, file_type,version, - content, implant_json, data_status,note, - editor, creator, creator_name, gmt_create, + data_type, file_type, version, + content, implant_json, data_status, + note, editor, gmt_batch_upload, + creator, creator_name, gmt_create, modifier, modifier_name, gmt_modified, effect_flag ) values (#{id,jdbcType=VARCHAR}, #{categoryId,jdbcType=VARCHAR}, #{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}, - #{editor,jdbcType=VARCHAR}, #{creator,jdbcType=VARCHAR}, #{creatorName,jdbcType=VARCHAR}, now(), #{modifier,jdbcType=VARCHAR}, + #{content,jdbcType=VARCHAR}, #{implantJson,jdbcType=VARCHAR}, #{dataStatus,jdbcType=VARCHAR}, + #{note,jdbcType=VARCHAR}, #{editor,jdbcType=VARCHAR}, #{gmtBatchUpload,jdbcType=TIMESTAMP}, + #{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 4848fa6..6818106 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 @@ -20,6 +20,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.File; import java.nio.file.Path; +import java.util.*; @Service public class EDDataFacadeImpl implements EDDataFacade { @@ -148,11 +149,13 @@ public class EDDataFacadeImpl implements EDDataFacade { * @param request * @return */ - public ElectromagneticResult getChildFileCount(EDDataRequest request) + public ElectromagneticResult> getChildFileCount(EDDataRequest request) { EDDataParams parames= EDDataMappers.INSTANCE.getEDDataParames(request); Integer fileCount = edDataService.getChildFileCount(parames); - return ElectromagneticResultUtil.success(Boolean.TRUE); + Map result = new HashMap<>(); + result.put("fileCount", fileCount); + return ElectromagneticResultUtil.success(result); } /** @@ -210,11 +213,15 @@ public class EDDataFacadeImpl implements EDDataFacade { parentFolderPath = implantJsonObject.getString("folderPath"); parentFolderIdPath = implantJsonObject.getString("folderIdPath"); if(!parentFolderPath.isEmpty()) - parentFolderPath = parentFolderPath + "/" + edDataInfoParent.getDataName(); + parentFolderPath += "/" ; + if(!parentFolderIdPath.isEmpty()) + parentFolderIdPath += "/" ; + parentFolderPath += edDataInfoParent.getDataName(); + parentFolderIdPath += edDataInfoParent.getDataId(); } // 文件保存目录路径 - String fileSavePath = storageDirectory + "/" + parentFolderPath + fileFullName; + String fileSavePath = storageDirectory + "/" + parentFolderPath + "/" + fileFullName; // 这里可以添加将文件保存到本地磁盘或其他存储介质的逻辑 File saveFile = new File(fileSavePath); @@ -273,11 +280,31 @@ public class EDDataFacadeImpl implements EDDataFacade { * @param request * @return */ - public ElectromagneticResult download(EDDataRequest request) + public ElectromagneticResult>> download(EDDataRequest request) { - EDDataParams parames= EDDataMappers.INSTANCE.getEDDataParames(request); - edDataService.download(parames); - return ElectromagneticResultUtil.success(Boolean.TRUE); + //EDDataParams parames= EDDataMappers.INSTANCE.getEDDataParames(request); + + // 获取文件存储的文件夹路径 + String storageDirectory = "D:/fileTemp"; + EDDataParams parames = new EDDataParams(); + List dataPathArr = new ArrayList(); + for(String dataId : request.getDataIdArr()) + { + parames.setDataId(dataId); + EDDataInfo edDataInfo = edDataService.getDataInfo(parames); + if(edDataInfo != null) + { + JSONObject implantJsonObject = JSON.parseObject(edDataInfo.getImplantJson()); + String filePath = implantJsonObject.getString("folderPath"); + filePath = storageDirectory + "/" + filePath + "/" + edDataInfo.getDataName(); + dataPathArr.add(filePath); + } + } + + Map> result = new HashMap<>(); + result.put("urlArr", dataPathArr); + + return ElectromagneticResultUtil.success(result); }