From 8d3fc11dbf818e54c401bd93933597994fbb1ea1 Mon Sep 17 00:00:00 2001 From: liyawei Date: Tue, 14 Jun 2022 20:09:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A4=E8=AF=81-=E5=8F=82=E6=95=B0=E6=B8=85?= =?UTF-8?q?=E5=8D=95-=E5=88=A0=E9=99=A4=20=E5=8F=98=E6=9B=B4=20=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=9D=83=E9=99=90=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ParamsManifestEOController.java | 19 +++--- .../cert/collect/entity/ParamsManifestEO.java | 3 + .../IParamsCollectManifestEOService.java | 2 + .../service/IParamsManifestEOService.java | 6 +- .../ParamsCollectManifestEOServiceImpl.java | 14 +++++ .../impl/ParamsConfigEOServiceImpl.java | 36 +++++++++-- .../impl/ParamsManifestEOServiceImpl.java | 59 ++++++++++++++++--- .../cert/collect/vo/ParamsConfigVO.java | 1 + .../cert/collect/vo/ParamsManifestVO.java | 3 + 9 files changed, 122 insertions(+), 21 deletions(-) diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java index ee728309c..f471eda07 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java @@ -10,6 +10,7 @@ import com.jero.common.system.base.controller.JeroController; import com.jero.modules.cert.collect.entity.ParamsManifestEO; import com.jero.modules.cert.collect.service.IParamsManifestEOService; import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO; +import com.jero.modules.cert.collect.vo.ParamsManifestVO; import com.jero.modules.cert.template.entity.ParamsTemplateEO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -40,6 +41,7 @@ public class ParamsManifestEOController extends JeroController delete(@RequestParam(name="id",required=true) String id) { - boolean isSuccess = paramsManifestEOService.deleteById(id); + public Result delete(@RequestParam(name="id",required=true) String id, @RequestParam(name="cut",required=true) String cut) { + boolean isSuccess = paramsManifestEOService.deleteById(id, cut); if (isSuccess) { return Result.OK("删除成功!"); } else { @@ -165,15 +167,18 @@ public class ParamsManifestEOController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { - boolean isSuccess = paramsManifestEOService.deleteByIds(Arrays.asList(ids.split(","))); + public Result deleteBatch(@RequestBody ParamsManifestVO paramsManifestVO) { + if (StringUtils.isEmpty(paramsManifestVO.getIds()) || StringUtils.isEmpty(paramsManifestVO.getCut())) { + return Result.error("参数不能为空!"); + } + boolean isSuccess = paramsManifestEOService.deleteByIds(Arrays.asList(paramsManifestVO.getIds().split(",")), paramsManifestVO.getCut()); if (isSuccess) { return Result.OK("批量删除成功!"); } else { @@ -191,8 +196,8 @@ public class ParamsManifestEOController extends JeroController changeExtension(@RequestParam(name="id",required=true) String id) { - boolean isSuccess = paramsManifestEOService.changeExtension(id); + public Result changeExtension(@RequestParam(name="id",required=true) String id, @RequestParam(name="cut",required=true) String cut) { + boolean isSuccess = paramsManifestEOService.changeExtension(id, cut); if(isSuccess) { return Result.OK("变更扩展成功!"); } else { diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java index b0646cbce..ac65946b5 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java @@ -98,4 +98,7 @@ public class ParamsManifestEO implements Serializable { @TableField(exist = false) private String paramsTemplateName; + + @TableField(exist = false) + private Boolean configFlag; // true-可添加配置;false-不可添加配置 } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java index bbbaef140..5e6392c24 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java @@ -93,6 +93,8 @@ public interface IParamsCollectManifestEOService extends IService isCollectFinished(String paramsManifestId); + boolean getManifestConfigFlag(String paramsManifestId); + // 退回 boolean goBack(ParamsCollectManifestVO paramsCollectManifestVO); diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java index 169e775db..d11b9d640 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java @@ -39,7 +39,7 @@ public interface IParamsManifestEOService extends IService { * @param id * @return */ - boolean deleteById(String id); + boolean deleteById(String id, String cut); /** * 批量删除 @@ -47,7 +47,7 @@ public interface IParamsManifestEOService extends IService { * @param ids * @return */ - boolean deleteByIds(List ids); + boolean deleteByIds(List ids, String cut); /** * 通过id查询 @@ -72,7 +72,7 @@ public interface IParamsManifestEOService extends IService { IPage pageInfo(IPage page, ParamsManifestEO paramsManifestEO); - boolean changeExtension(String id); + boolean changeExtension(String id, String cut); List getHistoryVersionList(String title); diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index dd6164bb3..f91ee4a94 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -896,6 +896,20 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ParamsCollectManifestEO::getParamsManifestId, paramsManifestId); + List list = list(queryWrapper); + int number = (int) list.stream().filter(e->CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState()) + || CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count(); + if (number == list.size() && list.size() > 0) { + return true; + } else { + return false; + } + } + @Override public boolean goBack(ParamsCollectManifestVO paramsCollectManifestVO) { String paramsCollectManifestIds = paramsCollectManifestVO.getIds(); diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigEOServiceImpl.java index e1a155f0f..810363d77 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsConfigEOServiceImpl.java @@ -3,13 +3,17 @@ package com.jero.modules.cert.collect.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.constant.enums.CutEnum; +import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.LoginUser; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.entity.ParamsConfigEO; +import com.jero.modules.cert.collect.enums.CollectManifestStateEnum; import com.jero.modules.cert.collect.enums.ConfigLockEnum; import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper; import com.jero.modules.cert.collect.mapper.ParamsConfigDataEOMapper; import com.jero.modules.cert.collect.mapper.ParamsConfigEOMapper; +import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService; import com.jero.modules.cert.collect.service.IParamsConfigEOService; import com.jero.modules.cert.collect.vo.ParamsConfigVO; import org.apache.commons.lang3.StringUtils; @@ -42,6 +46,9 @@ public class ParamsConfigEOServiceImpl extends ServiceImpl paramsCollectManifestEOList = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO); + // 删除的配置 String deleteConfigIds = paramsConfigVO.getDeleteConfigIds(); if (StringUtils.isNotBlank(deleteConfigIds)) { List deleteConfigIdList = Arrays.asList(deleteConfigIds.split(",")); paramsConfigEOMapper.deleteBatchIds(deleteConfigIdList); - // TODO 级联删除配置数据 - ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO(); - paramsCollectManifestEO.setParamsManifestId(paramsManifestId); - List paramsCollectManifestEOList = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO); + // 级联删除配置数据 if (CollectionUtil.isNotEmpty(paramsCollectManifestEOList)) { String paramsCollectManifestIds = paramsCollectManifestEOList.stream() .map(ParamsCollectManifestEO::getId).collect(Collectors.joining(",")); @@ -85,10 +93,30 @@ public class ParamsConfigEOServiceImpl extends ServiceImpl { paramsConfigEO.setParamsManifestId(paramsManifestId); }); // saveBatch(addConfigList); + // 修改所有参数项状态为:待发起收集 + if (CollectionUtil.isNotEmpty(paramsCollectManifestEOList)) { + List updateCollectManifestEOList = new ArrayList<>(); + paramsCollectManifestEOList.forEach(collectManifestEO -> { + ParamsCollectManifestEO updateCollectManifestEO = new ParamsCollectManifestEO(); + updateCollectManifestEO.setId(collectManifestEO.getId()); + updateCollectManifestEO.setState(CollectManifestStateEnum.WAIT_COLLECT.getValue()); + updateCollectManifestEOList.add(updateCollectManifestEO); + }); + paramsCollectManifestEOService.updateBatchById(updateCollectManifestEOList); + } } // 修改的配置 if (CollectionUtil.isNotEmpty(updateConfigList)) { diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java index f9d66015d..2bb5c984c 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.api.vo.Result; +import com.jero.common.constant.enums.CutEnum; import com.jero.common.exception.JeroBootException; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.entity.ParamsConfigDataEO; @@ -168,7 +169,17 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl map = paramsCollectManifestEOService.isCollectFinished(id); + Boolean finish = (Boolean) map.get("finish"); + if (!finish) { + if (CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("清单收集中,无法删除!"); + } else { + throw new JeroBootException("Manifest collection, and cannot be deleted!"); + } + } // 关联删除配置 LambdaQueryWrapper configEOQueryWrapper = new LambdaQueryWrapper<>(); configEOQueryWrapper.eq(ParamsConfigEO::getParamsManifestId, id); @@ -194,8 +205,21 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl ids) { + public boolean deleteByIds(List ids, String cut) { + // 判断清单收集状态,已完成状态才可删除 + ids.forEach(id-> { + Map map = paramsCollectManifestEOService.isCollectFinished(id); + Boolean finish = (Boolean) map.get("finish"); + if (!finish) { + ParamsManifestEO manifestEO = getById(id); + if (CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("清单:" + manifestEO.getTitle() + "收集中,无法删除!"); + } else { + throw new JeroBootException("Manifest " + manifestEO.getTitle() + "collection, and cannot be deleted!"); + } + } + }); // 关联删除配置 LambdaQueryWrapper configEOQueryWrapper = new LambdaQueryWrapper<>(); configEOQueryWrapper.in(ParamsConfigEO::getParamsManifestId, ids); @@ -279,6 +303,10 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl map = paramsCollectManifestEOService.isCollectFinished(id); + Boolean finish = (Boolean) map.get("finish"); + if (!finish) { + if (CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("清单收集中,无法发起变更!"); + } else { + throw new JeroBootException("Manifest collection, and cannot be initiated change!"); + } } +// if (paramsManifestEO.getState().equals(ManifestStateEnum.COLLECTING.getValue())) { +// throw new JeroBootException("清单收集中,无法发起变更!"); +// } // 查询项目引用的模板是否是最新版本 Integer newestVersion = paramsInfoPublishEOService.getNewestVersionByParamsTemplateId(paramsManifestEO.getParamsTemplateId()); if (newestVersion == null) { - throw new JeroBootException("查询不到模板最新发布版本!"); + if (CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("查询不到模板最新发布版本!"); + } else { + throw new JeroBootException("Can not find the latest template!"); + } } if (newestVersion == paramsManifestEO.getParamsTemplatePublishVersion()) { - throw new JeroBootException("当前已是模板最新发布版本!"); + if (CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("当前已是模板最新发布版本!"); + } else { + throw new JeroBootException("This is the latest template!"); + } } // 查询最新版模板参数项 diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/vo/ParamsConfigVO.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/vo/ParamsConfigVO.java index b34e2ca02..afa878a61 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/vo/ParamsConfigVO.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/vo/ParamsConfigVO.java @@ -16,4 +16,5 @@ public class ParamsConfigVO { private String paramsManifestId; private String deleteConfigIds; private List paramsConfigEOList; + private String cut; } diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/vo/ParamsManifestVO.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/vo/ParamsManifestVO.java index 6c7dd779f..1772bd5bf 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/vo/ParamsManifestVO.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/vo/ParamsManifestVO.java @@ -18,4 +18,7 @@ public class ParamsManifestVO { private String paramsTemplateName; private String paramsTemplateId; private Integer paramsTemplatePublishVersion; + + private String ids; + private String cut; }