Procházet zdrojové kódy

feat: 增加新标准接口

huangzqa před 2 roky
rodič
revize
01d91be8fb
13 změnil soubory, kde provedl 308 přidání a 5 odebrání
  1. 16 0
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/ZeroTrustApproveEndEnum.java
  2. 13 0
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/ZeroTrustApproveManageEnum.java
  3. 11 1
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/ZeroTrustEndFlagEnum.java
  4. 9 0
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/ApprovalInfoReqVO.java
  5. 27 0
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/bim/ZeroTrustAppTokenInfoReqVO.java
  6. 7 0
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/v3/ZeroTrustApproveCallbackReqV3VO.java
  7. 2 0
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/v3/ZeroTrustApproveCreateReqV3VO.java
  8. 7 1
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/v3/ZeroTrustApproveManagerReqV3VO.java
  9. 77 0
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/bim/ZeroTrustAppItemUserTokenInfoRespVO.java
  10. 59 0
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/bim/ZeroTrustAppTokenInfoRespVO.java
  11. 2 0
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/v3/ZeroTrustApproveCreateV3RespVO.java
  12. 18 3
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/v3/ZeroTrustResultDataVO.java
  13. 60 0
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/v3/ZeroTrustResultRespVO.java

+ 16 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/ZeroTrustApproveEndEnum.java

@@ -1,5 +1,6 @@
 package com.dragonsoft.dcuc.approve.enumresources;
 
+import cn.hutool.core.lang.Assert;
 import com.dragonsoft.duceap.base.enums.ICodeEnum;
 
 /**
@@ -51,4 +52,19 @@ public enum ZeroTrustApproveEndEnum implements ICodeEnum {
     public String getLabel() {
         return this.label;
     }
+
+    public static ZeroTrustApproveEndEnum parse(ApproveWorkFlowOperationEnum approveWorkFlowOperationEnum) {
+        Assert.notNull(approveWorkFlowOperationEnum);
+        switch (approveWorkFlowOperationEnum) {
+            case COMPLETE_AGREE:
+                return ZeroTrustApproveEndEnum.END;
+            case COMPLETE_DISAGREE:
+                return ZeroTrustApproveEndEnum.STOP;
+            case BACK:
+            case RECALL:
+                return ZeroTrustApproveEndEnum.CANCEL;
+            default:
+                throw new IllegalArgumentException(approveWorkFlowOperationEnum.getValue());
+        }
+    }
 }

+ 13 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/ZeroTrustApproveManageEnum.java

@@ -50,4 +50,17 @@ public enum ZeroTrustApproveManageEnum implements ICodeEnum {
     public String getLabel() {
         return this.label;
     }
+
+    public ApproveWorkFlowOperationEnum toApproveWorkFlowOperationEnum() {
+        switch (this) {
+            case CANCEL:
+                return ApproveWorkFlowOperationEnum.RECALL;
+            case HOLD:
+            case STOP:
+            case ACTIVE:
+            default:
+                return null;
+        }
+
+    }
 }

+ 11 - 1
approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/ZeroTrustEndFlagEnum.java

@@ -1,5 +1,6 @@
 package com.dragonsoft.dcuc.approve.enumresources;
 
+import cn.hutool.core.lang.Assert;
 import com.dragonsoft.duceap.base.enums.ICodeEnum;
 
 /**
@@ -22,7 +23,6 @@ public enum ZeroTrustEndFlagEnum implements ICodeEnum {
     COMPLETE_DISAGREE("2", "操作失败");
 
 
-
     private final String value;
 
     private final String label;
@@ -42,4 +42,14 @@ public enum ZeroTrustEndFlagEnum implements ICodeEnum {
     public String getLabel() {
         return this.label;
     }
+
+    public static ZeroTrustEndFlagEnum parseApproveWorkFlowOperationEnum(ApproveWorkFlowOperationEnum approveWorkFlowOperationEnum) {
+        Assert.notNull(approveWorkFlowOperationEnum);
+        ZeroTrustEndFlagEnum zeroTrustEndFlagEnum = ZeroTrustEndFlagEnum.COMPLETE_DISAGREE;
+        if (approveWorkFlowOperationEnum.equals(ApproveWorkFlowOperationEnum.COMPLETE_AGREE)) {
+            zeroTrustEndFlagEnum = ZeroTrustEndFlagEnum.COMPLETE_AGREE;
+        }
+        return zeroTrustEndFlagEnum;
+    }
+
 }

+ 9 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/ApprovalInfoReqVO.java

@@ -120,4 +120,13 @@ public class ApprovalInfoReqVO implements Serializable {
     @ApiModelProperty(value = "下一任务对象信息")
     private List<ActivitiHolder> activitiHolderList;
 
+    @ApiModelProperty(value = "回调通知地址")
+    private String callbackUrl;
+
+    @ApiModelProperty(value = "任务类型")
+    private String approveTaskClass;
+
+    @ApiModelProperty(value = "任务编号")
+    private String approveTaskId;
+
 }

+ 27 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/bim/ZeroTrustAppTokenInfoReqVO.java

@@ -0,0 +1,27 @@
+
+package com.dragonsoft.dcuc.approve.model.req.bim;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * <p>
+ * 应用令牌信息服务接口
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/8/1
+ */
+@ApiModel(value = "应用令牌信息服务接口")
+@Data
+public class ZeroTrustAppTokenInfoReqVO {
+
+    /**
+     * 应用令牌标识
+     */
+    @ApiModelProperty(value = "应用令牌标识")
+    private String appTokenId;
+
+
+}

+ 7 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/v3/ZeroTrustApproveCallbackReqV3VO.java

@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+
 /**
  * <p>
  * 审批结果回调
@@ -21,15 +23,19 @@ public class ZeroTrustApproveCallbackReqV3VO {
      *
      * @see com.dragonsoft.dcuc.approve.enumresources.ZeroTrustApproveEndEnum
      */
+    @NotBlank
     @ApiModelProperty("流程结束类型")
     private String type;
 
+    @NotBlank
     @ApiModelProperty("流程实例Id")
     private String processInstId;
 
+    @NotBlank
     @ApiModelProperty("流程发起人")
     private String openId;
 
+    @NotBlank
     @ApiModelProperty("发起人姓名")
     private String userName;
 
@@ -46,6 +52,7 @@ public class ZeroTrustApproveCallbackReqV3VO {
     @ApiModelProperty("审批不通过理由")
     private String description;
 
+    @NotBlank
     @ApiModelProperty("任务编号")
     private String taskId;
 

+ 2 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/v3/ZeroTrustApproveCreateReqV3VO.java

@@ -67,6 +67,7 @@ public class ZeroTrustApproveCreateReqV3VO {
     /**
      * 应用接收审批结果地址(应用开发的接收审批结果变动的地址)
      */
+    @NotBlank
     @ApiModelProperty("应用接收审批结果地址")
     private String callbackUrl;
 
@@ -81,6 +82,7 @@ public class ZeroTrustApproveCreateReqV3VO {
      * 签名
      * 应采用国产密码算法对接口请求参数进行完整性保护
      */
+    @NotBlank
     @ApiModelProperty("签名")
     private String callerSign;
 

+ 7 - 1
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/v3/ZeroTrustApproveManagerReqV3VO.java

@@ -4,9 +4,11 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+
 /**
  * <p>
- *  审批流程管理请求
+ * 审批流程管理请求
  * </p>
  *
  * @author huangzqa
@@ -19,19 +21,23 @@ public class ZeroTrustApproveManagerReqV3VO {
     /**
      * 应用令牌标识
      */
+    @NotBlank
     @ApiModelProperty("应用令牌标识")
     private String appTokenId;
 
     /**
      * 流程实例Id
      */
+    @NotBlank
     @ApiModelProperty("流程实例Id")
     private String processInstId;
 
     /**
      * 操作类型
+     *
      * @see com.dragonsoft.dcuc.approve.enumresources.ZeroTrustApproveManageEnum
      */
+    @NotBlank
     @ApiModelProperty("操作类型")
     private String actionType;
 

+ 77 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/bim/ZeroTrustAppItemUserTokenInfoRespVO.java

@@ -0,0 +1,77 @@
+package com.dragonsoft.dcuc.approve.model.resp.bim;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 应用令牌信息中的用户令牌信息
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/8/1
+ */
+@JsonPropertyOrder({"id", "pid", "orgCode", "ip", "mid", "env"})
+@Data
+@ApiModel(value = "应用令牌信息中的用户令牌信息")
+public class ZeroTrustAppItemUserTokenInfoRespVO {
+
+    /**
+     * 用户令牌标识
+     */
+    @JsonProperty("Id")
+    @ApiModelProperty(value = "用户令牌标识")
+    private String id;
+
+    /**
+     * 用户标识
+     */
+    @JsonProperty("pId")
+    @ApiModelProperty(value = "用户标识")
+    private String pid;
+
+    /**
+     * 组织机构编码
+     */
+    @ApiModelProperty(value = "组织机构编码")
+    private String orgCode;
+
+    /**
+     * 用户名称
+     */
+    @ApiModelProperty(value = "用户名称")
+    private String name;
+
+    /**
+     * 终端设备标识
+     */
+    @JsonProperty("mId")
+    @ApiModelProperty(value = "终端设备标识")
+    private String mid;
+
+    /**
+     * 终端环境类型
+     */
+    @ApiModelProperty(value = "终端环境类型")
+    private String env;
+
+    /**
+     * 用户令牌创建时间
+     */
+    @ApiModelProperty(value = "应用令牌创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    /**
+     * 用户令牌到期时间
+     */
+    @ApiModelProperty(value = "应用令牌到期时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date expireAt;
+}

+ 59 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/bim/ZeroTrustAppTokenInfoRespVO.java

@@ -0,0 +1,59 @@
+package com.dragonsoft.dcuc.approve.model.resp.bim;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 应用令牌校验服务接口
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/8/1
+ */
+@JsonPropertyOrder({"id", "createTime", "expireAt", "appId", "userToken", "sign"})
+@ApiModel(value = "应用令牌信息服务")
+@Data
+public class ZeroTrustAppTokenInfoRespVO {
+
+    /**
+     * 应用令牌ID
+     */
+    @ApiModelProperty(value = "应用令牌ID")
+    @JsonProperty("Id")
+    private String id;
+
+    /**
+     * 应用令牌创建时间
+     */
+    @ApiModelProperty(value = "应用令牌创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    /**
+     * 应用令牌到期时间
+     */
+    @ApiModelProperty(value = "应用令牌到期时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date expireAt;
+
+    /**
+     * 应用标识
+     */
+    @ApiModelProperty(value = "应用标识")
+    private String appId;
+
+
+    /**
+     * 用户令牌详细信息
+     */
+    @ApiModelProperty(value = "用户令牌详细信息")
+    private ZeroTrustAppItemUserTokenInfoRespVO userToken;
+
+}

+ 2 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/v3/ZeroTrustApproveCreateV3RespVO.java

@@ -1,5 +1,6 @@
 package com.dragonsoft.dcuc.approve.model.resp.v3;
 
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -12,6 +13,7 @@ import lombok.Data;
  * @date 2023/5/22
  */
 @Data
+@ApiModel("流程提交返回内容")
 public class ZeroTrustApproveCreateV3RespVO {
 
     /**

+ 18 - 3
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/v3/ZeroTrustResultDataVO.java

@@ -30,11 +30,26 @@ public class ZeroTrustResultDataVO<T> extends ZeroTrustMessageRespVO {
         return objectZeroTrustResultDataVO;
     }
 
+
+    /**
+     * 设置失败信息
+     *
+     * @param message 失败信息
+     * @param <T>     泛型
+     * @return 消息
+     */
+    public static <T> ZeroTrustResultDataVO<T> operateFailMessage(String message) {
+        ZeroTrustResultDataVO<T> objectZeroTrustResultDataVO = new ZeroTrustResultDataVO<>();
+        objectZeroTrustResultDataVO.setBusinessRespEnum(ZeroTrustBusinessRespEnum.OPERATE_FAIL);
+        objectZeroTrustResultDataVO.setMessage(message);
+        return objectZeroTrustResultDataVO;
+    }
+
     /**
      * 设置枚举消息
      *
      * @param zeroTrustBusinessRespEnum 枚举类型
-     * @param <T>              泛型
+     * @param <T>                       泛型
      * @return 消息
      */
     public static <T> ZeroTrustResultDataVO<T> resultEnumMessage(ZeroTrustBusinessRespEnum zeroTrustBusinessRespEnum) {
@@ -47,8 +62,8 @@ public class ZeroTrustResultDataVO<T> extends ZeroTrustMessageRespVO {
      * 设置枚举消息和内容
      *
      * @param zeroTrustBusinessRespEnum 枚举类型
-     * @param data             内容
-     * @param <T>              泛型
+     * @param data                      内容
+     * @param <T>                       泛型
      * @return 消息
      */
     public static <T> ZeroTrustResultDataVO<T> resultEnumMessage(ZeroTrustBusinessRespEnum zeroTrustBusinessRespEnum, T data) {

+ 60 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/v3/ZeroTrustResultRespVO.java

@@ -0,0 +1,60 @@
+package com.dragonsoft.dcuc.approve.model.resp.v3;
+
+import com.dragonsoft.dcuc.approve.enumresources.ZeroTrustBusinessRespEnum;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 返回数据
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2022/8/1
+ */
+@JsonPropertyOrder({"statusCode", "message", "result"})
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class ZeroTrustResultRespVO<T> extends ZeroTrustMessageRespVO {
+
+    /***
+     * 返回内容
+     */
+    private T result;
+
+    public static <T> ZeroTrustResultRespVO<T> success(T result) {
+        ZeroTrustResultRespVO<T> objectZeroTrustResultRespVO = new ZeroTrustResultRespVO<>();
+        objectZeroTrustResultRespVO.setBusinessRespEnum(ZeroTrustBusinessRespEnum.SUCCESS);
+        objectZeroTrustResultRespVO.setResult(result);
+        return objectZeroTrustResultRespVO;
+    }
+
+    /**
+     * 设置枚举消息
+     *
+     * @param businessRespEnum 枚举类型
+     * @param <T>              泛型
+     * @return 消息
+     */
+    public static <T> ZeroTrustResultRespVO<T> resultEnumMessage(ZeroTrustBusinessRespEnum businessRespEnum) {
+        ZeroTrustResultRespVO<T> objectZeroTrustResultRespVO = new ZeroTrustResultRespVO<>();
+        objectZeroTrustResultRespVO.setBusinessRespEnum(businessRespEnum);
+        return objectZeroTrustResultRespVO;
+    }
+
+    /**
+     * 设置枚举消息和内容
+     *
+     * @param businessRespEnum 枚举类型
+     * @param result           内容
+     * @param <T>              泛型
+     * @return 消息
+     */
+    public static <T> ZeroTrustResultRespVO<T> resultEnumMessage(ZeroTrustBusinessRespEnum businessRespEnum, T result) {
+        ZeroTrustResultRespVO<T> objectZeroTrustResultRespVO = new ZeroTrustResultRespVO<>();
+        objectZeroTrustResultRespVO.setBusinessRespEnum(businessRespEnum);
+        objectZeroTrustResultRespVO.setResult(result);
+        return objectZeroTrustResultRespVO;
+    }
+}