Bläddra i källkod

设置版本状态枚举

fengyanjie 4 år sedan
förälder
incheckning
6ad16c0693

+ 3 - 1
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/entity/ClassDefChangeRecord.java

@@ -1,6 +1,7 @@
 package com.persagy.dmp.rwd.edit.entity;
 
 import com.persagy.dmp.rwd.edit.enumeration.EnumOperationType;
+import com.persagy.dmp.rwd.edit.enumeration.EnumVersionState;
 import com.persagy.dmp.rwd.enums.ObjType;
 import com.vladmihalcea.hibernate.type.json.JsonStringType;
 import lombok.Getter;
@@ -47,6 +48,7 @@ public class ClassDefChangeRecord {
     private Date publishTime;//发布时间
     private Date finishTime;//完成时间
     private Boolean valid;//true 正常 false 失效
-    private Integer state;//状态 0.取消 1.初始化 2.确认 3.发布 4.完成
+    @Enumerated
+    private EnumVersionState state;//状态 0.取消 1.初始化 2.确认 3.发布 4.完成
     private String version;//版本
 }

+ 3 - 1
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/entity/FuncidDefChangeRecord.java

@@ -2,6 +2,7 @@ package com.persagy.dmp.rwd.edit.entity;
 
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.persagy.dmp.rwd.edit.enumeration.EnumOperationType;
+import com.persagy.dmp.rwd.edit.enumeration.EnumVersionState;
 import com.persagy.dmp.rwd.enums.FuncidCategory;
 import com.persagy.dmp.rwd.enums.FuncidDataType;
 import com.vladmihalcea.hibernate.type.json.JsonStringType;
@@ -66,6 +67,7 @@ public class FuncidDefChangeRecord {
     private Date publishTime;//发布时间
     private Date finishTime;//完成时间
     private Boolean valid;//true 正常 false 失效
-    private Integer state;//状态 0.取消 1.初始化 2.确认 3.发布 4.完成
+    @Enumerated
+    private EnumVersionState state;//状态 0.取消 1.初始化 2.确认 3.发布 4.完成
     private String version;//版本
 }

+ 4 - 5
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/entity/RwdeditVersion.java

@@ -1,12 +1,10 @@
 package com.persagy.dmp.rwd.edit.entity;
 
+import com.persagy.dmp.rwd.edit.enumeration.EnumVersionState;
 import lombok.Getter;
 import lombok.Setter;
 
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import javax.persistence.*;
 import java.util.Date;
 
 @Setter
@@ -21,6 +19,7 @@ public class RwdeditVersion {
     @Column(name = "create_time", insertable = false, updatable = false)
     private Date createTime;
     private String createUser;
-    private Integer state;
+    @Enumerated
+    private EnumVersionState state;
 
 }

+ 22 - 0
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/enumeration/EnumVersionState.java

@@ -0,0 +1,22 @@
+package com.persagy.dmp.rwd.edit.enumeration;
+
+import lombok.Getter;
+
+public enum EnumVersionState {
+
+    CANCEL(0, "取消"),
+    INIT(1, "初始化"),
+    CONFIRM(2, "确认"),
+    PUBLISH(3, "发布"),
+    FINISH(4, "完成");
+
+    @Getter
+    private Integer value;
+    @Getter
+    private String desc;
+
+    EnumVersionState(Integer value, String desc) {
+        this.value = value;
+        this.desc = desc;
+    }
+}

+ 11 - 10
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/service/ClassDefChangeRecordService.java

@@ -10,6 +10,7 @@ import com.persagy.dmp.rwd.edit.entity.ClassDef;
 import com.persagy.dmp.rwd.edit.entity.ClassDefChangeRecord;
 import com.persagy.dmp.rwd.edit.entity.QClassDefChangeRecord;
 import com.persagy.dmp.rwd.edit.enumeration.EnumOperationType;
+import com.persagy.dmp.rwd.edit.enumeration.EnumVersionState;
 import com.persagy.dmp.rwd.edit.repository.ClassDefChangeRecordRepository;
 import com.persagy.dmp.rwd.edit.repository.ClassDefRepository;
 import com.persagy.dmp.rwd.model.ClassDefModel;
@@ -54,7 +55,7 @@ public class ClassDefChangeRecordService {
         list.addAll(CriteriaUtils.parse(qt.publishUser, object.get("publishUser")));
         list.addAll(CriteriaUtils.parse(qt.publishTime, object.get("publishTime")));
         list.addAll(CriteriaUtils.parse(qt.finishTime, object.get("finishTime")));
-        list.addAll(CriteriaUtils.parse(qt.state, object.get("state")));
+        list.addAll(CriteriaUtils.parse(qt.state, object.get("state"), EnumVersionState.class));
         list.addAll(CriteriaUtils.parse(qt.version, object.get("version")));
         return list;
     }
@@ -100,7 +101,7 @@ public class ClassDefChangeRecordService {
             param.setParentCode(classDef.getParentCode());
         }
         QClassDefChangeRecord qt = QClassDefChangeRecord.classDefChangeRecord;
-        BooleanExpression ex = qt.code.eq(code).and(qt.state.eq(1)).and(qt.version.isNull());
+        BooleanExpression ex = qt.code.eq(code).and(qt.state.eq(EnumVersionState.INIT)).and(qt.version.isNull());
         Iterable<ClassDefChangeRecord> all = repository.findAll(ex);
         List<ClassDefChangeRecord> list = new ArrayList<>();
         all.forEach(list::add);
@@ -110,7 +111,7 @@ public class ClassDefChangeRecordService {
         param.setOperationUser(UserUtils.currentUserId() + "");
         param.setOperationTime(new Date());
         param.setValid(true);
-        param.setState(1);
+        param.setState(EnumVersionState.INIT);
         repository.save(param);
         response.add("id", param.getId());
         return response;
@@ -125,7 +126,7 @@ public class ClassDefChangeRecordService {
             return response;
         }
         ClassDefChangeRecord changeRecord = optional.get();
-        if (changeRecord.getState() == 1 && changeRecord.getVersion() == null) {
+        if (EnumVersionState.INIT.equals(changeRecord.getState()) && changeRecord.getVersion() == null) {
             if (param.getAliasCode() != null) {
                 changeRecord.setAliasCode(param.getAliasCode());
             }
@@ -151,7 +152,7 @@ public class ClassDefChangeRecordService {
         Optional<ClassDefChangeRecord> optional = repository.findById(param.getId());
         if (optional.isPresent()) {
             ClassDefChangeRecord changeRecord = optional.get();
-            if (changeRecord.getState() != 1 || changeRecord.getVersion() != null) {
+            if (!EnumVersionState.INIT.equals(changeRecord.getState()) || changeRecord.getVersion() != null) {
                 response.setFail(changeRecord.getId() + " 不可删除!");
                 return response;
             }
@@ -236,7 +237,7 @@ public class ClassDefChangeRecordService {
         return sqlList;
     }
 
-    public void updateStateByVersion(Integer state, String version) {
+    public void updateStateByVersion(EnumVersionState state, String version) {
         JacksonCriteria criteria = JacksonCriteria.newInstance();
         criteria.add("version", version);
         PagedResponse<ClassDefChangeRecord> query = query(criteria);
@@ -246,19 +247,19 @@ public class ClassDefChangeRecordService {
         List<ClassDefChangeRecord> data = query.getData();
         for (ClassDefChangeRecord changeRecord : data) {
             switch (state) {
-                case 2: {
+                case CONFIRM: {
                     changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
                     changeRecord.setConfirmTime(new Date());
                     changeRecord.setState(state);
                     break;
                 }
-                case 3: {
+                case PUBLISH: {
                     changeRecord.setPublishUser(UserUtils.currentUserId() + "");
                     changeRecord.setPublishTime(new Date());
                     changeRecord.setState(state);
                     break;
                 }
-                case 4: {
+                case FINISH: {
                     changeRecord.setFinishTime(new Date());
                     changeRecord.setState(state);
                     break;
@@ -269,7 +270,7 @@ public class ClassDefChangeRecordService {
                 }
             }
         }
-        if (state == 4) {
+        if (state == EnumVersionState.FINISH) {
             updateClassDef(data, version);
         }
         repository.saveAll(data);

+ 12 - 11
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/service/FuncidDefChangeRecordService.java

@@ -13,6 +13,7 @@ import com.persagy.dmp.rwd.edit.entity.FuncidDefChangeRecord;
 import com.persagy.dmp.rwd.edit.entity.QFuncidDefChangeRecord;
 import com.persagy.dmp.rwd.edit.entity.RwdeditRefTypeInfos;
 import com.persagy.dmp.rwd.edit.enumeration.EnumOperationType;
+import com.persagy.dmp.rwd.edit.enumeration.EnumVersionState;
 import com.persagy.dmp.rwd.edit.repository.FuncidDefChangeRecordRepository;
 import com.persagy.dmp.rwd.edit.repository.FuncidDefRepository;
 import com.persagy.dmp.rwd.enums.FuncidDataType;
@@ -57,7 +58,7 @@ public class FuncidDefChangeRecordService {
         list.addAll(CriteriaUtils.parse(qt.publishUser, object.get("publishUser")));
         list.addAll(CriteriaUtils.parse(qt.publishTime, object.get("publishTime")));
         list.addAll(CriteriaUtils.parse(qt.finishTime, object.get("finishTime")));
-        list.addAll(CriteriaUtils.parse(qt.state, object.get("state")));
+        list.addAll(CriteriaUtils.parse(qt.state, object.get("state"), EnumVersionState.class));
         list.addAll(CriteriaUtils.parse(qt.version, object.get("version")));
         return list;
     }
@@ -82,7 +83,7 @@ public class FuncidDefChangeRecordService {
         }
         FuncidDefModel funcidDef = queryFuncidDef(code, classCode);
         if (EnumOperationType.create.equals(param.getOperationType())) {
-            if (funcidDef == null) {
+            if (funcidDef != null) {
                 response.setFail("code is exists");
                 return response;
             }
@@ -126,7 +127,7 @@ public class FuncidDefChangeRecordService {
             param.setWeakPoint(funcidDef.getWeakPoint());
         }
         QFuncidDefChangeRecord qt = QFuncidDefChangeRecord.funcidDefChangeRecord;
-        BooleanExpression ex = qt.code.eq(code).and(qt.state.eq(1)).and(qt.version.isNull());
+        BooleanExpression ex = qt.code.eq(code).and(qt.state.eq(EnumVersionState.INIT)).and(qt.version.isNull());
         Iterable<FuncidDefChangeRecord> all = repository.findAll(ex);
         List<FuncidDefChangeRecord> list = new ArrayList<>();
         all.forEach(list::add);
@@ -136,7 +137,7 @@ public class FuncidDefChangeRecordService {
         param.setOperationUser(UserUtils.currentUserId() + "");
         param.setOperationTime(new Date());
         param.setValid(true);
-        param.setState(1);
+        param.setState(EnumVersionState.INIT);
         repository.save(param);
         response.add("id", param.getId());
         return response;
@@ -151,7 +152,7 @@ public class FuncidDefChangeRecordService {
             return response;
         }
         FuncidDefChangeRecord changeRecord = optional.get();
-        if (changeRecord.getState() == 1 && changeRecord.getVersion() == null) {
+        if (EnumVersionState.INIT.equals(changeRecord.getState()) && changeRecord.getVersion() == null) {
             if (param.getAliasCode() != null) {
                 changeRecord.setAliasCode(param.getAliasCode());
             }
@@ -189,7 +190,7 @@ public class FuncidDefChangeRecordService {
         Optional<FuncidDefChangeRecord> optional = repository.findById(param.getId());
         if (optional.isPresent()) {
             FuncidDefChangeRecord changeRecord = optional.get();
-            if (changeRecord.getState() != 1 || changeRecord.getVersion() != null) {
+            if (!EnumVersionState.INIT.equals(changeRecord.getState()) || changeRecord.getVersion() != null) {
                 response.setFail(changeRecord.getId() + " 不可删除!");
                 return response;
             }
@@ -339,7 +340,7 @@ public class FuncidDefChangeRecordService {
         return sqlList;
     }
 
-    public void updateStateByVersion(Integer state, String version) {
+    public void updateStateByVersion(EnumVersionState state, String version) {
         JacksonCriteria criteria = JacksonCriteria.newInstance();
         criteria.add("version", version);
         PagedResponse<FuncidDefChangeRecord> query = query(criteria);
@@ -349,19 +350,19 @@ public class FuncidDefChangeRecordService {
         List<FuncidDefChangeRecord> data = query.getData();
         for (FuncidDefChangeRecord changeRecord : data) {
             switch (state) {
-                case 2: {
+                case CONFIRM: {
                     changeRecord.setConfirmUser(UserUtils.currentUserId() + "");
                     changeRecord.setConfirmTime(new Date());
                     changeRecord.setState(state);
                     break;
                 }
-                case 3: {
+                case PUBLISH: {
                     changeRecord.setPublishUser(UserUtils.currentUserId() + "");
                     changeRecord.setPublishTime(new Date());
                     changeRecord.setState(state);
                     break;
                 }
-                case 4: {
+                case FINISH: {
                     changeRecord.setFinishTime(new Date());
                     changeRecord.setState(state);
                     break;
@@ -372,7 +373,7 @@ public class FuncidDefChangeRecordService {
                 }
             }
         }
-        if (state == 4) {
+        if (state == EnumVersionState.FINISH) {
             updateFuncidDef(data, version);
         }
         repository.saveAll(data);

+ 8 - 7
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/service/RwdeditVersionService.java

@@ -11,6 +11,7 @@ import com.persagy.dmp.rwd.edit.entity.ClassDefChangeRecord;
 import com.persagy.dmp.rwd.edit.entity.FuncidDefChangeRecord;
 import com.persagy.dmp.rwd.edit.entity.QRwdeditVersion;
 import com.persagy.dmp.rwd.edit.entity.RwdeditVersion;
+import com.persagy.dmp.rwd.edit.enumeration.EnumVersionState;
 import com.persagy.dmp.rwd.edit.repository.RwdeditVersionRepository;
 import com.querydsl.core.types.dsl.BooleanExpression;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,7 +45,7 @@ public class RwdeditVersionService {
         list.addAll(CriteriaUtils.parse(qt.version, criteria.get("version")));
         list.addAll(CriteriaUtils.parse(qt.createTime, criteria.get("createTime")));
         list.addAll(CriteriaUtils.parse(qt.createUser, criteria.get("createUser")));
-        list.addAll(CriteriaUtils.parse(qt.state, criteria.get("state")));
+        list.addAll(CriteriaUtils.parse(qt.state, criteria.get("state"), EnumVersionState.class));
         return list;
     }
 
@@ -61,9 +62,9 @@ public class RwdeditVersionService {
             response.setFail("版本编号不可为空!");
             return response;
         }
-        long count = repository.count(QRwdeditVersion.rwdeditVersion.state.in(1, 2, 3));
+        long count = repository.count(QRwdeditVersion.rwdeditVersion.state.in(EnumVersionState.INIT, EnumVersionState.CONFIRM, EnumVersionState.PUBLISH));
         if (count > 0) {
-            response.setFail("存在未发布版本,不可重复创建!");
+            response.setFail("存在未发布完成版本,不可重复创建!");
             return response;
         }
         count = repository.count(QRwdeditVersion.rwdeditVersion.version.eq(version));
@@ -74,7 +75,7 @@ public class RwdeditVersionService {
 
         RwdeditVersion entity = new RwdeditVersion();
         entity.setVersion(version);
-        entity.setState(1);
+        entity.setState(EnumVersionState.INIT);
         entity.setCreateTime(new Date());
         entity.setCreateUser(UserUtils.currentUserId() + "");
         repository.save(entity);
@@ -86,7 +87,7 @@ public class RwdeditVersionService {
     public MapResponse update(RwdeditVersion param) {
         MapResponse response = new MapResponse();
         String version = param.getVersion();
-        Integer state = param.getState();
+        EnumVersionState state = param.getState();
         if (version == null) {
             response.setFail("version is required");
             return response;
@@ -116,7 +117,7 @@ public class RwdeditVersionService {
     public MapResponse delete(RwdeditVersion param) {
         MapResponse response = new MapResponse();
         String version = param.getVersion();
-        Integer state = param.getState();
+        EnumVersionState state = param.getState();
         if (version == null) {
             response.setFail("version is required");
             return response;
@@ -127,7 +128,7 @@ public class RwdeditVersionService {
             return response;
         }
         RwdeditVersion rwdeditVersion = data.get();
-        if (state == 1) {
+        if (state.equals(EnumVersionState.INIT)) {
             repository.delete(rwdeditVersion);
         } else {
             JacksonCriteria criteria = JacksonCriteria.newInstance();