diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/DeleteStatusEnum.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/DeleteStatusEnum.java index 9616b91..0bbd92f 100644 --- a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/DeleteStatusEnum.java +++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/DeleteStatusEnum.java @@ -7,7 +7,8 @@ public enum DeleteStatusEnum { STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{add(TmplStsEnum.DRAFT.getCode());}}), STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()), - STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>(){{add(TmplStsEnum.STOPPED.getCode());}}); + STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>(){{add(TmplStsEnum.STOPPED.getCode());}}), + STATUS_START(TmplStsEnum.START.getCode(), new HashSet<>()); private final String code; diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/PublishStatusEnum.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/PublishStatusEnum.java index 42532de..338e970 100644 --- a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/PublishStatusEnum.java +++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/PublishStatusEnum.java @@ -10,7 +10,8 @@ public enum PublishStatusEnum { STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{add(TmplStsEnum.DRAFT.getCode());}}), STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()), - STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>() ); + STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>() ), + STATUS_START(TmplStsEnum.START.getCode(), new HashSet<>() {{add(TmplStsEnum.START.getCode());}}); private final String code; diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/TmplStsEnum.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/TmplStsEnum.java index 04d6407..3f9ce64 100644 --- a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/TmplStsEnum.java +++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/TmplStsEnum.java @@ -9,7 +9,8 @@ public enum TmplStsEnum { // 已发布状态 PUBLISHED("PUB", "已发布"), // 已停用状态 - STOPPED("STOP", "已停用"); + STOPPED("STOP", "已停用"), + START("START", "已启用"); // 获取状态编码 private final String code; diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/UpdateStatusEnum.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/UpdateStatusEnum.java index 2e34ef0..c2cd5bb 100644 --- a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/UpdateStatusEnum.java +++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/UpdateStatusEnum.java @@ -10,10 +10,11 @@ public enum UpdateStatusEnum { add(TmplStsEnum.STOPPED.getCode()); }}), STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()), - STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>(){{ + STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>() {{ add(TmplStsEnum.DRAFT.getCode()); add(TmplStsEnum.STOPPED.getCode()); - }}); + }}), + STATUS_START(TmplStsEnum.START.getCode(), new HashSet<>()); private final String code; diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceRespVO.java index 324aa38..1ef75e5 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceRespVO.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceRespVO.java @@ -75,4 +75,9 @@ public class TemplateInstanceRespVO { @ExcelProperty("模版分类名称") private String tpName; + + @Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建人") + private String creator; + } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java index 668aeb1..240ae14 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java @@ -224,6 +224,9 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { boolean transitionAllowed = false; if (status != null) { transitionAllowed = status.isTransitionAllowed(TmplStsEnum.DRAFT.getCode()); + if (!transitionAllowed){ + transitionAllowed = status.isTransitionAllowed(TmplStsEnum.START.getCode()); + } } if (!transitionAllowed) { throw exception(STATUS_OPERATION_FAIL); @@ -253,7 +256,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { code = TmplStsEnum.STOPPED.getCode(); } else if (reqVO.getType().equals("enable")) { // 启用 - code = TmplStsEnum.PUBLISHED.getCode(); + code = TmplStsEnum.START.getCode(); } if (code.isEmpty()) { throw exception(ILLEGAL_OPERATION_TYPE); @@ -269,8 +272,14 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { public TemplateInstanceRespVO createVersion(String id) { validateTemplateInstanceExists(Long.valueOf(id)); TemplateInstanceDO templateInstanceDO = templateInstanceMapper.selectById(id); + //如果当前状态不是草稿或者是已启用则不能创建新版本 + log.info("当前状态【{}】", templateInstanceDO.getSts()); + if (!TmplStsEnum.DRAFT.getCode().equals(templateInstanceDO.getSts()) && !TmplStsEnum.START.getCode().equals(templateInstanceDO.getSts())) { + throw exception(STATUS_OPERATION_FAIL); + } TemplateInstanceDO newTpInstanceDO = BeanUtils.toBean(templateInstanceDO, TemplateInstanceDO.class); newTpInstanceDO.setId(null); + newTpInstanceDO.setTenantId(templateInstanceDO.getTenantId()); newTpInstanceDO.setVer(incrementVersion(templateInstanceDO.getVer())); newTpInstanceDO.setPublishTime(LocalDateTime.now()); newTpInstanceDO.setOrigCntt(templateInstanceDO.getCntt()!=null?templateInstanceDO.getCntt():templateInstanceDO.getOrigCntt());//模板实例内容,默认为上一个版本的当前文件内容