diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java index 45612db..8566a3d 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java @@ -2,6 +2,7 @@ package com.electromagnetic.industry.software.manage.controller; 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; @@ -68,4 +69,9 @@ public class ProjectController { public ElectromagneticResult follow(@RequestParam String sourceId, @RequestParam String targetId) { return edPrjService.follow(sourceId, targetId); } + + @RequestMapping("publishStatus") + public ElectromagneticResult publishStatus(@RequestBody QueryPublishStatus queryPublishStatus) { + return edPrjService.publishStatus(queryPublishStatus); + } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/QueryPublishStatus.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/QueryPublishStatus.java new file mode 100644 index 0000000..254a9b7 --- /dev/null +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/req/QueryPublishStatus.java @@ -0,0 +1,10 @@ +package com.electromagnetic.industry.software.manage.pojo.req; + +import lombok.Data; + +import java.util.List; + +@Data +public class QueryPublishStatus { + private List prjIds; +} diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdPrjService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdPrjService.java index d292763..f993e88 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdPrjService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdPrjService.java @@ -2,6 +2,7 @@ package com.electromagnetic.industry.software.manage.service; 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 java.util.List; @@ -88,4 +89,11 @@ public interface EdPrjService { * @return */ ElectromagneticResult modifyFolder(String id, String newFolderName); + + /** + * 获取项目的发布状态 + * @param queryPublishStatus + * @return + */ + ElectromagneticResult publishStatus(QueryPublishStatus queryPublishStatus); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java index 3309781..09f2474 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java @@ -8,10 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.electromagnetic.industry.software.common.enums.EffectFlagEnum; -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.enums.*; import com.electromagnetic.industry.software.common.exception.BizException; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.common.util.EleCommonUtil; @@ -21,6 +18,7 @@ import com.electromagnetic.industry.software.common.util.UserThreadLocal; import com.electromagnetic.industry.software.manage.mapper.EdFileInfoMapper; import com.electromagnetic.industry.software.manage.pojo.models.EdFileInfo; 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.resp.ProjectVO; import com.electromagnetic.industry.software.manage.service.EdPrjService; import com.electromagnetic.industry.software.manage.service.FileSystemService; @@ -422,4 +420,34 @@ public class EdPrjServiceImpl extends ServiceImpl } } + /** + * 获取项目的发布状态 + * + * @param queryPublishStatus + * @return + */ + @Override + public ElectromagneticResult publishStatus(QueryPublishStatus queryPublishStatus) { + Map res = new HashMap<>(); + List prjIds = queryPublishStatus.getPrjIds(); + List edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).select(EdFileInfo::getFilePath) + .in(EdFileInfo::getId, prjIds) + .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) + .eq(EdFileInfo::getPrjDir, true) + .eq(EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code)); + Set unpublishFiles = new HashSet<>(); + for (EdFileInfo edFileInfo : edFileInfos) { + String filePath = edFileInfo.getFilePath(); + String prjId = filePath.split(MYSQL_FILE_PATH_SPLIT)[0]; + unpublishFiles.add(prjId); + } + for (String prjId : prjIds) { + res.put(prjId, EleDataStatusEnum.PUBLISHED.code); + if (unpublishFiles.contains(prjId)) { + res.put(prjId, EleDataStatusEnum.NOT_PUBLISHED.code); + } + } + return ElectromagneticResultUtil.success(res); + } + }