From 3e6471079d500d834827de6b05edddd96cbacd63 Mon Sep 17 00:00:00 2001 From: s2042968 Date: Wed, 5 Mar 2025 10:48:16 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=E6=A0=87=E7=AD=BE=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/pojo/req/FileInfoQueryDTO.java | 7 +++++++ .../manage/service/EdTagLibraryService.java | 3 ++- .../manage/service/FileTagRelationService.java | 7 +++++++ .../serviceimpl/EdFileInfoServiceImpl.java | 11 ++++++++++- .../serviceimpl/EdTagLibraryServiceImpl.java | 10 ++++++++-- .../serviceimpl/FileTagRelationServiceImpl.java | 17 +++++++++++++++++ 6 files changed, 51 insertions(+), 4 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/FileInfoQueryDTO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/FileInfoQueryDTO.java index 69c667c..c1ce478 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/FileInfoQueryDTO.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/FileInfoQueryDTO.java @@ -2,6 +2,8 @@ package com.electromagnetic.industry.software.manage.pojo.req; import lombok.Data; +import java.util.List; + @Data public class FileInfoQueryDTO { @@ -65,4 +67,9 @@ public class FileInfoQueryDTO { * 状态(0-未发布 1-已发布 2-占用) */ private Integer dataStatus; + + /** + * 标签查询ID列表 + */ + private List tagIds; } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdTagLibraryService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdTagLibraryService.java index 2760ae3..7c77b8f 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdTagLibraryService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdTagLibraryService.java @@ -3,6 +3,7 @@ package com.electromagnetic.industry.software.manage.service; import com.baomidou.mybatisplus.extension.service.IService; import com.electromagnetic.industry.software.common.pojo.TreeNode; import com.electromagnetic.industry.software.manage.pojo.models.EdTagLibrary; +import com.electromagnetic.industry.software.manage.pojo.resp.FileTagInfo; import com.electromagnetic.industry.software.manage.pojo.resp.TagListVO; import javax.swing.text.html.HTML; @@ -69,5 +70,5 @@ public interface EdTagLibraryService extends IService { * 获取所有标签 * @return */ - List listAllTags(); + List listAllTags(); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/FileTagRelationService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/FileTagRelationService.java index ffa41f3..6364771 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/FileTagRelationService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/FileTagRelationService.java @@ -24,4 +24,11 @@ public interface FileTagRelationService extends IService { * @return */ List getFileTags (String fileId); + + /** + * 根据标签id获取文件id + * @param tagIds + * @return + */ + List getFileIdsByTagIds(List tagIds); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index ac9673b..8bdd0d4 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -97,7 +97,6 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) .select(EdFileInfo.class, file -> !file.getColumn().equals("file_content")) .eq(EdFileInfo::getSaveStatus, EleDataSaveStatusEnum.SUCCESS.code) @@ -142,6 +141,16 @@ public class EdFileInfoServiceImpl extends ServiceImpl fileIdsWithTags = fileTagRelationService.getFileIdsByTagIds(pars.getTagIds()); + if (fileIdsWithTags.isEmpty()) { + return ElectromagneticResultUtil.success(new RespPageVO<>(0, new ArrayList<>())); + } + queryWrapper.in(EdFileInfo::getId, fileIdsWithTags); + } + Page edFileInfoPage = this.baseMapper.selectPage(new Page<>(pars.getPageNum(), pars.getPageSize()), queryWrapper); long total = edFileInfoPage.getTotal(); List records = BeanUtil.copyToList(edFileInfoPage.getRecords(), FileInfoVO.class); diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdTagLibraryServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdTagLibraryServiceImpl.java index 2e7d95d..7afa39a 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdTagLibraryServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdTagLibraryServiceImpl.java @@ -14,6 +14,7 @@ import com.electromagnetic.industry.software.common.util.IdWorker; import com.electromagnetic.industry.software.common.util.UserThreadLocal; import com.electromagnetic.industry.software.manage.mapper.EdTagLibraryMapper; import com.electromagnetic.industry.software.manage.pojo.models.EdTagLibrary; +import com.electromagnetic.industry.software.manage.pojo.resp.FileTagInfo; import com.electromagnetic.industry.software.manage.pojo.resp.TagListVO; import com.electromagnetic.industry.software.manage.service.EdTagLibraryService; import org.springframework.beans.BeanUtils; @@ -306,11 +307,16 @@ public class EdTagLibraryServiceImpl extends ServiceImpl listAllTags() { + public List listAllTags() { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EdTagLibrary::getIsPublished, PublishEnum.PUBLISHED.getCode()) .eq(EdTagLibrary::getType, TagTypeEnum.TAG.getCode()); - return this.list(queryWrapper); + return this.list(queryWrapper).stream() + .map(tag -> { + FileTagInfo info = new FileTagInfo(); + BeanUtils.copyProperties(tag, info); + return info; + }).collect(Collectors.toList()); } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileTagRelationServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileTagRelationServiceImpl.java index 5ce8028..5787b28 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileTagRelationServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileTagRelationServiceImpl.java @@ -20,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Service public class FileTagRelationServiceImpl extends ServiceImpl implements FileTagRelationService { @@ -84,4 +85,20 @@ public class FileTagRelationServiceImpl extends ServiceImpl getFileIdsByTagIds(List tagIds) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(FileTagRelation::getTagId, tagIds); + List relations = this.list(queryWrapper); + return relations.stream() + .map(FileTagRelation::getFileId) + .distinct() + .collect(Collectors.toList()); + } } \ No newline at end of file From 63c2e3c250ecb0e2ac366fd3252d2f362f109f53 Mon Sep 17 00:00:00 2001 From: s2042968 Date: Wed, 5 Mar 2025 12:13:39 +0800 Subject: [PATCH 2/5] =?UTF-8?q?fix:=E6=94=B6=E8=97=8F=E6=9F=A5=E8=AF=A2SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/sqlmapper/EdFileInfoMapper.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/electrmangnetic/src/main/resources/sqlmapper/EdFileInfoMapper.xml b/electrmangnetic/src/main/resources/sqlmapper/EdFileInfoMapper.xml index 5471ce6..c45561a 100644 --- a/electrmangnetic/src/main/resources/sqlmapper/EdFileInfoMapper.xml +++ b/electrmangnetic/src/main/resources/sqlmapper/EdFileInfoMapper.xml @@ -40,7 +40,9 @@ #{id} - + + AND 1 = 0 + AND data_status = #{pars.dataStatus} From a1fa5a92254c404f3fb29a3c5633449eb91efff2 Mon Sep 17 00:00:00 2001 From: s2042968 Date: Wed, 5 Mar 2025 12:14:06 +0800 Subject: [PATCH 3/5] =?UTF-8?q?fix:=E6=96=87=E4=BB=B6=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E8=A1=A5=E5=85=85=E5=88=9B=E5=BB=BA=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/service/serviceimpl/FileFormatServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileFormatServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileFormatServiceImpl.java index 39374a8..0b59028 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileFormatServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileFormatServiceImpl.java @@ -40,6 +40,7 @@ public class FileFormatServiceImpl extends ServiceImpl Date: Wed, 5 Mar 2025 12:14:51 +0800 Subject: [PATCH 4/5] =?UTF-8?q?fix:=E5=A4=84=E7=90=86=E7=A9=BA=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/service/serviceimpl/EdFileInfoServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index 8bdd0d4..f572f33 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -143,7 +143,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl fileIdsWithTags = fileTagRelationService.getFileIdsByTagIds(pars.getTagIds()); if (fileIdsWithTags.isEmpty()) { return ElectromagneticResultUtil.success(new RespPageVO<>(0, new ArrayList<>())); From 52e58019fc9af26522fb97ec26b2d77fb9978203 Mon Sep 17 00:00:00 2001 From: s2042968 Date: Wed, 5 Mar 2025 12:15:13 +0800 Subject: [PATCH 5/5] =?UTF-8?q?feat:=E4=B8=AA=E4=BA=BA=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=A2=9E=E6=B7=BB=E6=A0=87=E7=AD=BE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserEdFileTagController.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserEdFileTagController.java diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserEdFileTagController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserEdFileTagController.java new file mode 100644 index 0000000..8edd2bb --- /dev/null +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserEdFileTagController.java @@ -0,0 +1,31 @@ +package com.electromagnetic.industry.software.manage.controller; + +import com.electromagnetic.industry.software.common.annotations.UserOperation; +import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum; +import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; +import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil; +import com.electromagnetic.industry.software.common.util.UserThreadLocal; +import com.electromagnetic.industry.software.manage.pojo.req.TagCreateDTO; +import com.electromagnetic.industry.software.manage.service.FileTagRelationService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@RestController +@RequestMapping("/data/ed/user/tag") +public class UserEdFileTagController { + + @Resource + private FileTagRelationService fileTagRelationService; + + // 批量添加标签到文件 + @PostMapping("/addTagsToFile") + @UserOperation(value="批量添加了标签到文件", modelName = UserOperationModuleEnum.TAG) + public ElectromagneticResult addTagsToFile(@RequestBody TagCreateDTO dto) { + String createdBy = UserThreadLocal.getUserId(); + return ElectromagneticResultUtil.success(fileTagRelationService.addTagsToFile(dto.getFileId(), dto.getTagIds(), createdBy)); + } +}