浏览代码

Merge branch 'master' into 'develop'

Master同步至dev分支

See merge request dcuc-tjdsj/approve-core!39
黄资权 4 年之前
父节点
当前提交
148e225619
共有 100 个文件被更改,包括 1133 次插入2487 次删除
  1. 7 1
      approve-api/pom.xml
  2. 21 12
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/LogTypeEnum.java
  3. 5 127
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/FlowManageLogVo.java
  4. 7 146
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/OperateLogVo.java
  5. 5 145
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/RequestLogVo.java
  6. 8 145
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/RiskLogVo.java
  7. 二进制
      approve-api/target/approve-api-1.0.0-SNAPSHOT.jar
  8. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/enumresources/ApproveWorkFlowOprationEnum.class
  9. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/enumresources/ApproveWorkFlowTaskStateEnum.class
  10. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/enumresources/OperateOptionEnum.class
  11. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/enumresources/YesNoEnum.class
  12. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/facade/IApiApproveFacade.class
  13. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/facade/IApproveFacade.class
  14. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/facade/IReferenceFacade.class
  15. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/facade/ITest.class
  16. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/req/AgentDTO.class
  17. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/req/ApprovalInfoDTO.class
  18. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/req/ApprovalInfoUpdateDTO.class
  19. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/req/ApproveOperateDTO.class
  20. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/req/ResourceInfoDTO.class
  21. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ActivityNodeInfoVo.class
  22. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ApprovalInfoVo.class
  23. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ApproveCommentVo.class
  24. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ApproveWorkflowProcessTypeVo.class
  25. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/PersonDataVo.class
  26. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ProcessInstanceVo.class
  27. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ProcessStatusDetailVo.class
  28. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ProcessStatusVo.class
  29. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ResourceInfoVo.class
  30. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/TaskOperateVo.class
  31. 二进制
      approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/TaskVo.class
  32. 0 5
      approve-api/target/maven-archiver/pom.properties
  33. 0 14
      approve-api/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  34. 0 14
      approve-api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  35. 23 14
      approve-core-service/pom.xml
  36. 8 94
      approve-core-service/src/main/assembly/conf/application.yml
  37. 0 43
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/componet/AuditLogEventHandler.java
  38. 4 6
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/componet/DcucHelper.java
  39. 20 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/constants/Constants.java
  40. 0 13
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/constants/OutterApisInfo.java
  41. 25 16
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/facade/ApproveFacade.java
  42. 12 59
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApprovalInfo.java
  43. 8 18
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApprovalResourceInfo.java
  44. 9 7
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveActHiTask.java
  45. 10 5
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveActRunIdentityLink.java
  46. 11 8
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveActRunTask.java
  47. 16 13
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveCirculationInfo.java
  48. 15 99
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveQueryRelation.java
  49. 199 493
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveRecordInfo.java
  50. 14 2
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/FlowManageLog.java
  51. 0 24
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/IdEntity.java
  52. 15 2
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/OperateLog.java
  53. 14 1
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/RequestLog.java
  54. 16 122
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/RiskLog.java
  55. 18 7
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/RiskScheme.java
  56. 11 2
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/TaskAssignRecord.java
  57. 0 51
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/WorkflowConditionDto.java
  58. 1 1
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/vo/ApproveTaskRequestVo.java
  59. 7 2
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/vo/LogDto.java
  60. 1 1
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/vo/PoliceResultVo.java
  61. 0 13
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/IApplyInfoService.java
  62. 15 10
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/IApproveLogHelperService.java
  63. 15 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/IRiskSchemeService.java
  64. 0 21
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApplyInfoService.java
  65. 9 4
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveActHiTaskServiceImpl.java
  66. 8 5
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveActRunIdentityLinkServiceImpl.java
  67. 7 5
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveActRunTaskServiceImpl.java
  68. 173 114
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveLogHelperServiceImpl.java
  69. 123 79
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveServiceImpl.java
  70. 0 153
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveUploadService.java
  71. 154 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveUploadServiceImpl.java
  72. 6 5
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/FlowManageLogServiceImpl.java
  73. 2 3
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/OperateLogServiceImpl.java
  74. 2 3
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/RequestLogServiceImpl.java
  75. 15 19
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/RiskLogServiceImpl.java
  76. 21 10
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/RiskSchemeServiceImpl.java
  77. 3 3
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/TaskAssignRecordServiceImpl.java
  78. 23 22
      approve-core-service/src/main/resources/application-base.yml
  79. 12 114
      approve-core-service/src/main/resources/application.yml
  80. 12 0
      approve-core-service/src/main/resources/config/mysql/V1_1_0005__alter_table.sql
  81. 2 0
      approve-core-service/src/main/resources/config/mysql/V1_1_0006__alter_table_modif_business_code.sql
  82. 15 0
      approve-core-service/src/main/resources/config/oracle/V1_1_0005__alter_table.sql
  83. 1 0
      approve-core-service/src/main/resources/config/oracle/V1_1_0006__alter_table_modif_business_code.sql
  84. 5 3
      approve-core-service/src/main/resources/mapping/ApproveActRunTaskMapper.xml
  85. 0 39
      approve-core-service/target/classes/META-INF/additional-spring-configuration-metadata.json
  86. 0 88
      approve-core-service/target/classes/META-INF/spring-configuration-metadata.json
  87. 0 62
      approve-core-service/target/classes/approve-core-nosql.properties
  88. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/ApproveApplication.class
  89. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/componet/DcucHelper.class
  90. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/config/ApproveConfig.class
  91. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/config/KafkaConfig.class
  92. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/config/NosqlConfig.class
  93. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/constants/OutterApisInfo.class
  94. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/controller/ApproveController.class
  95. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/controller/ReferenceController1.class
  96. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/event/ApproveEvent.class
  97. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/event/ApproveEventListener.class
  98. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/event/ApproveEventPublish.class
  99. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/facade/ApproveFacade.class
  100. 二进制
      approve-core-service/target/classes/com/dragonsoft/dcuc/approve/facade/ReferenceFacade.class

+ 7 - 1
approve-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>approve-core</artifactId>
         <groupId>com.dragoninfo.dcuc</groupId>
-        <version>1.1.0-tjdsj-SNAPSHOT</version>
+        <version>1.2.0-tjdsj-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -43,6 +43,12 @@
             <groupId>com.dragoninfo</groupId>
             <artifactId>dcuc-app-model</artifactId>
             <version>2.0.0-SNAPSHOT</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>mybatis-plus-annotation</artifactId>
+                    <groupId>com.baomidou</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
     </dependencies>
 </project>

+ 21 - 12
approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/LogTypeEnum.java

@@ -10,33 +10,32 @@ import com.dragonsoft.duceap.base.enums.ICodeEnum;
  * @date 2021/2/5 8:59
  */
 public enum LogTypeEnum implements ICodeEnum {
+    /**
+     * 审批管理日志
+     */
     MANAGE_LOG("MANAGE_LOG", "审批管理日志"),
+    /**
+     * 请求日志
+     */
     REQUEST_LOG("REQUEST_LOG", "请求日志"),
+    /**
+     * 操作日志
+     */
     OPERATE_LOG("OPERATE_LOG", "操作日志"),
     ;
 
     public final String desc;
     public final String code;
 
-    private LogTypeEnum(String code, String desc) {
+    LogTypeEnum(String code, String desc) {
         this.code = code;
         this.desc = desc;
     }
 
-    public String getValue() {
-        return this.code;
-    }
-
-    public String getLabel() {
-        return this.desc;
-    }
-
     public static LogTypeEnum getValue(String code) {
         LogTypeEnum[] var1 = values();
-        int var2 = var1.length;
 
-        for(int var3 = 0; var3 < var2; ++var3) {
-            LogTypeEnum opEnum = var1[var3];
+        for (LogTypeEnum opEnum : var1) {
             if (opEnum.getValue().equals(code)) {
                 return opEnum;
             }
@@ -44,4 +43,14 @@ public enum LogTypeEnum implements ICodeEnum {
 
         return null;
     }
+
+    @Override
+    public String getValue() {
+        return this.code;
+    }
+
+    @Override
+    public String getLabel() {
+        return this.desc;
+    }
 }

+ 5 - 127
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/FlowManageLogVo.java

@@ -2,6 +2,7 @@ package com.dragonsoft.dcuc.approve.model.resp;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -13,6 +14,7 @@ import java.util.Date;
  * @version 1.0
  * @date 2021/5/27 19:43
  */
+@Data
 public class FlowManageLogVo  implements Serializable {
 
     private static final long serialVersionUID = 5454155825318885342L;
@@ -32,6 +34,9 @@ public class FlowManageLogVo  implements Serializable {
     @ApiModelProperty(value = "流程编号")
     private String businessCode;
 
+    @ApiModelProperty(value = "流程实例编号")
+    private String processInstanceId;
+
     @ApiModelProperty(value = "流程标题")
     private String title;
 
@@ -66,131 +71,4 @@ public class FlowManageLogVo  implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date createTime;
 
-    public String getIdcard() {
-        return idcard;
-    }
-
-    public void setIdcard(String idcard) {
-        this.idcard = idcard;
-    }
-
-    public String getOrgName() {
-        return orgName;
-    }
-
-    public void setOrgName(String orgName) {
-        this.orgName = orgName;
-    }
-
-    public String getOrgCode() {
-        return orgCode;
-    }
-
-    public void setOrgCode(String orgCode) {
-        this.orgCode = orgCode;
-    }
-
-    public String getBusinessCode() {
-        return businessCode;
-    }
-
-    public void setBusinessCode(String businessCode) {
-        this.businessCode = businessCode;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public String getDisposeType() {
-        return disposeType;
-    }
-
-    public void setDisposeType(String disposeType) {
-        this.disposeType = disposeType;
-    }
-
-    public String getResult() {
-        return result;
-    }
-
-    public void setResult(String result) {
-        this.result = result;
-    }
-
-    public String getCreateIp() {
-        return createIp;
-    }
-
-    public void setCreateIp(String createIp) {
-        this.createIp = createIp;
-    }
-
-    public String getFailMsg() {
-        return failMsg;
-    }
-
-    public void setFailMsg(String failMsg) {
-        this.failMsg = failMsg;
-    }
-
-    public String getOperateContent() {
-        return operateContent;
-    }
-
-    public void setOperateContent(String operateContent) {
-        this.operateContent = operateContent;
-    }
-
-    public String getCreateUser() {
-        return createUser;
-    }
-
-    public void setCreateUser(String createUser) {
-        this.createUser = createUser;
-    }
-
-    public String getCreateUserName() {
-        return createUserName;
-    }
-
-    public void setCreateUserName(String createUserName) {
-        this.createUserName = createUserName;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public String getDisposeTypeStr() {
-        return disposeTypeStr;
-    }
-
-    public void setDisposeTypeStr(String disposeTypeStr) {
-        this.disposeTypeStr = disposeTypeStr;
-    }
-
-    public String getResultStr() {
-        return resultStr;
-    }
-
-    public void setResultStr(String resultStr) {
-        this.resultStr = resultStr;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
 }

+ 7 - 146
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/OperateLogVo.java

@@ -1,9 +1,8 @@
 package com.dragonsoft.dcuc.approve.model.resp;
 
-import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
-import org.springframework.format.annotation.DateTimeFormat;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -11,10 +10,12 @@ import java.util.Date;
 /**
  * 代码千万行,注释第一行,编码不规范,同事两行泪
  * 操作日志表
+ *
  * @author huang(jy)
  * @version 1.0
  * @date 2021/5/27 19:43
  */
+@Data
 public class OperateLogVo implements Serializable {
 
     private static final long serialVersionUID = 5454155825318885342L;
@@ -34,6 +35,9 @@ public class OperateLogVo implements Serializable {
     @ApiModelProperty(value = "流程编号")
     private String businessCode;
 
+    @ApiModelProperty(value = "流程实例编号")
+    private String processInstanceId;
+
     @ApiModelProperty(value = "流程标题")
     private String title;
 
@@ -65,7 +69,7 @@ public class OperateLogVo implements Serializable {
     private String createUserName;
 
     @ApiModelProperty(value = "操作时间")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
     @ApiModelProperty(value = "流程节点标识码")
@@ -74,147 +78,4 @@ public class OperateLogVo implements Serializable {
     @ApiModelProperty(value = "流程节点名称")
     private String flowNodeName;
 
-    public String getIdcard() {
-        return idcard;
-    }
-
-    public void setIdcard(String idcard) {
-        this.idcard = idcard;
-    }
-
-    public String getOrgName() {
-        return orgName;
-    }
-
-    public void setOrgName(String orgName) {
-        this.orgName = orgName;
-    }
-
-    public String getOrgCode() {
-        return orgCode;
-    }
-
-    public void setOrgCode(String orgCode) {
-        this.orgCode = orgCode;
-    }
-
-    public String getBusinessCode() {
-        return businessCode;
-    }
-
-    public void setBusinessCode(String businessCode) {
-        this.businessCode = businessCode;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public String getDisposeType() {
-        return disposeType;
-    }
-
-    public void setDisposeType(String disposeType) {
-        this.disposeType = disposeType;
-    }
-
-    public String getResult() {
-        return result;
-    }
-
-    public void setResult(String result) {
-        this.result = result;
-    }
-
-    public String getCreateIp() {
-        return createIp;
-    }
-
-    public void setCreateIp(String createIp) {
-        this.createIp = createIp;
-    }
-
-    public String getFailMsg() {
-        return failMsg;
-    }
-
-    public void setFailMsg(String failMsg) {
-        this.failMsg = failMsg;
-    }
-
-    public String getOperateContent() {
-        return operateContent;
-    }
-
-    public void setOperateContent(String operateContent) {
-        this.operateContent = operateContent;
-    }
-
-    public String getCreateUser() {
-        return createUser;
-    }
-
-    public void setCreateUser(String createUser) {
-        this.createUser = createUser;
-    }
-
-    public String getCreateUserName() {
-        return createUserName;
-    }
-
-    public void setCreateUserName(String createUserName) {
-        this.createUserName = createUserName;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public String getFlowNodeCode() {
-        return flowNodeCode;
-    }
-
-    public void setFlowNodeCode(String flowNodeCode) {
-        this.flowNodeCode = flowNodeCode;
-    }
-
-    public String getFlowNodeName() {
-        return flowNodeName;
-    }
-
-    public void setFlowNodeName(String flowNodeName) {
-        this.flowNodeName = flowNodeName;
-    }
-
-    public String getDisposeTypeStr() {
-        return disposeTypeStr;
-    }
-
-    public void setDisposeTypeStr(String disposeTypeStr) {
-        this.disposeTypeStr = disposeTypeStr;
-    }
-
-    public String getResultStr() {
-        return resultStr;
-    }
-
-    public void setResultStr(String resultStr) {
-        this.resultStr = resultStr;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
 }

+ 5 - 145
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/RequestLogVo.java

@@ -1,8 +1,8 @@
 package com.dragonsoft.dcuc.approve.model.resp;
 
-import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
@@ -15,6 +15,7 @@ import java.util.Date;
  * @version 1.0
  * @date 2021/5/27 19:43
  */
+@Data
 public class RequestLogVo implements Serializable {
 
     private static final long serialVersionUID = 5454155825318885342L;
@@ -34,6 +35,9 @@ public class RequestLogVo implements Serializable {
     @ApiModelProperty(value = "流程编号")
     private String businessCode;
 
+    @ApiModelProperty(value = "流程实例编号")
+    private String processInstanceId;
+
     @ApiModelProperty(value = "流程标题")
     private String title;
 
@@ -74,148 +78,4 @@ public class RequestLogVo implements Serializable {
 
     @ApiModelProperty(value = "流程节点名称")
     private String flowNodeName;
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getIdcard() {
-        return idcard;
-    }
-
-    public void setIdcard(String idcard) {
-        this.idcard = idcard;
-    }
-
-    public String getOrgName() {
-        return orgName;
-    }
-
-    public void setOrgName(String orgName) {
-        this.orgName = orgName;
-    }
-
-    public String getOrgCode() {
-        return orgCode;
-    }
-
-    public void setOrgCode(String orgCode) {
-        this.orgCode = orgCode;
-    }
-
-    public String getBusinessCode() {
-        return businessCode;
-    }
-
-    public void setBusinessCode(String businessCode) {
-        this.businessCode = businessCode;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public String getDisposeType() {
-        return disposeType;
-    }
-
-    public void setDisposeType(String disposeType) {
-        this.disposeType = disposeType;
-    }
-
-    public String getResult() {
-        return result;
-    }
-
-    public void setResult(String result) {
-        this.result = result;
-    }
-
-    public String getCreateIp() {
-        return createIp;
-    }
-
-    public void setCreateIp(String createIp) {
-        this.createIp = createIp;
-    }
-
-    public String getFailMsg() {
-        return failMsg;
-    }
-
-    public void setFailMsg(String failMsg) {
-        this.failMsg = failMsg;
-    }
-
-    public String getOperateContent() {
-        return operateContent;
-    }
-
-    public void setOperateContent(String operateContent) {
-        this.operateContent = operateContent;
-    }
-
-    public String getCreateUser() {
-        return createUser;
-    }
-
-    public void setCreateUser(String createUser) {
-        this.createUser = createUser;
-    }
-
-    public String getCreateUserName() {
-        return createUserName;
-    }
-
-    public void setCreateUserName(String createUserName) {
-        this.createUserName = createUserName;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public String getFlowNodeCode() {
-        return flowNodeCode;
-    }
-
-    public void setFlowNodeCode(String flowNodeCode) {
-        this.flowNodeCode = flowNodeCode;
-    }
-
-    public String getFlowNodeName() {
-        return flowNodeName;
-    }
-
-    public void setFlowNodeName(String flowNodeName) {
-        this.flowNodeName = flowNodeName;
-    }
-
-    public String getDisposeTypeStr() {
-        return disposeTypeStr;
-    }
-
-    public void setDisposeTypeStr(String disposeTypeStr) {
-        this.disposeTypeStr = disposeTypeStr;
-    }
-
-    public String getResultStr() {
-        return resultStr;
-    }
-
-    public void setResultStr(String resultStr) {
-        this.resultStr = resultStr;
-    }
 }

+ 8 - 145
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/RiskLogVo.java

@@ -2,6 +2,7 @@ package com.dragonsoft.dcuc.approve.model.resp;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -9,10 +10,12 @@ import java.util.Date;
 /**
  * 代码千万行,注释第一行,编码不规范,同事两行泪
  * 风险日志表
+ *
  * @author huang(jy)
  * @version 1.0
  * @date 2021/5/27 19:43
  */
+@Data
 public class RiskLogVo implements Serializable {
 
     private static final long serialVersionUID = 5454155825318885342L;
@@ -40,12 +43,15 @@ public class RiskLogVo implements Serializable {
     private String riskTypeStr;
 
     @ApiModelProperty(value = "风险时间")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date riskTime;
 
     @ApiModelProperty(value = "流程编号")
     private String businessCode;
 
+    @ApiModelProperty(value = "流程实例编号")
+    private String processInstanceId;
+
     @ApiModelProperty(value = "流程标题")
     private String title;
 
@@ -72,150 +78,7 @@ public class RiskLogVo implements Serializable {
     private String orgCode;
 
     @ApiModelProperty(value = "创建时间")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private String createTime;
 
-    public String getLogSender() {
-        return logSender;
-    }
-
-    public void setLogSender(String logSender) {
-        this.logSender = logSender;
-    }
-
-    public String getLogReceiver() {
-        return logReceiver;
-    }
-
-    public void setLogReceiver(String logReceiver) {
-        this.logReceiver = logReceiver;
-    }
-
-    public String getRiskType() {
-        return riskType;
-    }
-
-    public void setRiskType(String riskType) {
-        this.riskType = riskType;
-    }
-
-    public Date getRiskTime() {
-        return riskTime;
-    }
-
-    public void setRiskTime(Date riskTime) {
-        this.riskTime = riskTime;
-    }
-
-    public String getBusinessCode() {
-        return businessCode;
-    }
-
-    public void setBusinessCode(String businessCode) {
-        this.businessCode = businessCode;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public String getRiskIp() {
-        return riskIp;
-    }
-
-    public void setRiskIp(String riskIp) {
-        this.riskIp = riskIp;
-    }
-
-    public String getRiskContent() {
-        return riskContent;
-    }
-
-    public void setRiskContent(String riskContent) {
-        this.riskContent = riskContent;
-    }
-
-    public String getCreateUser() {
-        return createUser;
-    }
-
-    public void setCreateUser(String createUser) {
-        this.createUser = createUser;
-    }
-
-    public String getCreateUserName() {
-        return createUserName;
-    }
-
-    public void setCreateUserName(String createUserName) {
-        this.createUserName = createUserName;
-    }
-
-    public String getIdcard() {
-        return idcard;
-    }
-
-    public void setIdcard(String idcard) {
-        this.idcard = idcard;
-    }
-
-    public String getOrgName() {
-        return orgName;
-    }
-
-    public void setOrgName(String orgName) {
-        this.orgName = orgName;
-    }
-
-    public String getOrgCode() {
-        return orgCode;
-    }
-
-    public void setOrgCode(String orgCode) {
-        this.orgCode = orgCode;
-    }
-
-    public String getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(String createTime) {
-        this.createTime = createTime;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getRiskTypeStr() {
-        return riskTypeStr;
-    }
-
-    public void setRiskTypeStr(String riskTypeStr) {
-        this.riskTypeStr = riskTypeStr;
-    }
-
-    public String getLogSenderStr() {
-        return logSenderStr;
-    }
-
-    public void setLogSenderStr(String logSenderStr) {
-        this.logSenderStr = logSenderStr;
-    }
-
-    public String getLogReceiverStr() {
-        return logReceiverStr;
-    }
-
-    public void setLogReceiverStr(String logReceiverStr) {
-        this.logReceiverStr = logReceiverStr;
-    }
 }

二进制
approve-api/target/approve-api-1.0.0-SNAPSHOT.jar


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/enumresources/ApproveWorkFlowOprationEnum.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/enumresources/ApproveWorkFlowTaskStateEnum.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/enumresources/OperateOptionEnum.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/enumresources/YesNoEnum.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/facade/IApiApproveFacade.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/facade/IApproveFacade.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/facade/IReferenceFacade.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/facade/ITest.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/req/AgentDTO.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/req/ApprovalInfoDTO.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/req/ApprovalInfoUpdateDTO.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/req/ApproveOperateDTO.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/req/ResourceInfoDTO.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ActivityNodeInfoVo.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ApprovalInfoVo.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ApproveCommentVo.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ApproveWorkflowProcessTypeVo.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/PersonDataVo.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ProcessInstanceVo.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ProcessStatusDetailVo.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ProcessStatusVo.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/ResourceInfoVo.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/TaskOperateVo.class


二进制
approve-api/target/classes/com/dragonsoft/dcuc/approve/model/resp/TaskVo.class


+ 0 - 5
approve-api/target/maven-archiver/pom.properties

@@ -1,5 +0,0 @@
-#Generated by Maven
-#Fri Feb 19 11:30:04 CST 2021
-version=1.0.0-SNAPSHOT
-groupId=com.dragoninfo.dcuc
-artifactId=approve-api

+ 0 - 14
approve-api/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -1,14 +0,0 @@
-com\dragonsoft\dcuc\approve\model\req\ResourceInfoDTO.class
-com\dragonsoft\dcuc\approve\model\resp\PersonDataVo.class
-com\dragonsoft\dcuc\approve\model\req\AgentDTO.class
-com\dragonsoft\dcuc\approve\model\resp\ApprovalInfoVo.class
-com\dragonsoft\dcuc\approve\enumresources\ApproveWorkFlowOprationEnum.class
-com\dragonsoft\dcuc\approve\enumresources\ApproveWorkFlowTaskStateEnum.class
-com\dragonsoft\dcuc\approve\model\resp\ProcessInstanceVo.class
-com\dragonsoft\dcuc\approve\model\resp\ResourceInfoVo.class
-com\dragonsoft\dcuc\approve\facade\ITestFacade.class
-com\dragonsoft\dcuc\approve\facade\IReferenceFacade.class
-com\dragonsoft\dcuc\approve\model\resp\TaskVo.class
-com\dragonsoft\dcuc\approve\model\resp\ActivityNodeInfoVo.class
-com\dragonsoft\dcuc\approve\facade\IApproveFacade.class
-com\dragonsoft\dcuc\approve\model\req\ApprovalInfoDTO.class

+ 0 - 14
approve-api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,14 +0,0 @@
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\facade\IReferenceFacade.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\model\resp\ActivityNodeInfoVo.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\model\resp\PersonDataVo.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\enumresources\ApproveWorkFlowTaskStateEnum.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\model\resp\ProcessInstanceVo.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\model\resp\TaskVo.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\model\req\ApprovalInfoDTO.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\facade\ITestFacade.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\model\resp\ResourceInfoVo.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\model\resp\ApprovalInfoVo.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\model\req\AgentDTO.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\facade\IApproveFacade.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\enumresources\ApproveWorkFlowOprationEnum.java
-D:\code\approve-service\approve-core\approve-api\src\main\java\com\dragonsoft\dcuc\approve\model\req\ResourceInfoDTO.java

+ 23 - 14
approve-core-service/pom.xml

@@ -5,14 +5,12 @@
     <parent>
         <artifactId>approve-core</artifactId>
         <groupId>com.dragoninfo.dcuc</groupId>
-        <version>1.1.0-tjdsj-SNAPSHOT</version>
+        <version>1.2.0-tjdsj-SNAPSHOT</version>
     </parent>
 
     <artifactId>approve-core-service</artifactId>
     <modelVersion>4.0.0</modelVersion>
 
-
-
     <dependencies>
         <!--配置 duceap 开始-->
         <!-- 引入duceap-cloud核心包-->
@@ -46,7 +44,7 @@
         <dependency>
             <groupId>com.dragoninfo</groupId>
             <artifactId>dcuc-duceap-api</artifactId>
-            <version>2.1.0-SNAPSHOT</version>
+            <version>2.1.1-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>com.dragonsoft</groupId>
@@ -78,8 +76,8 @@
         <!--配置第三方组件开始-->
         <!--oracle 引入-->
         <!--<dependency>-->
-            <!--<groupId>com.oracle</groupId>-->
-            <!--<artifactId>ojdbc6</artifactId>-->
+        <!--<groupId>com.oracle</groupId>-->
+        <!--<artifactId>ojdbc6</artifactId>-->
         <!--</dependency>-->
         <!--mysql 引入-->
         <dependency>
@@ -105,6 +103,12 @@
             <groupId>com.dragonsoft</groupId>
             <artifactId>auditlog-qm-tj</artifactId>
             <version>1.0.0-SNAPSHOT</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>joda-time</artifactId>
+                    <groupId>joda-time</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <!--测试-->
@@ -125,17 +129,12 @@
             <artifactId>jedis</artifactId>
             <version>2.9.3</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-pool2</artifactId>
-            <version>2.6.0</version>
-        </dependency>
         <!--redis结束-->
-        
+
         <dependency>
             <groupId>com.dragoninfo.dcuc</groupId>
             <artifactId>approve-api</artifactId>
-            <version>1.1.0-tjdsj-SNAPSHOT</version>
+            <version>${project.version}</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
@@ -172,6 +171,16 @@
             <groupId>com.dragonsoft</groupId>
             <artifactId>dcuc-common</artifactId>
             <version>2.0-SNAPSHOT</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>scala-library</artifactId>
+                    <groupId>org.scala-lang</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>scala-reflect</artifactId>
+                    <groupId>org.scala-lang</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
     </dependencies>
 
@@ -202,7 +211,7 @@
                                     <!--取消依赖包的时间戳-->
                                     <useBaseVersion>true</useBaseVersion>
                                     <!--排除licenseignore包,用来禁用许可开关,防止生产环境通过关闭开关,绕过许可-->
-                                   <!-- <excludeArtifactIds>duceap-support-licenseignore</excludeArtifactIds>-->
+                                    <!-- <excludeArtifactIds>duceap-support-licenseignore</excludeArtifactIds>-->
                                 </configuration>
                             </execution>
                             <execution>

+ 8 - 94
approve-core-service/src/main/assembly/conf/application.yml

@@ -1,97 +1,11 @@
 spring:
-
-  datasource:
-    username: jzpt_bu
-    password: dragon
-    driver-class-name: com.mysql.jdbc.Driver
-    url: jdbc:mysql://192.168.120.142:3306/dcuc_2.0?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
-
-    #    username: DCUC2_GD
-    #    password: dragon
-    #    driver-class-name: oracle.jdbc.driver.OracleDriver
-    #    url: jdbc:oracle:thin:@192.168.6.120:1521:orcl
-    druid:
-      filters: sqlaudit
-  application:
-    name: approve-core
-  cloud:
-    nacos:
-      discovery:
-        # 配置nacos地址
-        server-addr: 127.0.0.1:8848
-  redis:
-    host: 127.0.0.1
-    port: 6379
-    password:
-    jedis:
-      pool:
-        max-active: 10
-server:
-  port: 13180
-management:
-  endpoints:
-    web:
-      exposure:
-        include: '*'
-mybatis-plus:
-  mapper-locations: classpath:mapping/*Mapper.xml
-  global-config:
-    db-config:
-      logic-delete-value: 1
-      logic-not-delete-value: 0
-duceap:
-  flyway:
-    # 是否执行flyway
-    enabled: true
-    # 执行flyway路径
-    locations: classpath:/config/mysql
-  mybatis-plus:
-    map-camel-case-to-underscore: true
-  auditlog:
-    login:
-      enabled: true
-    audit:
-      enabled: true
-    sqlaudit:
-      output: kafka
-      exclude-tables: T_LOG_*
-  license:
-    enabled: false
-    dataCacheMethod: apollo
-  apollo:
-    client:
-      host: http://192.168.10.27:8070 #配置中心地址(portal端)
-  # 工作流
-  workflow:
-    enabled: true
-    client:
-      type: http
-    http:
-      url: 192.168.10.12:8880/duceap-duwf-core
-  swagger:
-    enabled: true
-    packagePath: com.dragonsoft.dcuc.approve
-approve:
-  workflow:
-    processTypeCode: approve
-  kxPeopleList:
-  #消息中心配置
-  kafka:
-    app-key: dcuc69000787
-    app-secret: dcuc01494668
-    auth-service-apply-topic: 10000027
-    kafka-servers: http://192.168.10.20:9981/dcms-manager
-app:
-  approve:
-    KafkaDataSource: HW_DS_KAFKA
+  profiles:
+    include: base
+#apollo配置
 apollo:
-  bootstrap:
-    enabled: true #是否启用apollo
-    namespaces: application, dragonsoft.approve-common #命名空间,默认application
-  cluster: default #集群,默认default
-  meta: http://192.168.10.27:8080 #配置中心地址(服务端)
-  # 取消placeholder的自动更新功能(默认true)
   autoUpdateInjectedSpringProperties: false
-logging:
-  level:
-    com.baomidou.mybatisplus: debug
+  bootstrap:
+    enabled: true
+    namespaces: application,dragonsoft.approve-common
+  cluster: default
+  meta: http://192.168.6.123:8080

+ 0 - 43
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/componet/AuditLogEventHandler.java

@@ -1,43 +0,0 @@
-package com.dragonsoft.dcuc.approve.componet;
-
-import com.dragonsoft.auditlog.collection.handler.IDatabaseEventHandler;
-import com.dragonsoft.auditlog.collection.pojo.MsgInfo;
-import com.dragonsoft.auditlog.collection.qmtj.LogSendComponent;
-import com.dragonsoft.auditlog.collection.qmtj.pojo.req.SysBusLog;
-import com.dragonsoft.dcuc.approve.service.IApproveLogHelperService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-/**
- * 代码千万行,注释第一行,编码不规范,同事两行泪
- *
- * @author huang(jy)
- * @version 1.0
- * @date 2021/5/27 16:37
- */
-@Component
-public class AuditLogEventHandler implements IDatabaseEventHandler {
-
-    @Autowired
-    private LogSendComponent logSendComponent;
-    @Autowired
-    private IApproveLogHelperService approveLogHelperService;
-
-    @Override
-    public void handler(MsgInfo data) {
-        //接收参数后做业务逻辑处理
-
-//
-//        //将MsgInfo中数据转换成启明天津的包上报日志接口中的对象
-//        SysBusLog busLog = new SysBusLog();
-//        busLog.setNum_id(0L);
-//        busLog.setReg_id(data.getUserInfo().getUserDeptId());
-//        busLog.setUser_id(data.getUserInfo().getIdCard());
-//        //...
-//
-//        //这里调用启明天津的包进行日志请求
-//        logSendComponent.sendAppBusLog("人口信息系统", "业务操作日志", busLog);
-
-    }
-
-}

+ 4 - 6
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/componet/DcucHelper.java

@@ -2,7 +2,7 @@ package com.dragonsoft.dcuc.approve.componet;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.dragonsoft.dcuc.approve.model.PoliceResultVo;
+import com.dragonsoft.dcuc.approve.model.vo.PoliceResultVo;
 import com.dragonsoft.duceap.core.entity.response.ResponseResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -42,16 +42,14 @@ public class DcucHelper {
      * @param pageMap
      * @return
      */
-    public List<PoliceResultVo> getPoliceList(String userToken, String appToken, Map pageMap) {
-
-        Map<String, Object> paramMap = new HashMap<>();
+    public List<PoliceResultVo> getPoliceList(String userToken, String appToken, Map<String, Object> pageMap) {
 
         //构建请求头
         HttpHeaders headers = buildHttpHeaders(appToken, userToken, MediaType.APPLICATION_JSON);
         //构建RestTemplate
         List<PoliceResultVo> policeMapList = null;
         try {
-            HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<Map<String, Object>>(pageMap, headers);
+            HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(pageMap, headers);
             //远程调用用户中心接口
             ResponseEntity<String> resEntity = hwRestTemplate.exchange(userServiceUrl + AUTH_POLICE_PATH, HttpMethod.POST, requestEntity, String.class);
             logger.info("远程调用返回结果resEntity=【{}】,请求url=【{}】", JSONObject.toJSONString(resEntity), userServiceUrl + AUTH_POLICE_PATH);
@@ -75,7 +73,7 @@ public class DcucHelper {
      * @param filtersMap
      * @return
      */
-    private Map buildUserFiltersMap(Map filtersMap) {
+    private Map<String, Map<Object, Object>> buildUserFiltersMap(Map<String, Map<Object, Object>> filtersMap) {
         Map operatorMap = new HashMap<>();
         operatorMap.put("operator", "eq");
         operatorMap.put("value", "");

+ 20 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/constants/Constants.java

@@ -0,0 +1,20 @@
+package com.dragonsoft.dcuc.approve.constants;
+
+/**
+ * <p>
+ * 常量
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2021/6/29
+ */
+public final class Constants {
+
+    /**
+     * 开始节点
+     */
+    public static final String START = "start";
+
+    private Constants() {
+    }
+}

+ 0 - 13
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/constants/OutterApisInfo.java

@@ -1,13 +0,0 @@
-package com.dragonsoft.dcuc.approve.constants;
-
-/**
- * @author wangrs
- * @date 2021/02/23
- * 第三方接口地址
- */
-public class OutterApisInfo {
-    /**
-     * 服务资源授权审批结果推送接口地址
-     */
-    public static final String SERVICE_RESOURCE_AUTHORIZATION_GRANT = "";
-}

+ 25 - 16
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/facade/ApproveFacade.java

@@ -3,7 +3,6 @@ package com.dragonsoft.dcuc.approve.facade;
 import com.dragonsoft.dcuc.approve.config.ApproveConfig;
 import com.dragonsoft.dcuc.approve.enumresources.ApproveWorkFlowOprationEnum;
 import com.dragonsoft.dcuc.approve.enumresources.ApproveWorkFlowTaskStateEnum;
-import com.dragonsoft.dcuc.approve.enumresources.YesNoEnum;
 import com.dragonsoft.dcuc.approve.model.req.AgentDTO;
 import com.dragonsoft.dcuc.approve.model.req.ApprovalInfoDTO;
 import com.dragonsoft.dcuc.approve.model.req.ApprovalInfoUpdateDTO;
@@ -44,6 +43,7 @@ public class ApproveFacade implements IApproveFacade {
 
     /**
      * 我的请求列表
+     *
      * @param searchable
      * @return
      */
@@ -54,11 +54,12 @@ public class ApproveFacade implements IApproveFacade {
 
     /**
      * 待办/已办列表
+     *
      * @param searchable
      * @return
      */
     @Override
-    public  Page<TaskVo> queryApproveList(Searchable searchable) {
+    public Page<TaskVo> queryApproveList(Searchable searchable) {
         //设置查询所有数据(待办)
         //todo 状态由前段传过来,考虑与其他审批混合的情况
         //searchable.addSearchParam("state_eq", "unfinish");
@@ -67,6 +68,7 @@ public class ApproveFacade implements IApproveFacade {
 
     /**
      * 我的请求列表-删除
+     *
      * @param id
      * @return
      */
@@ -77,12 +79,13 @@ public class ApproveFacade implements IApproveFacade {
 
     /**
      * 审批操作
+     *
      * @param approveOperateDTO
      * @return
      */
     @Override
     public ResponseStatus approveOperate(ApproveOperateDTO approveOperateDTO) {
-        if (!approveConfig.getAppCode().equals(approveOperateDTO.getAppCode())){
+        if (!approveConfig.getAppCode().equals(approveOperateDTO.getAppCode())) {
             return ResponseStatus.fail("非审批中心流程数据无法调用此接口");
         }
 
@@ -91,18 +94,19 @@ public class ApproveFacade implements IApproveFacade {
         approveMessage.setMessage(approveOperateDTO.getMessage());
         approveMessage.setApproveState(approveOperateDTO.getOperateType());
         taskRequest.setApproveMessage(approveMessage);
-        Map<String,String> userData = new HashMap<>();
-        userData.put("idCard",(null == UserContextUtils.getCurrentUser()) ? "" : UserContextUtils.getCurrentUser().getIdcard());
-        userData.put("userName",(null == UserContextUtils.getCurrentUser()) ? "" : UserContextUtils.getCurrentUser().getUserName());
-        userData.put("orgCode",(null == UserContextUtils.getCurrentUser()) ? "" : UserContextUtils.getCurrentUser().getSecurityOrg());
-        userData.put("orgName",(null == UserContextUtils.getCurrentUser()) ? "" : UserContextUtils.getCurrentUser().getSecurityOrgName());
-        return approveService.approveOperate(approveOperateDTO.getTaskId(),approveOperateDTO.getProcessInstanceId(),
+        Map<String, String> userData = new HashMap<>();
+        userData.put("idCard", (null == UserContextUtils.getCurrentUser()) ? "" : UserContextUtils.getCurrentUser().getIdcard());
+        userData.put("userName", (null == UserContextUtils.getCurrentUser()) ? "" : UserContextUtils.getCurrentUser().getUserName());
+        userData.put("orgCode", (null == UserContextUtils.getCurrentUser()) ? "" : UserContextUtils.getCurrentUser().getSecurityOrg());
+        userData.put("orgName", (null == UserContextUtils.getCurrentUser()) ? "" : UserContextUtils.getCurrentUser().getSecurityOrgName());
+        return approveService.approveOperate(approveOperateDTO.getTaskId(), approveOperateDTO.getProcessInstanceId(),
                 EnumUtils.enumOf(ApproveWorkFlowOprationEnum.class, approveOperateDTO.getOperateType()),
-                taskRequest,approveOperateDTO.getIdCard(),userData, approveOperateDTO.getActivitiHolderList(), approveOperateDTO.getAppCode());
+                taskRequest, approveOperateDTO.getIdCard(), userData, approveOperateDTO.getActivitiHolderList(), approveOperateDTO.getAppCode());
     }
 
     /**
      * 申请详情
+     *
      * @param id
      * @return
      */
@@ -113,6 +117,7 @@ public class ApproveFacade implements IApproveFacade {
 
     /**
      * 保存或保存并提交
+     *
      * @param approvalInfoDTO
      * @return
      */
@@ -124,6 +129,7 @@ public class ApproveFacade implements IApproveFacade {
 
     /**
      * 修改
+     *
      * @param approvalInfoDTO
      * @return
      */
@@ -135,6 +141,7 @@ public class ApproveFacade implements IApproveFacade {
 
     /**
      * 转办
+     *
      * @param agentDTO
      * @return
      */
@@ -147,6 +154,7 @@ public class ApproveFacade implements IApproveFacade {
 
     /**
      * 审批意见
+     *
      * @param businessId
      * @return
      */
@@ -164,6 +172,7 @@ public class ApproveFacade implements IApproveFacade {
 
     /**
      * 获取流程图节点详情
+     *
      * @param proInsId
      * @param statusType
      * @param taskDefinitionId
@@ -171,7 +180,7 @@ public class ApproveFacade implements IApproveFacade {
      */
     @Override
     public ResponseStatus processPicDetail(String proInsId, String statusType, String taskDefinitionId, String appCode) {
-        if (!approveConfig.getAppCode().equals(appCode)){
+        if (!approveConfig.getAppCode().equals(appCode)) {
             return ResponseDTO.newInstance();
         }
         ActivityNodeInfoVo activityNodeInfoVo = approveService.processPicDetail(proInsId, statusType, taskDefinitionId);
@@ -180,6 +189,7 @@ public class ApproveFacade implements IApproveFacade {
 
     /**
      * 申请统计
+     *
      * @param searchable
      * @return
      */
@@ -193,7 +203,7 @@ public class ApproveFacade implements IApproveFacade {
         //查询待办数量
         Searchable unfinishSearchable = Searchable.newSearchable();
         unfinishSearchable.setPage(0, 1);
-        unfinishSearchable.addSearchFilter("state",SearchOperator.eq,ApproveWorkFlowTaskStateEnum.UN_FINISH.getValue());
+        unfinishSearchable.addSearchFilter("state", SearchOperator.eq, ApproveWorkFlowTaskStateEnum.UN_FINISH.getValue());
         Integer unfinishQty = approveService.queryApproveQty(unfinishSearchable);
         //查询我的请求数量
         Integer myRequestQty = approveService.queryMyRequestQty();
@@ -207,6 +217,7 @@ public class ApproveFacade implements IApproveFacade {
 
     /**
      * 获取流程类型列表
+     *
      * @return
      */
     @Override
@@ -217,7 +228,8 @@ public class ApproveFacade implements IApproveFacade {
 
     /**
      * 获取流程类别详情
-     * @param processTypeCode   流程类别code
+     *
+     * @param processTypeCode 流程类别code
      * @return
      */
     @Override
@@ -236,7 +248,4 @@ public class ApproveFacade implements IApproveFacade {
         return approveService.queryPoliceList(userToken, appToken, page, size);
     }
 
-    private String getCurrentUserId() {
-        return (null == UserContextUtils.getCurrentUser()) ? "40288600739638db017399ff8ec60009" : UserContextUtils.getCurrentUser().getId();
-    }
 }

+ 12 - 59
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApprovalInfo.java

@@ -1,12 +1,13 @@
 package com.dragonsoft.dcuc.approve.model;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
 import com.dragonsoft.dcuc.approve.model.resp.ResourceInfoVo;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.persistence.Transient;
@@ -18,143 +19,102 @@ import java.util.Date;
  * @date 2021/02/04
  * @desc 流程类型实体
  */
-@EqualsAndHashCode(callSuper = true)
 @Data
-public class ApprovalInfo extends IdEntity implements Serializable {
+public class ApprovalInfo implements Serializable {
 
     private static final long serialVersionUID = 5454155825318885342L;
 
-    //alias
-    public static final String TABLE_ALIAS = "ApprovalInfo";
-    public static final String ALIAS_ID = "id";
-    public static final String ALIAS_PR0CESS_TITLE = "processTitle";
-    public static final String ALIAS_PROCESS_TYPE = "processType";
-    public static final String ALIAS_PROCESS_NAME = "processName";
-    public static final String ALIAS_APPLY_REASON = "applyReason";
-    public static final String ALIAS_APPLY_CONTENT = "applyContent";
-    public static final String ALIAS_APPLICANT_IDCARD = "applicantIdcard";
-    public static final String ALIAS_APPLICANT_NAME = "applicantName";
-    public static final String ALIAS_APPLICANT_ORG_CODE = "applicantOrgCode";
-    public static final String ALIAS_APPLICANT_ORG_NAME = "applicantOrgName";
-    public static final String ALIAS_APPLICANT_PHONE_NO = "applicantPhoneNo";
-    public static final String ALIAS_PROCESS_INSTANCE_ID = "processInstanceId";
-    public static final String ALIAS_APPROVE_TASK_IDENTIFIER = "approveTaskIdentifier";
-    public static final String ALIAS_TASK_ID = "taskId";
-    public static final String ALIAS_TASK_NAME = "taskName";
-    public static final String ALIAS_PERMISSION_VALID_TYPE = "permissionValidType";
-    public static final String ALIAS_START_TIME = "startTime";
-    public static final String ALIAS_END_TIME = "endTime";
-    public static final String ALIAS_IS_DELETED = "isDeleted";
-    public static final String ALIAS_CREATE_TIME = "createTime";
-    public static final String ALIAS_UPDATE_TIME = "updateTime";
-    public static final String ALIAS_CREATE_USER = "createUser";
-    public static final String ALIAS_UPDATE_USER = "updateUser";
+    @TableField(value = "ID")
+    @TableId(type = IdType.UUID)
+    private String id;
 
     /**
      * 流程标题
      */
-    //@Column(name =  "PROCESS_TITLE")
     private String processTitle;
 
     /**
      * 流程类型
      */
-    //@Column(name =  "PROCESS_TYPE")
     private String processType;
 
     /**
      * 流程类型名称
      */
-    //@Column(name =  "PROCESS_TYPE_NAME")
     private String processTypeName;
 
     /**
      * 流程名称
      */
-    //@Column(name =  "PROCESS_NAME")
     private String processName;
 
     /**
      * 流程标识码
      */
-    //@Column(name =  "PROCESS_NAME")
     private String businessCode;
 
     /**
      * 申请理由
      */
-    //@Column(name =  "APPLY_REASON")
     private String applyReason;
 
     /**
      * 申请内容
      */
-    //@Column(name =  "APPLY_CONTENT")
     private String applyContent;
 
     /**
      * 申请人员身份证号
      */
-    //@Column(name =  "APPLICANT_IDCARD")
     private String applicantIdcard;
 
     /**
      * 申请人员姓名
      */
-    //@Column(name =  "APPLICANT_NAME")
     private String applicantName;
 
     /**
      * 申请人单位代码
      */
-    //@Column(name =  "APPLICANT_ORG_CODE")
     private String applicantOrgCode;
     /**
      * 申请人单位名称
      */
-    //@Column(name =  "APPLICANT_ORG_NAME")
     private String applicantOrgName;
 
     /**
      * 申请人联系方式
      */
-    //@Column(name =  "APPLICANT_PHONE_NO")
     private String applicantPhoneNo;
 
     /**
      * 流程实例ID
      */
-    //@Column(name =  "PROCESS_INSTANCE_ID")
     private String processInstanceId;
 
     /**
      * 任务标识(Code)
      */
-    //@Column(name =  "APPROVE_TASK_IDENTIFIER")
     private String approveTaskIdentifier;
 
     /**
      * 任务ID
      */
-    //@Column(name =  "TASK_ID")
     private String taskId;
 
     /**
      * 任务名称
      */
-    //@Column(name =  "TASK_NAME")
     private String taskName;
 
     /**
      * 消息ID
      */
-    //@Column(name =  "TASK_NAME")
     private String messageId;
 
     /**
      * 有效时间类别
      */
-    //@Column(name =  "PERMISSION_VALID_TYPE")
     private String permissionValidType;
 
     /**
@@ -165,51 +125,44 @@ public class ApprovalInfo extends IdEntity implements Serializable {
     /**
      * 有效时间起始
      */
-    //@Column(name =  "START_TIME")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date startTime;
 
     /**
      * 有效时间终止
      */
-    //@Column(name =  "END_TIME")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endTime;
 
     /**
      * 是否删除
      */
-    //@Column(name =  "IS_DELETED")
     @TableLogic
     private String isDeleted;
 
     /**
      * 创建时间
      */
-    //@Column(name =  "CREATE_TIME")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
     /**
      * 修改时间
      */
-    //@Column(name =  "UPDATE_TIME")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date updateTime;
     /**
      * 创建人
      */
-    //@Column(name =  "CREATE_USER")
     private String createUser;
 
     /**
      * 修改人
      */
-    //@Column(name =  "UPDATE_USER")
     private String updateUser;
 
     /**
@@ -226,7 +179,7 @@ public class ApprovalInfo extends IdEntity implements Serializable {
     private ResourceInfoVo resourceInfoVo;
 
     @Override
-    public String toString(){
+    public String toString() {
         return "ApprovalInfo{" +
                 ", processName='" + processName + '\'' +
                 ", processInstanceId='" + processInstanceId + '\'' +

+ 8 - 18
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApprovalResourceInfo.java

@@ -1,6 +1,8 @@
 package com.dragonsoft.dcuc.approve.model;
 
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
 
 /**
@@ -9,58 +11,46 @@ import lombok.Data;
  * @desc 流程资源信息
  */
 @Data
-public class ApprovalResourceInfo extends IdEntity{
+public class ApprovalResourceInfo {
 
     private static final long serialVersionUID = 5454155666318885342L;
 
-    //alias
-    public static final String TABLE_ALIAS = "ApprovalResourceInfo";
-    public static final String ALIAS_ID = "id";
-    public static final String ALIAS_APPROVAL_ID = "approvalId";
-    public static final String ALIAS_VISITOR_CODE= "visitorCode";
-    public static final String ALIAS_VISITOR_NAME = "visitorName";
-    public static final String ALIAS_VISIT_RESOURCE_CODE = "resourceCode";
-    public static final String ALIAS_VISIT_RESOURCE_NAME = "resourceName";
-    public static final String ALIAS_VISIT_INFO = "visitInfo";
+    @TableField(value = "ID")
+    @TableId(type = IdType.UUID)
+    private String id;
 
     /**
      * 申请ID
      */
-    //@Column(name = "APPROVAL_ID")
     private String approvalId;
 
     /**
      * 请求方编码
      */
-    //@Column(name = "VISITOR_CODE")
     private String visitorCode;
 
     /**
      * 请求方名称
      */
-    //@Column(name = "VISITOR_NAME")
     private String visitorName;
 
     /**
      * 访问资源编码
      */
-    //@Column(name = "VISIT_RESOURCE_CODE")
     private String visitResourceCode;
 
     /**
      * 访问资源名称
      */
-    //@Column(name = "VISIT_RESOURCE_NAME")
     private String visitResourceName;
 
     /**
      * 访问信息
      */
-    //@Column(name = "VISIT_INFO")
     private String visitInfo;
 
     @Override
-    public String toString(){
+    public String toString() {
         return "T_RESOURCE_INFO{" +
                 ", APPROVAL_ID='" + approvalId + '\'' +
                 '}';

+ 9 - 7
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveActHiTask.java

@@ -1,10 +1,8 @@
 package com.dragonsoft.dcuc.approve.model;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import org.apache.ibatis.type.JdbcType;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -13,16 +11,19 @@ import java.util.Date;
 
 /**
  * 代码千万行,注释第一行,编码不规范,同事两行泪
- *  已办表
+ * 已办表
+ *
  * @author huang(jy)
  * @version 1.0
  * @date 2021/6/8 19:43
  */
-@EqualsAndHashCode(callSuper = true)
 @Data
 @TableName(value = "T_APPROVE_ACT_HI_TASK")
-public class ApproveActHiTask extends IdEntity implements Serializable {
+public class ApproveActHiTask implements Serializable {
     private static final long serialVersionUID = 5454333546618885343L;
+    @TableField(value = "ID")
+    @TableId(type = IdType.UUID)
+    private String id;
     /**
      * 申请单ID
      */
@@ -78,12 +79,13 @@ public class ApproveActHiTask extends IdEntity implements Serializable {
      * 操作时间
      */
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @TableField(jdbcType = JdbcType.TIMESTAMP)
     private Date operateTime;
 
     /**
      * 删除标注
      */
+    @TableLogic
     private String deleted;
 }

+ 10 - 5
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveActRunIdentityLink.java

@@ -1,26 +1,31 @@
 package com.dragonsoft.dcuc.approve.model;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 
 import java.io.Serializable;
 
 
-
 /**
  * 代码千万行,注释第一行,编码不规范,同事两行泪
- *  任务关联人员表
+ * 任务关联人员表
+ *
  * @author huang(jy)
  * @version 1.0
  * @date 2021/6/8 19:43
  */
-@EqualsAndHashCode(callSuper = true)
 @Data
 @TableName(value = "T_APPROVE_ACT_RUN_IDENTITY_LINK")
-public class ApproveActRunIdentityLink extends IdEntity implements Serializable {
+public class ApproveActRunIdentityLink implements Serializable {
     private static final long serialVersionUID = 5454656566618885343L;
 
+    @TableField(value = "ID")
+    @TableId(type = IdType.UUID)
+    private String id;
+
     /**
      * 申请单ID
      */

+ 11 - 8
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveActRunTask.java

@@ -1,29 +1,31 @@
 package com.dragonsoft.dcuc.approve.model;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 import org.apache.ibatis.type.JdbcType;
 import org.springframework.format.annotation.DateTimeFormat;
 
-import javax.persistence.Transient;
 import java.io.Serializable;
 import java.util.Date;
 
 /**
  * 代码千万行,注释第一行,编码不规范,同事两行泪
- *  待办表
+ * 待办表
+ *
  * @author huang(jy)
  * @version 1.0
  * @date 2021/6/8 19:43
  */
-@EqualsAndHashCode(callSuper = true)
 @Data
 @TableName(value = "T_APPROVE_ACT_RUN_TASK")
-public class ApproveActRunTask extends IdEntity implements Serializable {
+public class ApproveActRunTask implements Serializable {
     private static final long serialVersionUID = 5454656546618885343L;
+
+    @TableField(value = "ID")
+    @TableId(type = IdType.UUID)
+    private String id;
+
     /**
      * 申请单ID
      */
@@ -69,13 +71,14 @@ public class ApproveActRunTask extends IdEntity implements Serializable {
      * 生成时间
      */
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @TableField(jdbcType = JdbcType.TIMESTAMP)
     private Date generateTime;
 
     /**
      * 删除标注
      */
+    @TableLogic
     private String deleted;
 
 

+ 16 - 13
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveCirculationInfo.java

@@ -1,24 +1,26 @@
 package com.dragonsoft.dcuc.approve.model;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.*;
+import lombok.Data;
 import org.apache.ibatis.type.JdbcType;
 import org.springframework.format.annotation.DateTimeFormat;
 
-import java.sql.Timestamp;
 import java.util.Date;
 
 /**
- * @Description  
- * @Author  wangzw
- * @Date 2021-05-26 
+ * @Description
+ * @Author wangzw
+ * @Date 2021-05-26
  */
 
 @Data
-@TableName(value ="t_approve_circulation_info" )
-public class ApproveCirculationInfo extends IdEntity{
+@TableName(value = "t_approve_circulation_info")
+public class ApproveCirculationInfo {
+
+	@TableField(value = "ID")
+	@TableId(type = IdType.UUID)
+	private String id;
 
 	/**
 	 * 审批单信息记录id
@@ -101,6 +103,7 @@ public class ApproveCirculationInfo extends IdEntity{
 	/**
 	 * 是否删除
 	 */
+	@TableLogic
 	private String isDeleted;
 
 	/**
@@ -112,7 +115,7 @@ public class ApproveCirculationInfo extends IdEntity{
 	 * 创建时间
 	 */
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	@TableField(jdbcType = JdbcType.TIMESTAMP)
 	private Date createTime;
 
@@ -120,7 +123,7 @@ public class ApproveCirculationInfo extends IdEntity{
 	 * 更新人
 	 */
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	@TableField(jdbcType = JdbcType.TIMESTAMP)
 	private String updateUser;
 
@@ -128,7 +131,7 @@ public class ApproveCirculationInfo extends IdEntity{
 	 * 更新时间
 	 */
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	@TableField(jdbcType = JdbcType.TIMESTAMP)
 	private Date updateTime;
 
@@ -141,7 +144,7 @@ public class ApproveCirculationInfo extends IdEntity{
 	 * 删除时间
 	 */
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	@TableField(jdbcType = JdbcType.TIMESTAMP)
 	private Date deleteTime;
 

+ 15 - 99
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveQueryRelation.java

@@ -1,9 +1,8 @@
 package com.dragonsoft.dcuc.approve.model;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.*;
+import lombok.Data;
 import org.apache.ibatis.type.JdbcType;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -11,14 +10,17 @@ import java.util.Date;
 
 
 /**
- * @Description  
- * @Author  wangzw
- * @Date 2021-05-26 
+ * @Description
+ * @Author wangzw
+ * @Date 2021-05-26
  */
-
 @Data
-@TableName(value = "t_approve_query_relation" )
-public class ApproveQueryRelation extends IdEntity{
+@TableName(value = "t_approve_query_relation")
+public class ApproveQueryRelation {
+
+	@TableField(value = "ID")
+	@TableId(type = IdType.UUID)
+	private String id;
 
 	/**
 	 * 审批单信息记录id
@@ -43,6 +45,7 @@ public class ApproveQueryRelation extends IdEntity{
 	/**
 	 * 是否删除
 	 */
+	@TableLogic
 	private String isDeleted;
 
 	/**
@@ -54,7 +57,7 @@ public class ApproveQueryRelation extends IdEntity{
 	 * 创建时间
 	 */
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	@TableField(jdbcType = JdbcType.TIMESTAMP)
 	private Date createTime;
 
@@ -67,7 +70,7 @@ public class ApproveQueryRelation extends IdEntity{
 	 * 更新时间
 	 */
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	@TableField(jdbcType = JdbcType.TIMESTAMP)
 	private Date updateTime;
 
@@ -80,95 +83,8 @@ public class ApproveQueryRelation extends IdEntity{
 	 * 删除时间
 	 */
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	@TableField(jdbcType = JdbcType.TIMESTAMP)
 	private Date deleteTime;
 
-	public String getApproveRecordId() {
-		return this.approveRecordId;
-	}
-
-	public void setApproveRecordId(String approveRecordId) {
-		this.approveRecordId = approveRecordId;
-	}
-
-	public String getQueryUserType() {
-		return this.queryUserType;
-	}
-
-	public void setQueryUserType(String queryUserType) {
-		this.queryUserType = queryUserType;
-	}
-
-	public String getQueryUserName() {
-		return this.queryUserName;
-	}
-
-	public void setQueryUserName(String queryUserName) {
-		this.queryUserName = queryUserName;
-	}
-
-	public String getQueryUserId() {
-		return this.queryUserId;
-	}
-
-	public void setQueryUserId(String queryUserId) {
-		this.queryUserId = queryUserId;
-	}
-
-	public String getIsDeleted() {
-		return this.isDeleted;
-	}
-
-	public void setIsDeleted(String isDeleted) {
-		this.isDeleted = isDeleted;
-	}
-
-	public String getCreateUser() {
-		return this.createUser;
-	}
-
-	public void setCreateUser(String createUser) {
-		this.createUser = createUser;
-	}
-
-	public Date getCreateTime() {
-		return createTime;
-	}
-
-	public void setCreateTime(Date createTime) {
-		this.createTime = createTime;
-	}
-
-	public String getUpdateUser() {
-		return updateUser;
-	}
-
-	public void setUpdateUser(String updateUser) {
-		this.updateUser = updateUser;
-	}
-
-	public Date getUpdateTime() {
-		return updateTime;
-	}
-
-	public void setUpdateTime(Date updateTime) {
-		this.updateTime = updateTime;
-	}
-
-	public String getDeleteUser() {
-		return deleteUser;
-	}
-
-	public void setDeleteUser(String deleteUser) {
-		this.deleteUser = deleteUser;
-	}
-
-	public Date getDeleteTime() {
-		return deleteTime;
-	}
-
-	public void setDeleteTime(Date deleteTime) {
-		this.deleteTime = deleteTime;
-	}
 }

+ 199 - 493
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveRecordInfo.java

@@ -1,9 +1,9 @@
 package com.dragonsoft.dcuc.approve.model;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.apache.ibatis.type.JdbcType;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -12,497 +12,203 @@ import java.util.Date;
 
 /**
  * @Description 审批单信息实体
- * @Author  	wangzw
- * @Date   		2021-05-26
+ * @Author wangzw
+ * @Date 2021-05-26
  */
-@TableName(value ="t_approve_record_info")
-public class ApproveRecordInfo extends IdEntity{
-
-	/**
-	 * 流程编号
-	 */
-	private String processNo;
-	/**
-	 * 流程类型
-	 */
-	private String processType;
-	/**
-	 * 流程类型名称
-	 */
-	private String processTypeName;
-
-	/**
-	 * 流程名称
-	 */
-	private String processName;
-
-	/**
-	 * 审批类型,详见dm_approve_type码表
-	 */
-	private String approveType;
-
-	/**
-	 * 审批单编号
-	 */
-	private String approveNo;
-
-	/**
-	 * 审批单标题
-	 */
-	private String processTitle;
-
-	/**
-	 * 申请人身份证号码
-	 */
-	private String applicantIdcard;
-
-	/**
-	 * 申请人姓名
-	 */
-	private String applicantName;
-
-	/**
-	 * 申请人手机号码
-	 */
-	private String applicantPhoneNo;
-
-	/**
-	 * 申请人单位代码
-	 */
-	private String applicantOrgCode;
-
-	/**
-	 * 申请人单位名称
-	 */
-	private String applicantOrgName;
-
-	/**
-	 * 申请时间
-	 */
-	private String applyTime;
-
-	/**
-	 * 应用名称
-	 */
-	private String appName;
-
-	/**
-	 * 应用编号
-	 */
-	private String appCode;
-
-	/**
-	 * 审批内容
-	 */
-	private String approveContent;
-
-	/**
-	 * 访问资源
-	 */
-	private String accessResources;
-
-	/**
-	 * 访问资源编号
-	 */
-	private String accessResourcesNo;
-
-
-	/**
-	 * 有效期类别(自定义:01;长期:02;)
-	 */
-	//@Column(name =  "PERMISSION_VALID_TYPE")
-	private String permissionValidType;
-
-	/**
-	 * 有效时间起始
-	 */
-	//@Column(name =  "START_TIME")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-	@TableField(jdbcType = JdbcType.TIMESTAMP)
-	private Date startTime;
-
-	/**
-	 * 有效时间终止
-	 */
-	//@Column(name =  "END_TIME")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-	@TableField(jdbcType = JdbcType.TIMESTAMP)
-	private Date endTime;
-
-	/**
-	 * 申请事由
-	 */
-	private String applyReason;
-
-	/**
-	 * 最终审批结果,详见ApproveResultEnum枚举
-	 */
-	private String finalApprovalResult;
-
-	/**
-	 * 附件地址
-	 */
-	private String attachmentUrl;
-
-	@ApiModelProperty(value = "流程实例ID")
-	private String processInstanceId;
-
-	@ApiModelProperty(value = "任务标识(Code)")
-	private String taskCode;
-
-	@ApiModelProperty(value = "任务ID")
-	private String taskId;
-
-	@ApiModelProperty(value = "任务名称")
-	private String taskName;
-
-	@ApiModelProperty(value = "消息ID")
-	private String messageId;
-
-	/**
-	 * 其他申请信息
-	 */
-	private String otherApplyContext;
-
-	/**
-	 * 是否删除
-	 */
-	private String isDeleted;
-
-	/**
-	 * 创建人
-	 */
-	private String createUser;
-
-	/**
-	 * 创建时间
-	 */
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-	@TableField(jdbcType = JdbcType.TIMESTAMP)
-	private Date createTime;
-
-	/**
-	 * 更新人
-	 */
-	private String updateUser;
-
-	/**
-	 * 更新时间
-	 */
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-	@TableField(jdbcType = JdbcType.TIMESTAMP)
-	private Date updateTime;
-
-	/**
-	 * 删除人
-	 */
-	private String deleteUser;
-
-	/**
-	 * 删除时间
-	 */
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-	@TableField(jdbcType = JdbcType.TIMESTAMP)
-	private Date deleteTime;
-
-	public String getProcessNo() {
-		return processNo;
-	}
-
-	public void setProcessNo(String processNo) {
-		this.processNo = processNo;
-	}
-
-	public String getProcessName() {
-		return processName;
-	}
-
-	public void setProcessName(String processName) {
-		this.processName = processName;
-	}
-
-	public String getApproveType() {
-		return approveType;
-	}
-
-	public void setApproveType(String approveType) {
-		this.approveType = approveType;
-	}
-
-	public String getApproveNo() {
-		return approveNo;
-	}
-
-	public void setApproveNo(String approveNo) {
-		this.approveNo = approveNo;
-	}
-
-	public String getProcessTitle() {
-		return processTitle;
-	}
-
-	public void setProcessTitle(String processTitle) {
-		this.processTitle = processTitle;
-	}
-
-	public String getApplicantIdcard() {
-		return applicantIdcard;
-	}
-
-	public void setApplicantIdcard(String applicantIdcard) {
-		this.applicantIdcard = applicantIdcard;
-	}
-
-	public String getApplicantName() {
-		return applicantName;
-	}
-
-	public void setApplicantName(String applicantName) {
-		this.applicantName = applicantName;
-	}
-
-	public String getApplicantPhoneNo() {
-		return applicantPhoneNo;
-	}
-
-	public void setApplicantPhoneNo(String applicantPhoneNo) {
-		this.applicantPhoneNo = applicantPhoneNo;
-	}
-
-	public String getApplicantOrgCode() {
-		return applicantOrgCode;
-	}
-
-	public void setApplicantOrgCode(String applicantOrgCode) {
-		this.applicantOrgCode = applicantOrgCode;
-	}
-
-	public String getApplicantOrgName() {
-		return applicantOrgName;
-	}
-
-	public void setApplicantOrgName(String applicantOrgName) {
-		this.applicantOrgName = applicantOrgName;
-	}
-
-	public String getApplyTime() {
-		return applyTime;
-	}
-
-	public void setApplyTime(String applyTime) {
-		this.applyTime = applyTime;
-	}
-
-	public String getAppName() {
-		return appName;
-	}
+@Data
+@TableName(value = "t_approve_record_info")
+public class ApproveRecordInfo {
+    @TableField(value = "ID")
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 流程编号
+     */
+    private String businessCode;
+    /**
+     * 流程类型
+     */
+    private String processType;
+    /**
+     * 流程类型名称
+     */
+    private String processTypeName;
+
+    /**
+     * 流程名称
+     */
+    private String processName;
+
+    /**
+     * 审批类型,详见dm_approve_type码表
+     */
+    private String approveType;
+
+    /**
+     * 审批单编号
+     */
+    private String approveNo;
+
+    /**
+     * 审批单标题
+     */
+    private String processTitle;
+
+    /**
+     * 申请人身份证号码
+     */
+    private String applicantIdcard;
+
+    /**
+     * 申请人姓名
+     */
+    private String applicantName;
+
+    /**
+     * 申请人手机号码
+     */
+    private String applicantPhoneNo;
+
+    /**
+     * 申请人单位代码
+     */
+    private String applicantOrgCode;
+
+    /**
+     * 申请人单位名称
+     */
+    private String applicantOrgName;
+
+    /**
+     * 申请时间
+     */
+    private String applyTime;
+
+    /**
+     * 应用名称
+     */
+    private String appName;
+
+    /**
+     * 应用编号
+     */
+    private String appCode;
+
+    /**
+     * 审批内容
+     */
+    private String approveContent;
+
+    /**
+     * 访问资源
+     */
+    private String accessResources;
+
+    /**
+     * 访问资源编号
+     */
+    private String accessResourcesNo;
+
+
+    /**
+     * 有效期类别(自定义:01;长期:02;)
+     */
+    private String permissionValidType;
+
+    /**
+     * 有效时间起始
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date startTime;
+
+    /**
+     * 有效时间终止
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date endTime;
+
+    /**
+     * 申请事由
+     */
+    private String applyReason;
+
+    /**
+     * 最终审批结果,详见ApproveResultEnum枚举
+     */
+    private String finalApprovalResult;
+
+    /**
+     * 附件地址
+     */
+    private String attachmentUrl;
+
+    @ApiModelProperty(value = "流程实例ID")
+    private String processInstanceId;
+
+    @ApiModelProperty(value = "任务标识(Code)")
+    private String taskCode;
+
+    @ApiModelProperty(value = "任务ID")
+    private String taskId;
+
+    @ApiModelProperty(value = "任务名称")
+    private String taskName;
+
+    @ApiModelProperty(value = "消息ID")
+    private String messageId;
+
+    /**
+     * 其他申请信息
+     */
+    private String otherApplyContext;
+
+    /**
+     * 是否删除
+     */
+    @TableLogic
+    private String isDeleted;
+
+    /**
+     * 创建人
+     */
+    private String createUser;
+
+    /**
+     * 创建时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    private String updateUser;
+
+    /**
+     * 更新时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date updateTime;
+
+    /**
+     * 删除人
+     */
+    private String deleteUser;
+
+    /**
+     * 删除时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @TableField(jdbcType = JdbcType.TIMESTAMP)
+    private Date deleteTime;
 
-	public void setAppName(String appName) {
-		this.appName = appName;
-	}
-
-	public String getAppCode() {
-		return appCode;
-	}
-
-	public void setAppCode(String appCode) {
-		this.appCode = appCode;
-	}
-
-	public String getApproveContent() {
-		return approveContent;
-	}
-
-	public void setApproveContent(String approveContent) {
-		this.approveContent = approveContent;
-	}
-
-	public String getAccessResources() {
-		return accessResources;
-	}
-
-	public void setAccessResources(String accessResources) {
-		this.accessResources = accessResources;
-	}
-
-	public String getAccessResourcesNo() {
-		return accessResourcesNo;
-	}
-
-	public void setAccessResourcesNo(String accessResourcesNo) {
-		this.accessResourcesNo = accessResourcesNo;
-	}
-
-	public String getPermissionValidType() {
-		return permissionValidType;
-	}
-
-	public void setPermissionValidType(String permissionValidType) {
-		this.permissionValidType = permissionValidType;
-	}
-
-	public Date getStartTime() {
-		return startTime;
-	}
-
-	public void setStartTime(Date startTime) {
-		this.startTime = startTime;
-	}
-
-	public Date getEndTime() {
-		return endTime;
-	}
-
-	public void setEndTime(Date endTime) {
-		this.endTime = endTime;
-	}
-
-	public String getApplyReason() {
-		return applyReason;
-	}
-
-	public void setApplyReason(String applyReason) {
-		this.applyReason = applyReason;
-	}
-
-	public String getFinalApprovalResult() {
-		return finalApprovalResult;
-	}
-
-	public void setFinalApprovalResult(String finalApprovalResult) {
-		this.finalApprovalResult = finalApprovalResult;
-	}
-
-	public String getAttachmentUrl() {
-		return attachmentUrl;
-	}
-
-	public void setAttachmentUrl(String attachmentUrl) {
-		this.attachmentUrl = attachmentUrl;
-	}
-
-	public String getProcessInstanceId() {
-		return processInstanceId;
-	}
-
-	public void setProcessInstanceId(String processInstanceId) {
-		this.processInstanceId = processInstanceId;
-	}
-
-	public String getTaskCode() {
-		return taskCode;
-	}
-
-	public void setTaskCode(String taskCode) {
-		this.taskCode = taskCode;
-	}
-
-	public String getTaskId() {
-		return taskId;
-	}
-
-	public void setTaskId(String taskId) {
-		this.taskId = taskId;
-	}
-
-	public String getTaskName() {
-		return taskName;
-	}
-
-	public void setTaskName(String taskName) {
-		this.taskName = taskName;
-	}
-
-	public String getMessageId() {
-		return messageId;
-	}
-
-	public void setMessageId(String messageId) {
-		this.messageId = messageId;
-	}
-
-	public String getOtherApplyContext() {
-		return otherApplyContext;
-	}
-
-	public void setOtherApplyContext(String otherApplyContext) {
-		this.otherApplyContext = otherApplyContext;
-	}
-
-	public String getIsDeleted() {
-		return isDeleted;
-	}
-
-	public void setIsDeleted(String isDeleted) {
-		this.isDeleted = isDeleted;
-	}
-
-	public String getCreateUser() {
-		return createUser;
-	}
-
-	public void setCreateUser(String createUser) {
-		this.createUser = createUser;
-	}
-
-	public Date getCreateTime() {
-		return createTime;
-	}
-
-	public void setCreateTime(Date createTime) {
-		this.createTime = createTime;
-	}
-
-	public String getUpdateUser() {
-		return updateUser;
-	}
-
-	public void setUpdateUser(String updateUser) {
-		this.updateUser = updateUser;
-	}
-
-	public Date getUpdateTime() {
-		return updateTime;
-	}
-
-	public void setUpdateTime(Date updateTime) {
-		this.updateTime = updateTime;
-	}
-
-	public String getDeleteUser() {
-		return deleteUser;
-	}
-
-	public void setDeleteUser(String deleteUser) {
-		this.deleteUser = deleteUser;
-	}
-
-	public Date getDeleteTime() {
-		return deleteTime;
-	}
-
-	public void setDeleteTime(Date deleteTime) {
-		this.deleteTime = deleteTime;
-	}
-
-	public String getProcessType() {
-		return processType;
-	}
-
-	public void setProcessType(String processType) {
-		this.processType = processType;
-	}
-
-	public String getProcessTypeName() {
-		return processTypeName;
-	}
-
-	public void setProcessTypeName(String processTypeName) {
-		this.processTypeName = processTypeName;
-	}
 }

+ 14 - 2
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/FlowManageLog.java

@@ -1,8 +1,12 @@
 package com.dragonsoft.dcuc.approve.model;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
@@ -11,12 +15,17 @@ import java.util.Date;
 /**
  * 代码千万行,注释第一行,编码不规范,同事两行泪
  * 流程管理日志表
+ *
  * @author huang(jy)
  * @version 1.0
  * @date 2021/5/27 19:43
  */
+@Data
 @TableName(value = "t_approve_flow_manage_log")
-public class FlowManageLog extends IdEntity implements Serializable {
+public class FlowManageLog implements Serializable {
+    @TableField(value = "ID")
+    @TableId(type = IdType.UUID)
+    private String id;
 
     private static final long serialVersionUID = 5454155825318885342L;
     @ApiModelProperty(value = "申请单id")
@@ -34,6 +43,9 @@ public class FlowManageLog extends IdEntity implements Serializable {
     @ApiModelProperty(value = "流程编号")
     private String businessCode;
 
+    @ApiModelProperty(value = "流程实例编号")
+    private String processInstanceId;
+
     @ApiModelProperty(value = "流程标题")
     private String title;
 
@@ -60,7 +72,7 @@ public class FlowManageLog extends IdEntity implements Serializable {
 
     @ApiModelProperty(value = "操作时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
     public String getIdcard() {

+ 0 - 24
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/IdEntity.java

@@ -1,24 +0,0 @@
-package com.dragonsoft.dcuc.approve.model;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-
-/**
- * @author wangrs
- * @date 2021/01/28
- * @desc 主键抽取
- */
-public class IdEntity {
-    @TableField(value = "ID")
-    @TableId(type = IdType.UUID)
-    private String id;
-
-    public void setId(String value) {
-        this.id = value;
-    }
-
-    public String getId() {
-        return this.id;
-    }
-}

+ 15 - 2
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/OperateLog.java

@@ -1,8 +1,12 @@
 package com.dragonsoft.dcuc.approve.model;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
@@ -11,15 +15,21 @@ import java.util.Date;
 /**
  * 代码千万行,注释第一行,编码不规范,同事两行泪
  * 操作日志表
+ *
  * @author huang(jy)
  * @version 1.0
  * @date 2021/5/27 19:43
  */
+@Data
 @TableName(value = "t_approve_operate_log")
-public class OperateLog extends IdEntity implements Serializable {
+public class OperateLog implements Serializable {
 
     private static final long serialVersionUID = 5454155825318885342L;
 
+    @TableField(value = "ID")
+    @TableId(type = IdType.UUID)
+    private String id;
+
     @ApiModelProperty(value = "申请单id")
     private String approveRecordId;
 
@@ -35,6 +45,9 @@ public class OperateLog extends IdEntity implements Serializable {
     @ApiModelProperty(value = "流程编号")
     private String businessCode;
 
+    @ApiModelProperty(value = "流程实例编号")
+    private String processInstanceId;
+
     @ApiModelProperty(value = "流程标题")
     private String title;
 
@@ -61,7 +74,7 @@ public class OperateLog extends IdEntity implements Serializable {
 
     @ApiModelProperty(value = "操作时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
     @ApiModelProperty(value = "流程节点标识码")

+ 14 - 1
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/RequestLog.java

@@ -1,8 +1,12 @@
 package com.dragonsoft.dcuc.approve.model;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
@@ -11,12 +15,18 @@ import java.util.Date;
 /**
  * 代码千万行,注释第一行,编码不规范,同事两行泪
  * 请求日志表
+ *
  * @author huang(jy)
  * @version 1.0
  * @date 2021/5/27 19:43
  */
+@Data
 @TableName(value = "t_approve_request_log")
-public class RequestLog extends IdEntity implements Serializable {
+public class RequestLog implements Serializable {
+
+    @TableField(value = "ID")
+    @TableId(type = IdType.UUID)
+    private String id;
 
     private static final long serialVersionUID = 5454155825318885342L;
     @ApiModelProperty(value = "申请单id")
@@ -34,6 +44,9 @@ public class RequestLog extends IdEntity implements Serializable {
     @ApiModelProperty(value = "流程编号")
     private String businessCode;
 
+    @ApiModelProperty(value = "流程实例编号")
+    private String processInstanceId;
+
     @ApiModelProperty(value = "流程标题")
     private String title;
 

+ 16 - 122
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/RiskLog.java

@@ -1,8 +1,12 @@
 package com.dragonsoft.dcuc.approve.model;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
@@ -11,15 +15,21 @@ import java.util.Date;
 /**
  * 代码千万行,注释第一行,编码不规范,同事两行泪
  * 风险日志表
+ *
  * @author huang(jy)
  * @version 1.0
  * @date 2021/5/27 19:43
  */
+@Data
 @TableName(value = "t_approve_risk_log")
-public class RiskLog extends IdEntity implements Serializable {
+public class RiskLog implements Serializable {
 
     private static final long serialVersionUID = 5454155825318885342L;
 
+    @TableField(value = "ID")
+    @TableId(type = IdType.UUID)
+    private String id;
+
     @ApiModelProperty(value = "申请单id")
     private String approveRecordId;
 
@@ -34,12 +44,15 @@ public class RiskLog extends IdEntity implements Serializable {
 
     @ApiModelProperty(value = "风险时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date riskTime;
 
     @ApiModelProperty(value = "流程编号")
     private String businessCode;
 
+    @ApiModelProperty(value = "流程实例编号")
+    private String processInstanceId;
+
     @ApiModelProperty(value = "流程标题")
     private String title;
 
@@ -67,126 +80,7 @@ public class RiskLog extends IdEntity implements Serializable {
 
     @ApiModelProperty(value = "创建时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
-    public String getLogSender() {
-        return logSender;
-    }
-
-    public void setLogSender(String logSender) {
-        this.logSender = logSender;
-    }
-
-    public String getLogReceiver() {
-        return logReceiver;
-    }
-
-    public void setLogReceiver(String logReceiver) {
-        this.logReceiver = logReceiver;
-    }
-
-    public String getRiskType() {
-        return riskType;
-    }
-
-    public void setRiskType(String riskType) {
-        this.riskType = riskType;
-    }
-
-    public Date getRiskTime() {
-        return riskTime;
-    }
-
-    public void setRiskTime(Date riskTime) {
-        this.riskTime = riskTime;
-    }
-
-    public String getBusinessCode() {
-        return businessCode;
-    }
-
-    public void setBusinessCode(String businessCode) {
-        this.businessCode = businessCode;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public String getRiskIp() {
-        return riskIp;
-    }
-
-    public void setRiskIp(String riskIp) {
-        this.riskIp = riskIp;
-    }
-
-    public String getRiskContent() {
-        return riskContent;
-    }
-
-    public void setRiskContent(String riskContent) {
-        this.riskContent = riskContent;
-    }
-
-    public String getCreateUser() {
-        return createUser;
-    }
-
-    public void setCreateUser(String createUser) {
-        this.createUser = createUser;
-    }
-
-    public String getCreateUserName() {
-        return createUserName;
-    }
-
-    public void setCreateUserName(String createUserName) {
-        this.createUserName = createUserName;
-    }
-
-    public String getIdcard() {
-        return idcard;
-    }
-
-    public void setIdcard(String idcard) {
-        this.idcard = idcard;
-    }
-
-    public String getOrgName() {
-        return orgName;
-    }
-
-    public void setOrgName(String orgName) {
-        this.orgName = orgName;
-    }
-
-    public String getOrgCode() {
-        return orgCode;
-    }
-
-    public void setOrgCode(String orgCode) {
-        this.orgCode = orgCode;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public String getApproveRecordId() {
-        return approveRecordId;
-    }
-
-    public void setApproveRecordId(String approveRecordId) {
-        this.approveRecordId = approveRecordId;
-    }
 }

+ 18 - 7
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/RiskScheme.java

@@ -1,9 +1,10 @@
 package com.dragonsoft.dcuc.approve.model;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
+import com.dragoninfo.dcuc.duceap.enums.SchemeStatusEnum;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.apache.ibatis.type.JdbcType;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -12,19 +13,28 @@ import java.util.Date;
 
 /**
  * 代码千万行,注释第一行,编码不规范,同事两行泪
- *  风险方案表
+ * 风险方案表
+ *
  * @author huang(jy)
  * @version 1.0
  * @date 2021/5/27 19:43
  */
+@Data
 @TableName(value = "t_approve_risk_scheme")
-public class RiskScheme extends IdEntity implements Serializable {
+public class RiskScheme implements Serializable {
 
     private static final long serialVersionUID = 5454155825318885342L;
 
+    @TableField(value = "ID")
+    @TableId(type = IdType.UUID)
+    private String id;
+
     @ApiModelProperty(value = "名称")
     private String name;
 
+    /**
+     * @see SchemeStatusEnum
+     */
     @ApiModelProperty(value = "状态(详见SchemeStatusEnum枚举)")
     private String schemeStatus;
 
@@ -45,6 +55,7 @@ public class RiskScheme extends IdEntity implements Serializable {
     private String schemeType;
 
     @ApiModelProperty(value = "是否删除")
+    @TableLogic
     private String isDeleted;
 
     @ApiModelProperty(value = "创建人")
@@ -56,7 +67,7 @@ public class RiskScheme extends IdEntity implements Serializable {
 
     @ApiModelProperty(value = "创建时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @TableField(jdbcType = JdbcType.TIMESTAMP)
     private Date createTime;
 
@@ -69,7 +80,7 @@ public class RiskScheme extends IdEntity implements Serializable {
 
     @ApiModelProperty(value = "修改时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @TableField(jdbcType = JdbcType.TIMESTAMP)
     private Date updateTime;
 
@@ -79,7 +90,7 @@ public class RiskScheme extends IdEntity implements Serializable {
 
     @ApiModelProperty(value = "删除时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @TableField(jdbcType = JdbcType.TIMESTAMP)
     private Date deleteTime;
 

+ 11 - 2
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/TaskAssignRecord.java

@@ -1,8 +1,11 @@
 package com.dragonsoft.dcuc.approve.model;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
 import org.apache.ibatis.type.JdbcType;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -12,15 +15,21 @@ import java.util.Date;
 /**
  * 代码千万行,注释第一行,编码不规范,同事两行泪
  * 任务指派记录表
+ *
  * @author huang(jy)
  * @version 1.0
  * @date 2021/5/20 9:55
  */
+@Data
 @TableName(value = "T_TASK_ASSIGN_RECORD")
-public class TaskAssignRecord extends IdEntity implements Serializable {
+public class TaskAssignRecord implements Serializable {
 
     private static final long serialVersionUID = 5454155825318885342L;
 
+    @TableField(value = "ID")
+    @TableId(type = IdType.UUID)
+    private String id;
+
     /**
      * 申请单id
      */
@@ -64,7 +73,7 @@ public class TaskAssignRecord extends IdEntity implements Serializable {
      * 创建时间
      */
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @TableField(jdbcType = JdbcType.TIMESTAMP)
     private Date createTime;
 

+ 0 - 51
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/WorkflowConditionDto.java

@@ -1,51 +0,0 @@
-package com.dragonsoft.dcuc.approve.model;
-
-import java.io.Serializable;
-
-/**
- * 代码千万行,注释第一行,编码不规范,同事两行泪
- *
- * @author huang(jy)
- * @version 1.0
- * @date 2021/2/18 9:55
- */
-public class WorkflowConditionDto implements Serializable {
-
-    /**
-     * 是否为科信人员
-     */
-    private Boolean kxPeople;
-
-    /**
-     * 业务id
-     */
-    private String businessId;
-
-    public Boolean getKxPeople() {
-        return kxPeople;
-    }
-
-    public void setKxPeople(Boolean kxPeople) {
-        this.kxPeople = kxPeople;
-    }
-
-    public String getBusinessId() {
-        return businessId;
-    }
-
-    public void setBusinessId(String businessId) {
-        this.businessId = businessId;
-    }
-
-    public WorkflowConditionDto() {
-    }
-
-    public WorkflowConditionDto(Boolean kxPeople) {
-        this.kxPeople = kxPeople;
-    }
-
-    public WorkflowConditionDto(Boolean kxPeople, String businessId) {
-        this.kxPeople = kxPeople;
-        this.businessId = businessId;
-    }
-}

+ 1 - 1
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/ApproveTaskRequestVo.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/vo/ApproveTaskRequestVo.java

@@ -1,4 +1,4 @@
-package com.dragonsoft.dcuc.approve.model;
+package com.dragonsoft.dcuc.approve.model.vo;
 
 import java.io.Serializable;
 

+ 7 - 2
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/LogDto.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/vo/LogDto.java

@@ -1,5 +1,7 @@
-package com.dragonsoft.dcuc.approve.model;
+package com.dragonsoft.dcuc.approve.model.vo;
 
+import com.dragonsoft.dcuc.approve.enumresources.ApproveResultEnum;
+import com.dragonsoft.dcuc.approve.model.ApprovalInfo;
 import com.dragonsoft.duceap.duwf.api.model.ProcessInstanceVO;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
@@ -42,9 +44,12 @@ public class LogDto implements Serializable {
 
     @ApiModelProperty(value = "操作时间")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
+    /**
+     * @see ApproveResultEnum
+     */
     @ApiModelProperty(value = "结果(详见ApproveResultEnum枚举)")
     private String result;
 

+ 1 - 1
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/PoliceResultVo.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/vo/PoliceResultVo.java

@@ -1,4 +1,4 @@
-package com.dragonsoft.dcuc.approve.model;
+package com.dragonsoft.dcuc.approve.model.vo;
 
 import java.io.Serializable;
 

+ 0 - 13
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/IApplyInfoService.java

@@ -1,13 +0,0 @@
-package com.dragonsoft.dcuc.approve.service;
-
-import com.dragonsoft.dcuc.approve.model.ApprovalInfo;
-import com.dragonsoft.duceap.core.service.IBaseService;
-
-/**
- * @author wangrs
- * @version 1.0
- * @date 2021/2/5
- */
-public interface IApplyInfoService extends IBaseService<ApprovalInfo,String> {
-
-}

+ 15 - 10
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/IApproveLogHelperService.java

@@ -1,7 +1,7 @@
 package com.dragonsoft.dcuc.approve.service;
 
 import com.dragonsoft.dcuc.approve.enumresources.ApproveWorkFlowOprationEnum;
-import com.dragonsoft.dcuc.approve.model.LogDto;
+import com.dragonsoft.dcuc.approve.model.vo.LogDto;
 import com.dragonsoft.mq.client.model.entity.MessageInfoDTO;
 
 import java.util.Map;
@@ -17,29 +17,34 @@ public interface IApproveLogHelperService {
 
     /**
      * 操作日志/请求日志构建
-     * @param logDto        日志Dto
-     * @param oprationEnum  操作类型
+     *
+     * @param logDto       日志Dto
+     * @param oprationEnum 操作类型
      */
-    public void buildOperateLog(LogDto logDto, ApproveWorkFlowOprationEnum oprationEnum);
+    void buildOperateLog(LogDto logDto, ApproveWorkFlowOprationEnum oprationEnum);
+
     /**
      * 构建审批流程管理日志-新建/修改
+     *
      * @param logDto      日志Dto
-     * @param operateType       类型(保存/保存并提交)
+     * @param operateType 类型(保存/保存并提交)
      */
-    public void buildFlowManageLogInsert(LogDto logDto, String operateType, String disposeType);
+    void buildFlowManageLogInsert(LogDto logDto, String operateType, String disposeType);
 
     /**
      * 构建审批流程管理日志-修改
-     * @param logDto      日志Dto
+     *
+     * @param logDto             日志Dto
      * @param needSaveOperateLog
      */
-    public void buildFlowManageLogUpdate(LogDto logDto, Boolean needSaveOperateLog);
+    void buildFlowManageLogUpdate(LogDto logDto, Boolean needSaveOperateLog);
 
     /**
      * 构建审批流程管理日志-删除
-     * @param logDto      日志Dto
+     *
+     * @param logDto 日志Dto
      */
-    public void buildFlowManageLogDelete(LogDto logDto);
+    void buildFlowManageLogDelete(LogDto logDto);
 
     /**
      * 处理日志消息进行保存

+ 15 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/IRiskSchemeService.java

@@ -1,5 +1,7 @@
 package com.dragonsoft.dcuc.approve.service;
 
+import com.dragoninfo.dcuc.duceap.enums.SchemeTypeEnum;
+import com.dragonsoft.dcuc.approve.model.RiskScheme;
 import com.dragonsoft.dcuc.approve.model.resp.RiskSchemeVo;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.core.search.Searchable;
@@ -15,12 +17,15 @@ import org.springframework.data.domain.Page;
 public interface IRiskSchemeService {
     /**
      * 风险方案列表
+     *
      * @param searchable
      * @return
      */
     Page<RiskSchemeVo> queryRiskSchemeList(Searchable searchable);
+
     /**
      * 风险方案详情
+     *
      * @param id
      * @return
      */
@@ -28,6 +33,7 @@ public interface IRiskSchemeService {
 
     /**
      * 风险方案修改
+     *
      * @param riskSchemeVo
      * @return
      */
@@ -35,8 +41,17 @@ public interface IRiskSchemeService {
 
     /**
      * 修改方案删除
+     *
      * @param id
      * @return
      */
     ResponseStatus riskSchemeDelete(String id);
+
+    /**
+     * 根据风险类型查询风险方案配置
+     *
+     * @param schemeTypeEnum 风险类型
+     * @return 风险方案
+     */
+    RiskScheme selectEnableSchemeByType(SchemeTypeEnum schemeTypeEnum);
 }

+ 0 - 21
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApplyInfoService.java

@@ -1,21 +0,0 @@
-package com.dragonsoft.dcuc.approve.service.impl;
-
-import com.dragonsoft.dcuc.approve.model.ApprovalInfo;
-import com.dragonsoft.dcuc.approve.service.IApplyInfoService;
-import com.dragonsoft.duceap.mybaitsplus.core.BaseMybatisMapper;
-import com.dragonsoft.duceap.mybaitsplus.core.services.BaseMybatisService;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * @author wangrs
- * @version 1.0
- * @date 2021/2/5
- */
-@Service
-@Transactional
-public class ApplyInfoService extends BaseMybatisService<ApprovalInfo,String> implements IApplyInfoService {
-    public ApplyInfoService(BaseMybatisMapper<ApprovalInfo> baseMybatisMapper) {
-        super(baseMybatisMapper);
-    }
-}

+ 9 - 4
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveActHiTaskService.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveActHiTaskServiceImpl.java

@@ -4,8 +4,7 @@ import com.dragonsoft.dcuc.approve.mapper.ApproveActHiTaskMapper;
 import com.dragonsoft.dcuc.approve.model.ApproveActHiTask;
 import com.dragonsoft.dcuc.approve.service.IApproveActHiTaskService;
 import com.dragonsoft.duceap.core.search.Searchable;
-import com.dragonsoft.duceap.core.service.BaseService;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.dragonsoft.duceap.mybaitsplus.core.services.BaseMybatisService;
 import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -16,12 +15,18 @@ import org.springframework.transaction.annotation.Transactional;
  */
 @Service
 @Transactional
-public class ApproveActHiTaskService extends BaseService<ApproveActHiTask,String> implements IApproveActHiTaskService {
-    @Autowired
+public class ApproveActHiTaskServiceImpl extends BaseMybatisService<ApproveActHiTask, String> implements IApproveActHiTaskService {
     private ApproveActHiTaskMapper approveActHiTaskMapper;
 
+    public ApproveActHiTaskServiceImpl(ApproveActHiTaskMapper approveActHiTaskMapper) {
+        super(approveActHiTaskMapper);
+        this.approveActHiTaskMapper = approveActHiTaskMapper;
+    }
+
+
     /**
      * 查询已办列表
+     *
      * @param searchable
      * @return
      */

+ 8 - 5
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveActRunIdentityLinkService.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveActRunIdentityLinkServiceImpl.java

@@ -4,8 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.dragonsoft.dcuc.approve.mapper.ApproveActRunIdentityLinkMapper;
 import com.dragonsoft.dcuc.approve.model.ApproveActRunIdentityLink;
 import com.dragonsoft.dcuc.approve.service.IApproveActRunIdentityLinkService;
-import com.dragonsoft.duceap.core.service.BaseService;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.dragonsoft.duceap.mybaitsplus.core.services.BaseMybatisService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -17,14 +16,18 @@ import java.util.List;
  */
 @Service
 @Transactional
-public class ApproveActRunIdentityLinkService extends BaseService<ApproveActRunIdentityLink,String> implements IApproveActRunIdentityLinkService {
-    @Autowired
+public class ApproveActRunIdentityLinkServiceImpl extends BaseMybatisService<ApproveActRunIdentityLink, String> implements IApproveActRunIdentityLinkService {
     private ApproveActRunIdentityLinkMapper runIdentityLinkMapper;
 
+    public ApproveActRunIdentityLinkServiceImpl(ApproveActRunIdentityLinkMapper runIdentityLinkMapper) {
+        super(runIdentityLinkMapper);
+        this.runIdentityLinkMapper = runIdentityLinkMapper;
+    }
+
     @Override
     public List<ApproveActRunIdentityLink> findByTaskId(String taskId) {
         LambdaQueryWrapper<ApproveActRunIdentityLink> where = new LambdaQueryWrapper<>();
-        where.eq(ApproveActRunIdentityLink::getTaskId,taskId);
+        where.eq(ApproveActRunIdentityLink::getTaskId, taskId);
         return runIdentityLinkMapper.selectList(where);
     }
 

+ 7 - 5
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveActRunTaskService.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveActRunTaskServiceImpl.java

@@ -4,8 +4,7 @@ import com.dragonsoft.dcuc.approve.mapper.ApproveActRunTaskMapper;
 import com.dragonsoft.dcuc.approve.model.ApproveActRunTask;
 import com.dragonsoft.dcuc.approve.service.IApproveActRunTaskService;
 import com.dragonsoft.duceap.core.search.Searchable;
-import com.dragonsoft.duceap.core.service.BaseService;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.dragonsoft.duceap.mybaitsplus.core.services.BaseMybatisService;
 import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -16,10 +15,14 @@ import org.springframework.transaction.annotation.Transactional;
  */
 @Service
 @Transactional
-public class ApproveActRunTaskService extends BaseService<ApproveActRunTask,String> implements IApproveActRunTaskService {
-    @Autowired
+public class ApproveActRunTaskServiceImpl extends BaseMybatisService<ApproveActRunTask, String> implements IApproveActRunTaskService {
     private ApproveActRunTaskMapper approveActRunTaskMapper;
 
+    public ApproveActRunTaskServiceImpl(ApproveActRunTaskMapper approveActRunTaskMapper) {
+        super(approveActRunTaskMapper);
+        this.approveActRunTaskMapper = approveActRunTaskMapper;
+    }
+
 
     @Override
     public Page<ApproveActRunTask> findTodoList(Searchable searchable) {
@@ -27,5 +30,4 @@ public class ApproveActRunTaskService extends BaseService<ApproveActRunTask,Stri
     }
 
 
-
 }

+ 173 - 114
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveLogHelperService.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveLogHelperServiceImpl.java

@@ -11,11 +11,14 @@ import com.dragoninfo.dcuc.duceap.enums.RequestDisposeTypeEnum;
 import com.dragoninfo.dcuc.duceap.enums.SchemeTypeEnum;
 import com.dragonsoft.dcuc.approve.config.ApproveConfig;
 import com.dragonsoft.dcuc.approve.config.KafkaConfig;
-import com.dragonsoft.dcuc.approve.enumresources.*;
+import com.dragonsoft.dcuc.approve.constants.Constants;
+import com.dragonsoft.dcuc.approve.enumresources.ApproveWorkFlowOprationEnum;
+import com.dragonsoft.dcuc.approve.enumresources.LogReceiverEnum;
+import com.dragonsoft.dcuc.approve.enumresources.LogTypeEnum;
 import com.dragonsoft.dcuc.approve.mapper.ApproveCirculationMapper;
-import com.dragonsoft.dcuc.approve.mapper.RiskSchemeMapper;
 import com.dragonsoft.dcuc.approve.model.*;
 import com.dragonsoft.dcuc.approve.model.req.ApprovalInfoDTO;
+import com.dragonsoft.dcuc.approve.model.vo.LogDto;
 import com.dragonsoft.dcuc.approve.service.*;
 import com.dragonsoft.duceap.base.exception.ApplicationException;
 import com.dragonsoft.duceap.commons.util.UUIDUtils;
@@ -46,9 +49,9 @@ import java.util.*;
  */
 @Service
 @Transactional
-public class ApproveLogHelperService implements IApproveLogHelperService {
+public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
 
-    private static final Logger logger = LoggerFactory.getLogger(ApproveLogHelperService.class);
+    private static final Logger logger = LoggerFactory.getLogger(ApproveLogHelperServiceImpl.class);
 
     @Autowired
     private KafkaServer kafkaService;
@@ -72,8 +75,9 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
     private IRiskLogService riskLogService;
     @Autowired
     private ApproveCirculationMapper approveCirculationMapper;
+
     @Autowired
-    private RiskSchemeMapper riskSchemeMapper;
+    private IRiskSchemeService riskSchemeService;
     /**
      * 日志类型字符串
      */
@@ -81,32 +85,35 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
 
     /**
      * 操作日志/请求日志构建
-     * @param logDto        日志Dto
-     * @param oprationEnum  操作类型
+     *
+     * @param logDto       日志Dto
+     * @param oprationEnum 操作类型
      */
     @Override
     public void buildOperateLog(LogDto logDto, ApproveWorkFlowOprationEnum oprationEnum) {
-        String flowNodeCode = logDto.getProcessInstanceVO() == null ? "": logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getTaskCode();
-        String flowNodeName = logDto.getProcessInstanceVO() == null ? "": logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getName();
-        String taskKey = logDto.getProcessInstanceVO() == null ? "": logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getTaskDefinitionKey();
-        String flowKey = logDto.getProcessInstanceVO() == null ? "": logDto.getProcessInstanceVO().getPocessDefinitionId();
+        String flowNodeCode = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getTaskCode();
+        String flowNodeName = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getName();
+        String taskKey = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getTaskDefinitionKey();
+        String flowKey = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getPocessDefinitionId();
+        String processInstanceId = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getProcessInstanceId();
+
         //根据类型判断是什么日志
         switch (oprationEnum) {
             case COMPLETE_DISAGREE:
                 //审批操作日志
-                buildOperateLogAndSend(logDto, OperateDisposeTypeEnum.COMPLETE_DISAGREE.getValue(), flowNodeCode, flowNodeName, taskKey, flowKey);
+                buildOperateLogAndSend(logDto, OperateDisposeTypeEnum.COMPLETE_DISAGREE.getValue(), flowNodeCode, flowNodeName, taskKey, flowKey, processInstanceId);
                 break;
             case COMPLETE_AGREE:
                 //审批操作日志
-                buildOperateLogAndSend(logDto, OperateDisposeTypeEnum.COMPLETE_AGREE.getValue(), flowNodeCode, flowNodeName, taskKey, flowKey);
+                buildOperateLogAndSend(logDto, OperateDisposeTypeEnum.COMPLETE_AGREE.getValue(), flowNodeCode, flowNodeName, taskKey, flowKey, processInstanceId);
                 break;
             case BACK:
                 //审批操作日志
-                buildOperateLogAndSend(logDto, OperateDisposeTypeEnum.BACK.getValue(), flowNodeCode, flowNodeName, taskKey, flowKey);
+                buildOperateLogAndSend(logDto, OperateDisposeTypeEnum.COMPLETE_AGREE.getValue(), flowNodeCode, flowNodeName, taskKey, flowKey, processInstanceId);
                 break;
             case RECALL:
                 //审批请求日志
-                buildRequestLog(RequestDisposeTypeEnum.RECALL.getValue(), logDto, flowNodeCode, flowNodeName, taskKey, flowKey);
+                buildRequestLog(RequestDisposeTypeEnum.RECALL.getValue(), logDto, flowNodeCode, flowNodeName, taskKey, flowKey, processInstanceId);
                 break;
             default:
                 break;
@@ -116,14 +123,16 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
 
     /**
      * 构建审批请求日志对象
+     *
      * @param disposeType
-     * @param logDto    日志Dto
+     * @param logDto       日志Dto
      * @param flowNodeCode
      * @param flowNodeName
      * @param taskKey
      * @param flowKey
      */
-    private RequestLog buildRequestLog(String disposeType, LogDto logDto, String flowNodeCode, String flowNodeName, String taskKey, String flowKey) {
+    private RequestLog buildRequestLog(String disposeType, LogDto logDto, String flowNodeCode, String flowNodeName,
+                                       String taskKey, String flowKey, String processInstanceId) {
         RequestLog requestLog = new RequestLog();
         requestLog.setIdcard(logDto.getApprovalInfo().getApplicantIdcard());
         requestLog.setOrgName(logDto.getApprovalInfo().getApplicantOrgName());
@@ -142,23 +151,26 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
         requestLog.setFlowNodeCode(flowNodeCode);
         requestLog.setFlowNodeName(flowNodeName);
         requestLog.setApproveRecordId(logDto.getApprovalInfo().getId());
+        requestLog.setProcessInstanceId(processInstanceId);
         //发送审批请求日志到消息中心
         logger.info("=====发送批申请请求日志-发起消息,消息体为:{}====", JSON.toJSONString(requestLog));
-        sendInfo(JSON.toJSONString(requestLog), "审批请求日志", LogTypeEnum.REQUEST_LOG.getValue(), taskKey, flowKey);
+        sendInfo(JSON.toJSONString(requestLog), "审批请求日志", LogTypeEnum.REQUEST_LOG.getValue(), taskKey, flowKey, processInstanceId);
         return requestLog;
     }
 
     /**
      * 构建审批操作日志对象并发送
-     * @param dto   日志Dto
-     * @param disposeType   类型
-     * @param flowNodeCode  节点Code
-     * @param flowNodeName  节点名称
+     *
+     * @param dto          日志Dto
+     * @param disposeType  类型
+     * @param flowNodeCode 节点Code
+     * @param flowNodeName 节点名称
      * @param taskKey
      * @param flowKey
      * @return
      */
-    private OperateLog buildOperateLogAndSend(LogDto dto, String disposeType, String flowNodeCode, String flowNodeName, String taskKey, String flowKey) {
+    private OperateLog buildOperateLogAndSend(LogDto dto, String disposeType, String flowNodeCode, String flowNodeName,
+                                              String taskKey, String flowKey, String processInstanceId) {
         OperateLog operateLog = new OperateLog();
         operateLog.setIdcard(dto.getApprovalInfo().getApplicantIdcard());
         operateLog.setOrgName(dto.getApprovalInfo().getApplicantOrgName());
@@ -177,15 +189,18 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
         operateLog.setFlowNodeCode(flowNodeCode);
         operateLog.setFlowNodeName(flowNodeName);
         operateLog.setApproveRecordId(dto.getApprovalInfo().getId());
+        operateLog.setProcessInstanceId(processInstanceId);
         //发送审批操作日志消息
         logger.info("=====发送审批操作日志消息,消息体为:{}====", JSON.toJSONString(operateLog));
-        sendInfo(JSON.toJSONString(operateLog), "审批操作日志", LogTypeEnum.OPERATE_LOG.getValue(), taskKey, flowKey);
+        sendInfo(JSON.toJSONString(operateLog), "审批操作日志", LogTypeEnum.OPERATE_LOG.getValue(),
+                taskKey, flowKey, processInstanceId);
         return operateLog;
     }
 
     /**
      * 构建审批流程管理日志-删除
-     * @param logDto    日志Dto
+     *
+     * @param logDto 日志Dto
      */
     @Override
     public void buildFlowManageLogDelete(LogDto logDto) {
@@ -196,6 +211,7 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
 
     /**
      * 处理接收到的日志消息
+     *
      * @param map
      * @param messageInfoDTO
      */
@@ -204,15 +220,16 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
         String logType = map.get(logTypeStr);
         String taskKey = map.get("taskKey");
         String flowKey = map.get("flowKey");
-        switch (EnumUtils.enumOf(LogTypeEnum.class, logType)){
+        String processInstanceId = map.get("processInstanceId");
+        switch (EnumUtils.enumOf(LogTypeEnum.class, logType)) {
             case MANAGE_LOG:
-                saveManageLog(messageInfoDTO.getContent());
+                saveManageLog(messageInfoDTO.getContent(), processInstanceId);
                 break;
             case REQUEST_LOG:
-                saveRequestLog(messageInfoDTO.getContent(), taskKey, flowKey);
+                saveRequestLog(messageInfoDTO.getContent(), taskKey, flowKey, processInstanceId);
                 break;
             case OPERATE_LOG:
-                saveOperateLog(messageInfoDTO.getContent(), taskKey, flowKey);
+                saveOperateLog(messageInfoDTO.getContent(), taskKey, flowKey, processInstanceId);
                 break;
             default:
                 break;
@@ -222,83 +239,97 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
 
     /**
      * 构建风险日志
-     * @param taskKey       任务定义key
-     * @param flowKey       流程定义key
-     * @param applyIdcard   申请人身份证号
-     * @param operateIdcard 操作人身份证号
+     *
+     * @param logTypeEnum       日志类型
+     * @param taskKey           任务定义key
+     * @param flowKey           流程定义key
+     * @param applyIdcard       申请人身份证号
+     * @param operateIdcard     操作人身份证号
      * @param approveRecordId   表单id
-     * @param businessCode  流程标识码
-     * @param riskIp        风险ip
-     * @param title     标题
+     * @param businessCode      流程标识码
+     * @param riskIp            风险ip
+     * @param title             标题
      * @param createUserName    操作者姓名
-     * @param orgName       操作者机构名称
-     * @param orgCode   操作者机构code
-     * @param createTime    创建时间
+     * @param orgName           操作者机构名称
+     * @param orgCode           操作者机构code
+     * @param createTime        创建时间
+     * @param processInstanceId 流程实例ID
      */
-    public void buildRiskLog(String taskKey, String flowKey, String applyIdcard,
+    public void buildRiskLog(LogTypeEnum logTypeEnum, String taskKey, String flowKey, String applyIdcard,
                              String operateIdcard, String approveRecordId,
                              String businessCode, String riskIp,
                              String title, String createUserName,
                              String orgName, String orgCode,
-                             Date createTime){
+                             Date createTime, String processInstanceId) {
 
-        try{
+        try {
             //开始节点直接返回
-            if (taskKey.equals("start")){
+            if (taskKey.equals(Constants.START)) {
                 return;
             }
             //流程出口信息
             OutgoingVo outgoingVo = workflowClientFactory.getWorkflowTaskClient().queryStartOutgoing(flowKey);
             String riskContent = "";
-            if (outgoingVo != null){
-                Boolean needSaveRiskLog = true;
+            if (outgoingVo != null) {
+                boolean needSaveRiskLog = true;
                 //跳过第一个节点
-                for (TaskDefinitionVo taskDefinitionVo: outgoingVo.getTaskDefinitionVoList()){
-                    if (taskKey.equals(taskDefinitionVo.getTaskDefinitionKey())){
+                for (TaskDefinitionVo taskDefinitionVo : outgoingVo.getTaskDefinitionVoList()) {
+                    if (taskKey.equals(taskDefinitionVo.getTaskDefinitionKey())) {
                         needSaveRiskLog = false;
                         break;
                     }
                 }
 
-                if (needSaveRiskLog){
-                    if (applyIdcard.equals(operateIdcard)){
-                        riskContent = "审批流程中,提交人与审批人都是:" + createUserName + "(" + operateIdcard + ")。";
-                        //除第一个节点外,审请人和处理人同为一个人,产生《提交人与审批人重复风险》
-                        saveRiskLog(businessCode, riskIp, riskContent,
-                                title, operateIdcard, createUserName,
-                                applyIdcard, orgName, orgCode,
-                                createTime, SchemeTypeEnum.COMMIT_APPROVE_REPETITION_RISK.getValue(), approveRecordId);
-                    }
+                if (needSaveRiskLog) {
+                    // 提交人、审批人重复风险判断,跳过第一个节点,只有操作日志才分析提交、审批人风险
+                    if (logTypeEnum.equals(LogTypeEnum.OPERATE_LOG)) {
 
+                        if (applyIdcard.equals(operateIdcard)) {
+
+                            RiskScheme riskScheme = riskSchemeService.selectEnableSchemeByType(SchemeTypeEnum.COMMIT_APPROVE_REPETITION_RISK);
+                            if (riskScheme != null) {
+                                riskContent = "审批流程中,提交人与审批人都是:" + createUserName + "(" + operateIdcard + ")。";
+                                //除第一个节点外,审请人和处理人同为一个人,产生《提交人与审批人重复风险》
+                                saveRiskLog(businessCode, riskIp, riskContent,
+                                        title, operateIdcard, createUserName,
+                                        applyIdcard, orgName, orgCode,
+                                        createTime, riskScheme.getSchemeType(),
+                                        approveRecordId, processInstanceId);
+                            }
+
+                        }
+                    }
 
                     LambdaQueryWrapper<RiskScheme> riskSchemeWhere = new LambdaQueryWrapper<>();
                     riskSchemeWhere.eq(RiskScheme::getSchemeType, SchemeTypeEnum.SINGLE_APPROVE_RISK.getValue());
                     //获取单人连续审批风险方案详情
-                    List<RiskScheme> riskSchemes = riskSchemeMapper.selectList(riskSchemeWhere);
-                    if (CollectionUtils.isNotEmpty(riskSchemes)){
-                        RiskScheme riskScheme = riskSchemes.get(0);
-                        int continuousApproveNum =  Integer.valueOf(StringUtils.isEmpty(riskScheme.getContinuousApproveNum()) ? "0" : riskScheme.getContinuousApproveNum());
+                    RiskScheme riskScheme = riskSchemeService.selectEnableSchemeByType(SchemeTypeEnum.SINGLE_APPROVE_RISK);
+                    if (riskScheme != null) {
+
+                        int continuousApproveNum = Integer.parseInt(StringUtils.isEmpty(riskScheme.getContinuousApproveNum())
+                                ? "0" : riskScheme.getContinuousApproveNum());
                         //获取审批记录
                         LambdaQueryWrapper<ApproveCirculationInfo> where = new LambdaQueryWrapper<>();
                         where.eq(ApproveCirculationInfo::getApproveRecordId, approveRecordId);
                         where.orderByDesc(ApproveCirculationInfo::getCreateTime);
-                        //查询审批记录
+                        //查询该流程单的所有的审批记录
                         List<ApproveCirculationInfo> list = approveCirculationMapper.selectList(where);
                         Set<String> idSet = new HashSet<>();
 
-                        if (CollectionUtils.isNotEmpty(list) && list.size() >= continuousApproveNum){
+                        if (CollectionUtils.isNotEmpty(list) && list.size() >= continuousApproveNum) {
                             for (int i = 0; i < continuousApproveNum; i++) {
                                 ApproveCirculationInfo approveCirculationInfo = list.get(i);
+                                // 添加审批人用户ID Set去重
                                 idSet.add(approveCirculationInfo.getOperateUserId());
                             }
-
-                            if (idSet.size() == 1){
-                                riskContent = "审批流程流转过程中,连续" + continuousApproveNum + "个节点审批人相同,审批人都是:" + createUserName +"(" + operateIdcard +")。";
+                            if (idSet.size() == 1) {
+                                riskContent = "审批流程流转过程中,连续" + continuousApproveNum + "个节点审批人相同,审批人都是:" + createUserName + "(" + operateIdcard + ")。";
                                 //产生《单人连续审批风险》
                                 saveRiskLog(businessCode, riskIp, riskContent,
                                         title, operateIdcard, createUserName,
                                         applyIdcard, orgName, orgCode,
-                                        createTime, SchemeTypeEnum.SINGLE_APPROVE_RISK.getValue(), approveRecordId);
+                                        createTime, riskScheme.getSchemeType(),
+                                        approveRecordId, processInstanceId);
                             }
                         }
 
@@ -308,7 +339,7 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
 
                 }
             }
-        }catch (Exception e){
+        } catch (Exception e) {
             logger.info("====================构建风险日志异常【{}】==============", e.getMessage());
             throw new ApplicationException(e.getMessage());
         }
@@ -317,23 +348,26 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
 
     /**
      * 保存风险日志
-     * @param businessCode  流程标识码
-     * @param riskIp    风险ip
-     * @param riskContent   风险内容
-     * @param title 标题
-     * @param createUser    操作者身份证
+     *
+     * @param businessCode      流程标识码
+     * @param riskIp            风险ip
+     * @param riskContent       风险内容
+     * @param title             标题
+     * @param createUser        操作者身份证
      * @param createUserName    操作姓名
-     * @param idcard    申请者身份证
-     * @param orgName   机构名称
-     * @param orgCode   机构code
-     * @param createTime    创建时间
-     * @param riskType  风险类型
-     * @param approveRecordId  申请单id
+     * @param idcard            申请者身份证
+     * @param orgName           机构名称
+     * @param orgCode           机构code
+     * @param createTime        创建时间
+     * @param riskType          风险类型
+     * @param approveRecordId   申请单id
+     * @param processInstanceId 实例ID
      */
     private void saveRiskLog(String businessCode, String riskIp, String riskContent,
                              String title, String createUser, String createUserName,
                              String idcard, String orgName, String orgCode,
-                             Date createTime, String riskType, String approveRecordId) {
+                             Date createTime, String riskType, String approveRecordId,
+                             String processInstanceId) {
         RiskLog riskLog = new RiskLog();
         riskLog.setLogSender(approveConfig.getAppCode());
         riskLog.setLogReceiver(LogReceiverEnum.AUDIT_SERVICE.getValue() + "," + LogReceiverEnum.SECURITY_POLICY_SERVICE.getValue());
@@ -350,71 +384,83 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
         riskLog.setOrgName(orgName);
         riskLog.setOrgCode(orgCode);
         riskLog.setCreateTime(createTime);
+        riskLog.setProcessInstanceId(processInstanceId);
 
         riskLogService.saveRiskLog(riskLog);
     }
 
     /**
      * 操作日志保存
+     *
      * @param content
      */
-    private void saveOperateLog(String content, String taskKey, String flowKey) {
+    private void saveOperateLog(String content, String taskKey, String flowKey,
+                                String processInstanceId) {
         OperateLog entity = JSONObject.parseObject(content, OperateLog.class);
+        entity.setProcessInstanceId(processInstanceId);
         operateLogService.saveOperateLog(entity);
 
-        buildRiskLog(taskKey, flowKey, entity.getIdcard(),
+        buildRiskLog(LogTypeEnum.OPERATE_LOG, taskKey, flowKey, entity.getIdcard(),
                 entity.getCreateUser(), entity.getApproveRecordId(),
                 entity.getBusinessCode(), entity.getCreateIp(),
-                entity.getTitle(),  entity.getCreateUserName(),
+                entity.getTitle(), entity.getCreateUserName(),
                 entity.getOrgName(), entity.getOrgCode(),
-                entity.getCreateTime());
+                entity.getCreateTime(), processInstanceId);
     }
 
     /**
      * 请求日志保存
+     *
      * @param content
      */
-    private void saveRequestLog(String content, String taskKey, String flowKey) {
+    private void saveRequestLog(String content, String taskKey, String flowKey, String processInstanceId) {
         RequestLog entity = JSONObject.parseObject(content, RequestLog.class);
+        entity.setProcessInstanceId(processInstanceId);
         requestLogService.saveRequestLog(entity);
-        buildRiskLog(taskKey, flowKey, entity.getIdcard(),
+
+        buildRiskLog(LogTypeEnum.REQUEST_LOG, taskKey, flowKey, entity.getIdcard(),
                 entity.getCreateUser(), entity.getApproveRecordId(),
                 entity.getBusinessCode(), entity.getCreateIp(),
-                entity.getTitle(),  entity.getCreateUserName(),
+                entity.getTitle(), entity.getCreateUserName(),
                 entity.getOrgName(), entity.getOrgCode(),
-                entity.getCreateTime());
+                entity.getCreateTime(), processInstanceId);
     }
 
     /**
      * 流程管理日志保存
+     *
      * @param content
      */
-    private void saveManageLog(String content) {
+    private void saveManageLog(String content, String processInstanceId) {
         FlowManageLog entity = JSONObject.parseObject(content, FlowManageLog.class);
+        entity.setProcessInstanceId(processInstanceId);
         flowManageLogService.saveFlowManageLog(entity);
     }
 
 
     /**
      * 构建审批流程管理日志-新建/修改
-     * @param logDto    日志Dto
-     * @param operateType   类型(保存/保存并提交)
+     *
+     * @param logDto      日志Dto
+     * @param operateType 类型(保存/保存并提交)
      */
     @Override
     public void buildFlowManageLogInsert(LogDto logDto, String operateType, String disposeType) {
         buildFlowManageLogAndSend(logDto, disposeType);
 
         if (ApprovalInfoDTO.applyAndCommitStr.equals(operateType)) {
-            String flowNodeCode = logDto.getProcessInstanceVO() == null ? "": logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getTaskCode();
-            String flowNodeName = logDto.getProcessInstanceVO() == null ? "": logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getName();
-            String taskKey = logDto.getProcessInstanceVO() == null ? "": logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getTaskDefinitionKey();
-            String flowKey = logDto.getProcessInstanceVO() == null ? "": logDto.getProcessInstanceVO().getPocessDefinitionId();
+            String flowNodeCode = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getTaskCode();
+            String flowNodeName = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getName();
+            String taskKey = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getTaskDefinitionKey();
+            String flowKey = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getPocessDefinitionId();
+            String processInstanceId = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getProcessInstanceId();
+
 
             //如果是保存并提交,则需要构建(申请请求日志-发起)对象
-            buildRequestLog(RequestDisposeTypeEnum.START.getValue(), logDto, "start", "开始", "start", flowKey);
+            buildRequestLog(RequestDisposeTypeEnum.START.getValue(), logDto, "start", "开始", "start", flowKey, processInstanceId);
 
             //如果是保存并提交,则需要构建(申请操作日志-通过)对象
-            buildOperateLogAndSend(logDto, OperateDisposeTypeEnum.COMPLETE_AGREE.getValue(), flowNodeCode, flowNodeName, taskKey, flowKey);
+            buildOperateLogAndSend(logDto, OperateDisposeTypeEnum.COMPLETE_AGREE.getValue(), flowNodeCode, flowNodeName, taskKey, flowKey, processInstanceId);
         }
 
         //TODO 目前权限未提供红白名单列表,无法做命中红白名单风险
@@ -423,18 +469,22 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
 
     /**
      * 构建审批流程管理日志-修改
-     * @param logDto 日志Dto
+     *
+     * @param logDto             日志Dto
      * @param needSaveOperateLog
      */
+    @Override
     public void buildFlowManageLogUpdate(LogDto logDto, Boolean needSaveOperateLog) {
         buildFlowManageLogAndSend(logDto, ManageDisposeTypeEnum.UPDATE.getValue());
         if (needSaveOperateLog) {
-            String flowNodeCode = logDto.getProcessInstanceVO() == null ? "": logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getTaskCode();
-            String flowNodeName = logDto.getProcessInstanceVO() == null ? "": logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getName();
-            String taskKey = logDto.getProcessInstanceVO() == null ? "": logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getTaskDefinitionKey();
-            String flowKey = logDto.getProcessInstanceVO() == null ? "": logDto.getProcessInstanceVO().getPocessDefinitionId();
+            String flowNodeCode = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getTaskCode();
+            String flowNodeName = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getName();
+            String taskKey = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getTaskHistoryDetailVo().getTaskDefinitionKey();
+            String flowKey = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getPocessDefinitionId();
+            String processInstanceId = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getProcessInstanceId();
+
             //实例id不为空,说明为流程的的修改并提交,所以需要构建审批操作日志(通过)
-            buildOperateLogAndSend(logDto, OperateDisposeTypeEnum.COMPLETE_AGREE.getValue(), flowNodeCode, flowNodeName, taskKey, flowKey);
+            buildOperateLogAndSend(logDto, OperateDisposeTypeEnum.COMPLETE_AGREE.getValue(), flowNodeCode, flowNodeName, taskKey, flowKey, processInstanceId);
         }
 
 
@@ -443,11 +493,15 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
 
     /**
      * 构建审批流程管理日志
-     * @param logDto    日志Dto
-     * @param disposeType   审批流程管理日志类型(DisposeTypeEnum)
+     *
+     * @param logDto      日志Dto
+     * @param disposeType 审批流程管理日志类型(DisposeTypeEnum)
      * @return
      */
     private FlowManageLog buildFlowManageLogAndSend(LogDto logDto, String disposeType) {
+
+        String processInstanceId = logDto.getProcessInstanceVO() == null ? "" : logDto.getProcessInstanceVO().getProcessInstanceId();
+
         FlowManageLog flowManageLog = new FlowManageLog();
         BeanUtils.copyProperties(logDto, flowManageLog);
         flowManageLog.setIdcard(logDto.getApprovalInfo().getApplicantIdcard());
@@ -459,10 +513,12 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
         //操作内容策划不知道要存什么,暂时放空
 //        flowManageLog.setOperateContent(JSON.toJSONString(logDto.getApprovalInfo()));
         flowManageLog.setApproveRecordId(logDto.getApprovalInfo().getId());
+        flowManageLog.setProcessInstanceId(processInstanceId);
         //发送审批流程管理日志到消息中心
         logger.info("=====发送审批流程管理日志消息,消息体为:{}====", JSON.toJSONString(flowManageLog));
         //审批流程管理日志类型不会涉及到审批风险,故taskKey/flowKey可以为空
-        sendInfo(JSON.toJSONString(flowManageLog), "审批流程管理日志", LogTypeEnum.MANAGE_LOG.getValue(), "", "");
+        sendInfo(JSON.toJSONString(flowManageLog), "审批流程管理日志", LogTypeEnum.MANAGE_LOG.getValue(),
+                "", "", processInstanceId);
         return flowManageLog;
 
     }
@@ -470,27 +526,30 @@ public class ApproveLogHelperService implements IApproveLogHelperService {
 
     /**
      * 发送日志消息
-     * @param content   消息体对象json字符串
-     * @param title     标题
-     * @param logType      日志类型
-     * @param taskKey   任务定义id
-     * @param flowKey   流程定义id
+     *
+     * @param content           消息体对象json字符串
+     * @param title             标题
+     * @param logType           日志类型
+     * @param taskKey           任务定义id
+     * @param flowKey           流程定义id
+     * @param processInstanceId 实例ID
      */
-    public void sendInfo(String content, String title, String logType, String taskKey, String flowKey){
+    public void sendInfo(String content, String title, String logType, String taskKey, String flowKey, String processInstanceId) {
         RequestVo requestVo = new RequestVo();
         MessageInfoVo messageInfoVo = new MessageInfoVo();
         messageInfoVo.setTitle(title);
         messageInfoVo.setCreateTime(new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));
         messageInfoVo.setContent(content);
         messageInfoVo.setUserSystem("审批系统");
-        messageInfoVo.setUserSystemCode(ApproveService.businessSystem);
+        messageInfoVo.setUserSystemCode(ApproveServiceImpl.businessSystem);
         messageInfoVo.setUserName("审批系统");
         messageInfoVo.setMessageId(UUIDUtils.getUUID());
-        Map map = new HashMap();
+        Map<String, String> map = new HashMap<>();
         map.put(logTypeStr, logType);
         map.put("taskKey", taskKey);
         map.put("flowKey", flowKey);
-        List<Map<String,String>> infoSet = new ArrayList<>();
+        map.put("processInstanceId", processInstanceId);
+        List<Map<String, String>> infoSet = new ArrayList<>();
         infoSet.add(map);
         messageInfoVo.setInfoSet(infoSet);
 

+ 123 - 79
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveService.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveServiceImpl.java

@@ -19,7 +19,10 @@ import com.dragonsoft.approve.common.ErrorCode;
 import com.dragonsoft.dcuc.approve.componet.DcucHelper;
 import com.dragonsoft.dcuc.approve.config.ApproveConfig;
 import com.dragonsoft.dcuc.approve.config.KafkaConfig;
-import com.dragonsoft.dcuc.approve.enumresources.*;
+import com.dragonsoft.dcuc.approve.enumresources.ApproveResultEnum;
+import com.dragonsoft.dcuc.approve.enumresources.ApproveWorkFlowOprationEnum;
+import com.dragonsoft.dcuc.approve.enumresources.OperateOptionEnum;
+import com.dragonsoft.dcuc.approve.enumresources.YesNoEnum;
 import com.dragonsoft.dcuc.approve.mapper.ApproveActHiTaskMapper;
 import com.dragonsoft.dcuc.approve.mapper.ApproveActRunTaskMapper;
 import com.dragonsoft.dcuc.approve.mapper.ApproveCirculationMapper;
@@ -29,9 +32,12 @@ import com.dragonsoft.dcuc.approve.model.req.AgentDTO;
 import com.dragonsoft.dcuc.approve.model.req.ApprovalInfoDTO;
 import com.dragonsoft.dcuc.approve.model.req.ApprovalInfoUpdateDTO;
 import com.dragonsoft.dcuc.approve.model.resp.*;
+import com.dragonsoft.dcuc.approve.model.vo.ApproveTaskRequestVo;
+import com.dragonsoft.dcuc.approve.model.vo.LogDto;
 import com.dragonsoft.dcuc.approve.service.*;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.security.BaseSecurityUser;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.exception.ApplicationException;
@@ -51,8 +57,8 @@ import com.dragonsoft.duceap.core.search.filter.Condition;
 import com.dragonsoft.duceap.core.search.filter.SearchFilter;
 import com.dragonsoft.duceap.core.search.filter.SearchFilterHelper;
 import com.dragonsoft.duceap.duwf.api.enums.StateTypeEnum;
-import com.dragonsoft.duceap.duwf.api.model.*;
 import com.dragonsoft.duceap.duwf.api.model.ActivityNodeInfoVo;
+import com.dragonsoft.duceap.duwf.api.model.*;
 import com.dragonsoft.duceap.workflow.client.WorkflowClientFactory;
 import com.dragonsoft.duceap.workflow.enums.WorkFlowOprationEnum;
 import com.dragonsoft.mq.client.model.entity.MessageInfoVo;
@@ -71,6 +77,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
+import javax.servlet.http.HttpServletRequest;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -84,11 +91,10 @@ import java.util.stream.Collectors;
  * @date 2021/2/3 19:43
  */
 @Service
-@Transactional
 @EnableAsync
-public class ApproveService implements IApproveService {
+public class ApproveServiceImpl implements IApproveService {
 
-    private static final Logger logger = LoggerFactory.getLogger(ApproveService.class);
+    private static final Logger logger = LoggerFactory.getLogger(ApproveServiceImpl.class);
 
     /**
      * 结束字符串
@@ -141,6 +147,9 @@ public class ApproveService implements IApproveService {
     @Autowired
     private IApproveActRunIdentityLinkService approveActRunIdentityLinkService;
 
+    @Autowired
+    private ApproveServiceImpl approveService;
+
     /**
      * 工作流审批流程类型编码
      */
@@ -200,7 +209,6 @@ public class ApproveService implements IApproveService {
     }
 
 
-
     /**
      * 表单申请提交/保存
      *
@@ -218,6 +226,7 @@ public class ApproveService implements IApproveService {
      * @param approvalInfoDTO
      * @param oldCreateTime
      */
+    @Transactional
     public ApproveRecordInfo saveBase(ApprovalInfoDTO approvalInfoDTO, String disposeType, Date oldCreateTime) {
         ApproveRecordInfo result = null;
         ApprovalInfo approvalInfo = null;
@@ -336,6 +345,8 @@ public class ApproveService implements IApproveService {
         } catch (Exception e) {
             resultStr = ApproveResultEnum.FAIL.getValue();
             failMsg = e.getMessage();
+            logger.error("e", e);
+            throw e;
         } finally {
             approveLogHelperService.buildFlowManageLogInsert(buildLogDto(approvalInfo, vo, resultStr, failMsg), approvalInfoDTO.getOperateType(), disposeType);
         }
@@ -349,6 +360,7 @@ public class ApproveService implements IApproveService {
      * @param approvalInfoUpdateDTO
      * @return
      */
+    @Transactional
     @Override
     public ResponseStatus update(ApprovalInfoUpdateDTO approvalInfoUpdateDTO) {
         logger.info("=======" + JSONObject.toJSONString(approvalInfoUpdateDTO) + "========");
@@ -378,7 +390,7 @@ public class ApproveService implements IApproveService {
                 }
                 needSaveUpdateLog = false;
                 //调用保存接口
-                ApproveRecordInfo result = saveBase(approvalInfoDTO, ManageDisposeTypeEnum.UPDATE.getValue(), approvalInfo.getCreateTime());
+                ApproveRecordInfo result = approveService.saveBase(approvalInfoDTO, ManageDisposeTypeEnum.UPDATE.getValue(), approvalInfo.getCreateTime());
                 return ResponseDTO.newInstance(result.getProcessInstanceId());
             } else {
                 approvalInfo.setApplyReason(approvalInfoDTO.getApplyReason());
@@ -424,7 +436,7 @@ public class ApproveService implements IApproveService {
                     for (TaskHistoryDetailVo taskDetailVo : list) {
                         //循环提交当前待办任务
                         vo = baseApproveOperate(taskDetailVo.getId(),
-                                ApproveWorkFlowOprationEnum.COMPLETE_AGREE, taskRequest, approvalInfo, approvalInfo.getApplicantIdcard(), userData, approveRecordInfo.getApproveNo(), approveRecordInfo.getProcessNo(), approveRecordInfo.getId());
+                                ApproveWorkFlowOprationEnum.COMPLETE_AGREE, taskRequest, approvalInfo, approvalInfo.getApplicantIdcard(), userData, approveRecordInfo.getApproveNo(), approveRecordInfo.getBusinessCode(), approveRecordInfo.getId());
                         if (CollectionUtils.isNotEmpty(vo.getTaskRunDetailVos())) {
                             //若存在待办任务,说明流程未结束,无需发送消息给权限中心
                             sendMessageFlag = false;
@@ -454,6 +466,7 @@ public class ApproveService implements IApproveService {
         } catch (Exception e) {
             resultStr = ApproveResultEnum.FAIL.getValue();
             failMsg = e.getMessage();
+            throw e;
         } finally {
             if (needSaveUpdateLog) {
                 approveLogHelperService.buildFlowManageLogUpdate(buildLogDto(approvalInfo, vo, resultStr, failMsg), needSaveOperateLog);
@@ -531,8 +544,8 @@ public class ApproveService implements IApproveService {
             if (StringUtils.isNotEmpty(taskId)) {
                 //通过任务id获取任务分支
                 List<TaskOutgoingVo> list = buildTaskOutgoingVoList(taskId);
-                if (CollectionUtils.isNotEmpty(list)){
-                    for (ActivitiHolder activitiHolder: activitiHolderList){
+                if (CollectionUtils.isNotEmpty(list)) {
+                    for (ActivitiHolder activitiHolder : activitiHolderList) {
                         activitiHolder.setTaskDefinitionKey(list.get(0).getTaskDefinitionKey());
                     }
                 }
@@ -555,6 +568,7 @@ public class ApproveService implements IApproveService {
      * @param appCode
      * @return
      */
+    @Transactional
     @Override
     public ResponseStatus approveOperate(String taskId, String processInstanceId, ApproveWorkFlowOprationEnum
             approveWorkFlowOprationEnum, TaskRequest taskRequest, String idcard, Map<String, String> userData, List<ActivitiHolder> activitiHolderList, String appCode) {
@@ -949,66 +963,74 @@ public class ApproveService implements IApproveService {
      * @param id 申请单ID
      * @return
      */
+    @Transactional
     @Override
     public ResponseStatus deleteProcessInstance(String id) {
         ApprovalInfo approvalInfo = null;
         String resultStr = ApproveResultEnum.SUCCESS.getValue();
         String failMsg = "";
         try {
-        //获取表单信息approvalInfo = getApproveRecord(id );
-
-        if (!approveConfig.getAppCode().equals(approvalInfo.getAppCode())){
-            return ResponseDTO.fail("第三方报送数据不允许删除");
-        }
+            //获取表单信息
+            approvalInfo = getApproveRecord(id);
+            if (approvalInfo == null) {
+                resultStr = ApproveResultEnum.FAIL.getValue();
+                failMsg = "申请单不存在";
+                return ResponseDTO.fail("申请单不存在");
+            }
 
-        if (approvalInfo == null) {
-            return ResponseDTO.fail("申请单不存在");
-        }
-        if (StringUtils.isNotEmpty(approvalInfo.getTaskId())) {
-            if (approvalInfo.getTaskId().equalsIgnoreCase(endStr)) {
-                return ResponseDTO.fail("流程已结束,不允许删除");
+            if (!approveConfig.getAppCode().equals(approvalInfo.getAppCode())) {
+                resultStr = ApproveResultEnum.FAIL.getValue();
+                failMsg = "第三方报送数据不允许删除";
+                return ResponseDTO.fail("第三方报送数据不允许删除");
             }
-        }
 
-        boolean callBackEnableFlag = false;
-        //判断是否是草稿状态
-        if (StringUtils.isNotEmpty(approvalInfo.getProcessInstanceId())) {
-            /**
-             * 1. 获取当前结点可以操作的类型
-             * 2. 判断是否可以执行撤销操作,若可以执行撤销,否则返回错误信息
-             * 3. 将流程实例信息(审批端)的删除标志置1
-             */
-            String taskIds = approvalInfo.getTaskId();
-            String taskCodes = approvalInfo.getApproveTaskIdentifier();
-            String[] arrTaskId = taskIds.split(",");
-            String[] arrTaskCode = taskCodes.split(",");
-            int index = 0;
-            for (String taskId : arrTaskId) {
-                logger.info("====检验当前结点是否支持撤销操作====");
-                callBackEnableFlag = this.checkOperateOptionOfCurrentStep(taskId, approvalInfo.getProcessInstanceId(), arrTaskCode[index++], OperateOptionEnum._BTN_REDO_COMMIT);
-                if (callBackEnableFlag) {
-                    break;
+
+            if (StringUtils.isNotEmpty(approvalInfo.getTaskId())) {
+                if (approvalInfo.getTaskId().equalsIgnoreCase(endStr)) {
+                    resultStr = ApproveResultEnum.FAIL.getValue();
+                    failMsg = "流程已结束,不允许删除";
+                    return ResponseDTO.fail("流程已结束,不允许删除");
                 }
             }
-            //判断并执行撤销操作
-            if (callBackEnableFlag) {
-                Map<String, String> userData = new HashMap<>();
-                userData.put("idCard", approvalInfo.getApplicantIdcard());
-                userData.put("userName", approvalInfo.getApplicantName());
+
+            boolean callBackEnableFlag = false;
+            //判断是否是草稿状态
+            if (StringUtils.isNotEmpty(approvalInfo.getProcessInstanceId())) {
+                /**
+                 * 1. 获取当前结点可以操作的类型
+                 * 2. 判断是否可以执行撤销操作,若可以执行撤销,否则返回错误信息
+                 * 3. 将流程实例信息(审批端)的删除标志置1
+                 */
+                String taskIds = approvalInfo.getTaskId();
+                String taskCodes = approvalInfo.getApproveTaskIdentifier();
+                String[] arrTaskId = taskIds.split(",");
+                String[] arrTaskCode = taskCodes.split(",");
+                int index = 0;
                 for (String taskId : arrTaskId) {
-                    //执行流程撤销操作,撤销会删除流程
-                    workflowClientFactory.getWorkflowTaskClient().handleTaskForRedo(taskId, getCurrentUserId());
+                    logger.info("====检验当前结点是否支持撤销操作====");
+                    callBackEnableFlag = this.checkOperateOptionOfCurrentStep(taskId, approvalInfo.getProcessInstanceId(), arrTaskCode[index++], OperateOptionEnum._BTN_REDO_COMMIT);
+                    if (callBackEnableFlag) {
+                        break;
+                    }
+                }
+                //判断并执行撤销操作
+                if (callBackEnableFlag) {
+                    Map<String, String> userData = new HashMap<>();
+                    userData.put("idCard", approvalInfo.getApplicantIdcard());
+                    userData.put("userName", approvalInfo.getApplicantName());
+                    for (String taskId : arrTaskId) {
+                        //执行流程撤销操作,撤销会删除流程
+                        workflowClientFactory.getWorkflowTaskClient().handleTaskForRedo(taskId, getCurrentUserId());
+                    }
+                } else {
+                    resultStr = ApproveResultEnum.FAIL.getValue();
+                    failMsg = "当前节点不允许删除操作";
+                    return ResponseDTO.fail("当前节点不允许删除操作");
                 }
-            } else {
-                return ResponseDTO.fail("当前节点不允许删除操作");
             }
-        } else {
-            callBackEnableFlag = true;
-        }
-        if (callBackEnableFlag) {
             //执行表单表逻辑删除
             LambdaUpdateWrapper<ApproveRecordInfo> updateWrapper = new LambdaUpdateWrapper<>();
-            updateWrapper.eq(IdEntity::getId, id);
+            updateWrapper.eq(ApproveRecordInfo::getId, id);
             updateWrapper.set(ApproveRecordInfo::getIsDeleted, YesNoEnum.YES.getValue());
             updateWrapper.set(ApproveRecordInfo::getFinalApprovalResult, ApproveResultEnum.DELETED.getValue());
             approveRecordMapper.update(null, updateWrapper);
@@ -1025,7 +1047,6 @@ public class ApproveService implements IApproveService {
             runTaskLambdaUpdateWrapper.eq(ApproveActRunTask::getApplyRecordId, id);
             runTaskLambdaUpdateWrapper.set(ApproveActRunTask::getDeleted, YesNoEnum.YES.getValue());
             approveActRunTaskMapper.update(null, runTaskLambdaUpdateWrapper);
-        }
         } catch (Exception e) {
             resultStr = ApproveResultEnum.FAIL.getValue();
             failMsg = "";
@@ -1193,6 +1214,7 @@ public class ApproveService implements IApproveService {
 
     /**
      * 通过业务id查询流程图状态
+     *
      * @param businessId
      * @return
      */
@@ -1232,7 +1254,7 @@ public class ApproveService implements IApproveService {
                     long minute = (between - hours * 3600) / 60;
                     long second = between % 60;
                     detailVo.setCostTime(String.format("%d时%d分%d秒", hours, minute, second));
-                    detailVo.setReceiveTime(DateUtils.addDate(circulationInfo.getCreateTime(), Calendar.SECOND, -Integer.valueOf(circulationInfo.getOperateTimeConsuming())));
+                    detailVo.setReceiveTime(DateUtils.addDate(circulationInfo.getCreateTime(), Calendar.SECOND, -Integer.parseInt(circulationInfo.getOperateTimeConsuming())));
                     detailVo.setHandleTime(circulationInfo.getCreateTime());
                     taskVos.add(detailVo);
                 }
@@ -1258,9 +1280,9 @@ public class ApproveService implements IApproveService {
         OutgoingVo outgoingVo = workflowClientFactory.getWorkflowTaskClient().queryTaskOutgoing(taskId);
         List<TaskOutgoingVo> list = new ArrayList<>();
         logger.info("工作流返回对象:【{}】", JSON.toJSONString(outgoingVo));
-        if (outgoingVo != null && CollectionUtils.isNotEmpty(outgoingVo.getTaskDefinitionVoList())){
-            for (TaskDefinitionVo taskDefinitionVo: outgoingVo.getTaskDefinitionVoList()){
-                if (!"end".equalsIgnoreCase(taskDefinitionVo.getTaskDefinitionKey())){
+        if (outgoingVo != null && CollectionUtils.isNotEmpty(outgoingVo.getTaskDefinitionVoList())) {
+            for (TaskDefinitionVo taskDefinitionVo : outgoingVo.getTaskDefinitionVoList()) {
+                if (!"end".equalsIgnoreCase(taskDefinitionVo.getTaskDefinitionKey())) {
                     TaskOutgoingVo taskOutgoingVo = new TaskOutgoingVo();
                     taskOutgoingVo.setTaskDefinitionKey(taskDefinitionVo.getTaskDefinitionKey());
                     taskOutgoingVo.setName(taskDefinitionVo.getName());
@@ -1298,7 +1320,12 @@ public class ApproveService implements IApproveService {
      * @return
      */
     private String getCurrentUserId() {
-        return (null == UserContextUtils.getCurrentUser()) ? "" : UserContextUtils.getCurrentUser().getIdcard();
+        BaseSecurityUser currentUser = UserContextUtils.getCurrentUser();
+        if (currentUser == null) {
+            return "";
+        }
+
+        return currentUser.getIdcard();
     }
 
     /**
@@ -1627,7 +1654,8 @@ public class ApproveService implements IApproveService {
     private ApprovalInfo buildApproveInfoForRecord(ApproveRecordInfo approveRecordInfo) {
         ApprovalInfo approvalInfo = new ApprovalInfo();
         BeanUtils.copyProperties(approveRecordInfo, approvalInfo);
-        approvalInfo.setBusinessCode(approveRecordInfo.getProcessNo());
+        approvalInfo.setBusinessCode(approveRecordInfo.getBusinessCode());
+        approvalInfo.setProcessInstanceId(approveRecordInfo.getProcessInstanceId());
         approvalInfo.setProcessTitle(approveRecordInfo.getProcessTitle());
         approvalInfo.setApplyReason(approveRecordInfo.getApplyReason());
         approvalInfo.setApplyContent(approveRecordInfo.getApproveContent());
@@ -1659,10 +1687,11 @@ public class ApproveService implements IApproveService {
      * @param approveNo
      * @return
      */
-    private ApproveRecordInfo buildApproveRecordInfo(ApprovalInfo approvalInfo, ApprovalResourceInfo approvalResourceInfo, String approveNo) {
+    private ApproveRecordInfo buildApproveRecordInfo(ApprovalInfo approvalInfo, ApprovalResourceInfo approvalResourceInfo,
+                                                     String approveNo) {
         ApproveRecordInfo approveRecordInfo = new ApproveRecordInfo();
         approveRecordInfo.setId(approvalInfo.getId());
-        approveRecordInfo.setProcessNo(approvalInfo.getBusinessCode());
+        approveRecordInfo.setBusinessCode(approvalInfo.getBusinessCode());
         approveRecordInfo.setProcessName(approvalInfo.getProcessName());
 
         approveRecordInfo.setProcessType(approvalInfo.getProcessType());
@@ -1825,7 +1854,11 @@ public class ApproveService implements IApproveService {
         searchable.or(searchFilters.get(0), (SearchFilter[]) ArrayUtils.remove(lists, 0));
         searchable.addSearchFilter("r.deleted", SearchOperator.eq, BooleanEnum.FALSE.getValue());
         searchable.addSort(Sort.Direction.DESC, "r.generateTime");
-        Integer countNum = approveActRunTaskMapper.totalCounts(searchable);
+        SearchDTO searchDTO = searchable.toSearchDTO();
+        Searchable countSearchable = Searchable.toSearchable(searchDTO);
+        countSearchable.removePageable();
+        // 需使用无分页的SearchAble 不然会获取不到总条数
+        Integer countNum = approveActRunTaskMapper.totalCounts(countSearchable);
         if (countNum == null) {
             countNum = 0;
         } else {
@@ -1988,21 +2021,19 @@ public class ApproveService implements IApproveService {
         return links;
     }
 
-    private List<ApproveActRunIdentityLink> addActIdentityEntiyToList(Map<String, String> userInfoMap,
-                                                                      List<ApproveActRunIdentityLink> links,
-                                                                      String taskId, String processInstanceId, String type) {
+    private void addActIdentityEntiyToList(Map<String, String> userInfoMap,
+                                           List<ApproveActRunIdentityLink> links,
+                                           String taskId, String processInstanceId, String type) {
         if (userInfoMap == null) {
-            return links;
+            return;
         }
-        Iterator<Map.Entry<String, String>> iterator = userInfoMap.entrySet().iterator();
-        while (iterator.hasNext()) {
+        for (Map.Entry<String, String> stringStringEntry : userInfoMap.entrySet()) {
             ApproveActRunIdentityLink approveActRunIdentityLink = new ApproveActRunIdentityLink();
             approveActRunIdentityLink.setId(UUIDUtils.getUUID());
             approveActRunIdentityLink.setTaskId(taskId);
             approveActRunIdentityLink.setProcessInstanceId(processInstanceId);
-            Map.Entry<String, String> next = iterator.next();
-            String key = next.getKey();
-            String value = next.getValue();
+            String key = stringStringEntry.getKey();
+            String value = stringStringEntry.getValue();
             switch (type) {
                 case "group": {
                     approveActRunIdentityLink.setGroupId(key);
@@ -2025,7 +2056,6 @@ public class ApproveService implements IApproveService {
             }
             links.add(approveActRunIdentityLink);
         }
-        return links;
     }
 
     /**
@@ -2049,7 +2079,8 @@ public class ApproveService implements IApproveService {
             //step1: 删除当前结点
             approveActRunTask.setDeleted(YesNoEnum.YES.getValue());
             approveActRunTask.setOperateType(operateType);
-            approveActRunTaskMapper.updateById(approveActRunTask);
+            // 使用@TableLogic需要使用Delete才能删除
+            approveActRunTaskMapper.deleteById(approveActRunTask);
             //step2: 把当前代办写入已办
             logger.info("====step2: 把当前代办写入已办====");
             ApproveActHiTask actHiTask = new ApproveActHiTask();
@@ -2088,14 +2119,27 @@ public class ApproveService implements IApproveService {
      * @param vo
      * @param resultStr
      * @param failMsg
-     * @return
+     * @returns
      */
     private LogDto buildLogDto(ApprovalInfo approvalInfo, ProcessInstanceVO vo, String resultStr, String failMsg) {
+        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+        assert servletRequestAttributes != null;
+        HttpServletRequest request = servletRequestAttributes.getRequest();
+        String realIpAdrress = IpUtils.getRealIpAdrress(request);
+
+        String createUser = "";
+        String createUserName = "";
+        BaseSecurityUser currentUser = UserContextUtils.getCurrentUser();
+        if (currentUser != null) {
+            createUser = currentUser.getIdcard();
+            createUserName = currentUser.getUserName();
+        }
+
         LogDto logDto = new LogDto();
-        logDto.setCreateIp(IpUtils.getProxyIpAdrress(((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()));
+        logDto.setCreateIp(realIpAdrress);
         logDto.setOperateContent("");
-        logDto.setCreateUser(approvalInfo.getCreateUser());
-        logDto.setCreateUserName(approvalInfo.getApplicantName());
+        logDto.setCreateUser(createUser);
+        logDto.setCreateUserName(createUserName);
         logDto.setApprovalInfo(approvalInfo);
         logDto.setProcessInstanceVO(vo);
         logDto.setFailMsg(failMsg);

+ 0 - 153
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveUploadService.java

@@ -1,153 +0,0 @@
-package com.dragonsoft.dcuc.approve.service.impl;
-
-import cn.hutool.core.date.DateUtil;
-import com.alibaba.excel.util.DateUtils;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.dragonsoft.approve.common.ErrorCode;
-import com.dragonsoft.dcuc.approve.enumresources.YesNoEnum;
-import com.dragonsoft.dcuc.approve.mapper.ApproveActHiTaskMapper;
-import com.dragonsoft.dcuc.approve.mapper.ApproveCirculationMapper;
-import com.dragonsoft.dcuc.approve.mapper.ApproveQueryRelationMapper;
-import com.dragonsoft.dcuc.approve.mapper.ApproveRecordMapper;
-import com.dragonsoft.dcuc.approve.model.ApproveActHiTask;
-import com.dragonsoft.dcuc.approve.model.ApproveCirculationInfo;
-import com.dragonsoft.dcuc.approve.model.ApproveQueryRelation;
-import com.dragonsoft.dcuc.approve.model.ApproveRecordInfo;
-import com.dragonsoft.dcuc.approve.model.req.ApproveRecordDTO;
-import com.dragonsoft.dcuc.approve.service.IApproveUploadService;
-import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
-import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
-import com.dragonsoft.duceap.base.exception.ApplicationException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.ObjectUtils;
-
-import java.sql.Timestamp;
-import java.text.ParseException;
-import java.util.Date;
-import java.util.List;
-
-/**
- * @author wangzw
- * @date   2021/5/26
- * @desc  审批信息保存
- */
-@Service
-@Transactional
-@EnableAsync
-public class ApproveUploadService implements IApproveUploadService {
-
-    private static final Logger logger = LoggerFactory.getLogger(ApproveUploadService.class);
-
-    @Autowired(required = false)
-    private ApproveRecordMapper approveRecordMapper;
-
-    @Autowired(required = false)
-    private ApproveQueryRelationMapper approveQueryRelationMapper;
-
-    @Autowired(required = false)
-    private ApproveCirculationMapper approveCirculationMapper;
-
-    @Autowired(required = false)
-    ApproveActHiTaskMapper approveActHiTaskMapper;
-
-    @Override
-    public ResponseStatus approveUpload(List<ApproveRecordDTO> approveRecordList) {
-        logger.info("审批单信息保存开始,数据推送条数:【{}】",approveRecordList.size());
-        ApproveRecordInfo approveRecordInfo = new ApproveRecordInfo();
-        try {
-            if (!ObjectUtils.isEmpty(approveRecordList)){
-                //审批单信息处理
-                approveRecordList.forEach(
-                    approveRecord -> {
-
-                        try {
-                            BeanUtils.copyProperties(approveRecord,approveRecordInfo);
-                            approveRecordInfo.setIsDeleted(YesNoEnum.NO.getValue());
-                            approveRecordInfo.setCreateUser(approveRecord.getApplicantIdcard());
-                            approveRecordInfo.setCreateTime(DateUtils.parseDate(approveRecord.getApplyTime(), DateUtils.DATE_FORMAT_19));
-                            approveRecordInfo.setProcessTitle(approveRecord.getApproveTitle());
-                            approveRecordInfo.setTaskName("结束");
-                            approveRecordInfo.setTaskCode("end");
-                            approveRecordMapper.insert(approveRecordInfo);
-                            ApproveQueryRelation approveQueryRelation = new ApproveQueryRelation();
-                            BeanUtils.copyProperties(approveRecord,approveQueryRelation);
-                            approveQueryRelation.setIsDeleted(YesNoEnum.NO.getValue());
-                            approveQueryRelation.setCreateUser(approveRecord.getApplicantIdcard());
-                            approveQueryRelation.setCreateTime(DateUtils.parseDate(approveRecord.getApplyTime(), DateUtils.DATE_FORMAT_19));
-                            //保存关联关系
-                            approveQueryRelation.setApproveRecordId(approveRecordInfo.getId());
-                            approveQueryRelationMapper.insert(approveQueryRelation);
-                            //审批单包含流转记录处理
-                            if (!ObjectUtils.isEmpty(approveRecord.getApproveCirculationList())){
-                                approveRecord.getApproveCirculationList().forEach(
-                                        approveCirculation -> {
-                                            ApproveCirculationInfo approveCirculationInfo = new ApproveCirculationInfo();
-                                            BeanUtils.copyProperties(approveCirculation,approveCirculationInfo);
-                                            approveCirculationInfo.setApproveNo(approveRecordInfo.getApproveNo());
-                                            approveCirculationInfo.setIsDeleted(YesNoEnum.NO.getValue());
-                                            approveCirculationInfo.setCreateUser(approveCirculation.getOperateUserId());
-                                            approveCirculationInfo.setCreateTime(Timestamp.valueOf(approveCirculation.getOperateTime()));
-                                            //保存关联关系
-                                            approveCirculationInfo.setApproveRecordId(approveRecordInfo.getId());
-                                            approveCirculationMapper.insert(approveCirculationInfo);
-                                            //将审批记录转换成已办数据
-                                            ApproveActHiTask  actHiTask = new ApproveActHiTask();
-                                            actHiTask.setApplyRecordId(approveRecordInfo.getId());
-                                            actHiTask.setBusinessCode(approveRecordInfo.getProcessNo());
-                                            actHiTask.setBusinessName(approveRecordInfo.getProcessName());
-                                            actHiTask.setTaskId(approveCirculationInfo.getTaskId());
-                                            actHiTask.setTaskCode(approveCirculationInfo.getNodeNo());
-                                            actHiTask.setTaskName(approveCirculationInfo.getNodeName());
-                                            actHiTask.setOperateUserIdcard(approveCirculationInfo.getOperateUserId());
-                                            actHiTask.setOperateUserName(approveCirculationInfo.getOperateUserName());
-                                            actHiTask.setOperateType(approveCirculationInfo.getOperateType());
-                                            actHiTask.setProcessInstanceId(approveRecordInfo.getProcessInstanceId());
-                                            try {
-                                                actHiTask.setOperateTime(DateUtils.parseDate(approveCirculationInfo.getOperateTime(), DateUtils.DATE_FORMAT_19));
-                                            } catch (ParseException e) {
-
-                                            }
-                                            actHiTask.setDeleted(YesNoEnum.NO.getValue());
-                                            approveActHiTaskMapper.insert(actHiTask);
-
-
-                                        }
-                                );
-                            }
-                        } catch (ParseException e) {
-                            e.printStackTrace();
-                        }
-
-                    }
-                );
-            }
-        }catch (Exception ex){
-            logger.error("保存审批单失败!");
-            throw new ApplicationException(ErrorCode.APPROVAL_UPLOAD_EXCEPTION.getCode(), ErrorCode.APPROVAL_UPLOAD_EXCEPTION.getMsg());
-        }
-        return ResponseDTO.newInstance(approveRecordInfo.getId());
-    }
-
-    @Override
-    public ApproveRecordInfo findByCreateTime(Date date, String appCode) {
-        //获取申请信息填充
-        LambdaQueryWrapper<ApproveRecordInfo> where = new LambdaQueryWrapper<>();
-        where.eq(ApproveRecordInfo::getAppCode, appCode);
-        where.between(ApproveRecordInfo::getCreateTime, DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date()));
-        where.orderByDesc(ApproveRecordInfo::getCreateTime);
-        List<ApproveRecordInfo> list = approveRecordMapper.selectList(where);
-        if (CollectionUtils.isEmpty(list)){
-            return null;
-        }
-        return list.get(0);
-    }
-
-
-}

+ 154 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveUploadServiceImpl.java

@@ -0,0 +1,154 @@
+package com.dragonsoft.dcuc.approve.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.excel.util.DateUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.dragonsoft.approve.common.ErrorCode;
+import com.dragonsoft.dcuc.approve.enumresources.YesNoEnum;
+import com.dragonsoft.dcuc.approve.mapper.ApproveActHiTaskMapper;
+import com.dragonsoft.dcuc.approve.mapper.ApproveCirculationMapper;
+import com.dragonsoft.dcuc.approve.mapper.ApproveQueryRelationMapper;
+import com.dragonsoft.dcuc.approve.mapper.ApproveRecordMapper;
+import com.dragonsoft.dcuc.approve.model.ApproveActHiTask;
+import com.dragonsoft.dcuc.approve.model.ApproveCirculationInfo;
+import com.dragonsoft.dcuc.approve.model.ApproveQueryRelation;
+import com.dragonsoft.dcuc.approve.model.ApproveRecordInfo;
+import com.dragonsoft.dcuc.approve.model.req.ApproveRecordDTO;
+import com.dragonsoft.dcuc.approve.service.IApproveUploadService;
+import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
+import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.base.exception.ApplicationException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
+
+import java.sql.Timestamp;
+import java.text.ParseException;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangzw
+ * @date 2021/5/26
+ * @desc 审批信息保存
+ */
+@Service
+@Transactional
+@EnableAsync
+public class ApproveUploadServiceImpl implements IApproveUploadService {
+
+    private static final Logger logger = LoggerFactory.getLogger(ApproveUploadServiceImpl.class);
+
+    @Autowired(required = false)
+    private ApproveRecordMapper approveRecordMapper;
+
+    @Autowired(required = false)
+    private ApproveQueryRelationMapper approveQueryRelationMapper;
+
+    @Autowired(required = false)
+    private ApproveCirculationMapper approveCirculationMapper;
+
+    @Autowired(required = false)
+    ApproveActHiTaskMapper approveActHiTaskMapper;
+
+    @Override
+    public ResponseStatus approveUpload(List<ApproveRecordDTO> approveRecordList) {
+        logger.info("审批单信息保存开始,数据推送条数:【{}】", approveRecordList.size());
+        ApproveRecordInfo approveRecordInfo = new ApproveRecordInfo();
+        try {
+            if (!ObjectUtils.isEmpty(approveRecordList)) {
+                //审批单信息处理
+                approveRecordList.forEach(
+                        approveRecord -> {
+
+                            try {
+                                BeanUtils.copyProperties(approveRecord, approveRecordInfo);
+                                approveRecordInfo.setBusinessCode(approveRecord.getProcessNo());
+                                approveRecordInfo.setIsDeleted(YesNoEnum.NO.getValue());
+                                approveRecordInfo.setCreateUser(approveRecord.getApplicantIdcard());
+                                approveRecordInfo.setCreateTime(DateUtils.parseDate(approveRecord.getApplyTime(), DateUtils.DATE_FORMAT_19));
+                                approveRecordInfo.setProcessTitle(approveRecord.getApproveTitle());
+                                approveRecordInfo.setTaskName("结束");
+                                approveRecordInfo.setTaskCode("end");
+                                approveRecordMapper.insert(approveRecordInfo);
+                                ApproveQueryRelation approveQueryRelation = new ApproveQueryRelation();
+                                BeanUtils.copyProperties(approveRecord, approveQueryRelation);
+                                approveQueryRelation.setIsDeleted(YesNoEnum.NO.getValue());
+                                approveQueryRelation.setCreateUser(approveRecord.getApplicantIdcard());
+                                approveQueryRelation.setCreateTime(DateUtils.parseDate(approveRecord.getApplyTime(), DateUtils.DATE_FORMAT_19));
+                                //保存关联关系
+                                approveQueryRelation.setApproveRecordId(approveRecordInfo.getId());
+                                approveQueryRelationMapper.insert(approveQueryRelation);
+                                //审批单包含流转记录处理
+                                if (!ObjectUtils.isEmpty(approveRecord.getApproveCirculationList())) {
+                                    approveRecord.getApproveCirculationList().forEach(
+                                            approveCirculation -> {
+                                                ApproveCirculationInfo approveCirculationInfo = new ApproveCirculationInfo();
+                                                BeanUtils.copyProperties(approveCirculation, approveCirculationInfo);
+                                                approveCirculationInfo.setApproveNo(approveRecordInfo.getApproveNo());
+                                                approveCirculationInfo.setIsDeleted(YesNoEnum.NO.getValue());
+                                                approveCirculationInfo.setCreateUser(approveCirculation.getOperateUserId());
+                                                approveCirculationInfo.setCreateTime(Timestamp.valueOf(approveCirculation.getOperateTime()));
+                                                //保存关联关系
+                                                approveCirculationInfo.setApproveRecordId(approveRecordInfo.getId());
+                                                approveCirculationMapper.insert(approveCirculationInfo);
+                                                //将审批记录转换成已办数据
+                                                ApproveActHiTask actHiTask = new ApproveActHiTask();
+                                                actHiTask.setApplyRecordId(approveRecordInfo.getId());
+                                                actHiTask.setBusinessCode(approveRecordInfo.getBusinessCode());
+                                                actHiTask.setBusinessName(approveRecordInfo.getProcessName());
+                                                actHiTask.setTaskId(approveCirculationInfo.getTaskId());
+                                                actHiTask.setTaskCode(approveCirculationInfo.getNodeNo());
+                                                actHiTask.setTaskName(approveCirculationInfo.getNodeName());
+                                                actHiTask.setOperateUserIdcard(approveCirculationInfo.getOperateUserId());
+                                                actHiTask.setOperateUserName(approveCirculationInfo.getOperateUserName());
+                                                actHiTask.setOperateType(approveCirculationInfo.getOperateType());
+                                                actHiTask.setProcessInstanceId(approveRecordInfo.getProcessInstanceId());
+                                                try {
+                                                    actHiTask.setOperateTime(DateUtils.parseDate(approveCirculationInfo.getOperateTime(), DateUtils.DATE_FORMAT_19));
+                                                } catch (ParseException e) {
+
+                                                }
+                                                actHiTask.setDeleted(YesNoEnum.NO.getValue());
+                                                approveActHiTaskMapper.insert(actHiTask);
+
+
+                                            }
+                                    );
+                                }
+                            } catch (ParseException e) {
+                                e.printStackTrace();
+                            }
+
+                        }
+                );
+            }
+        } catch (Exception ex) {
+            logger.error("保存审批单失败!");
+            throw new ApplicationException(ErrorCode.APPROVAL_UPLOAD_EXCEPTION.getCode(), ErrorCode.APPROVAL_UPLOAD_EXCEPTION.getMsg());
+        }
+        return ResponseDTO.newInstance(approveRecordInfo.getId());
+    }
+
+    @Override
+    public ApproveRecordInfo findByCreateTime(Date date, String appCode) {
+        //获取申请信息填充
+        LambdaQueryWrapper<ApproveRecordInfo> where = new LambdaQueryWrapper<>();
+        where.eq(ApproveRecordInfo::getAppCode, appCode);
+        where.between(ApproveRecordInfo::getCreateTime, DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date()));
+        where.orderByDesc(ApproveRecordInfo::getCreateTime);
+        List<ApproveRecordInfo> list = approveRecordMapper.selectList(where);
+        if (CollectionUtils.isEmpty(list)) {
+            return null;
+        }
+        return list.get(0);
+    }
+
+
+}

+ 6 - 5
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/FlowManageLogService.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/FlowManageLogServiceImpl.java

@@ -12,8 +12,6 @@ import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.commons.util.enums.EnumUtils;
 import com.dragonsoft.duceap.core.entity.page.PageImpl;
 import com.dragonsoft.duceap.core.search.Searchable;
-import com.dragonsoft.duceap.core.search.enums.SearchOperator;
-import com.dragonsoft.duceap.core.search.filter.Condition;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -32,14 +30,14 @@ import java.util.List;
  * @date 2021/5/27 19:43
  */
 @Service
-@Transactional
-public class FlowManageLogService  implements IFlowManageLogService {
+public class FlowManageLogServiceImpl implements IFlowManageLogService {
 
     @Autowired
     private FlowManageLogMapper flowManageLogMapper;
 
     /**
      * 审批流程管理日志列表
+     *
      * @param searchable
      * @return
      */
@@ -55,11 +53,12 @@ public class FlowManageLogService  implements IFlowManageLogService {
             logVo.setDisposeTypeStr(EnumUtils.enumOf(ManageDisposeTypeEnum.class, flowManageLog.getDisposeType()).getLabel());
             logVoList.add(logVo);
         }
-        return new PageImpl(logVoList, logPage.getPageable(), logPage.getTotalElements());
+        return new PageImpl<>(logVoList, logPage.getPageable(), logPage.getTotalElements());
     }
 
     /**
      * 审批流程管理日志详情
+     *
      * @param id
      * @return
      */
@@ -75,8 +74,10 @@ public class FlowManageLogService  implements IFlowManageLogService {
 
     /**
      * 日志保存
+     *
      * @param responseResult
      */
+    @Transactional
     @Override
     public void saveFlowManageLog(FlowManageLog responseResult) {
         flowManageLogMapper.insert(responseResult);

+ 2 - 3
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/OperateLogService.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/OperateLogServiceImpl.java

@@ -12,8 +12,6 @@ import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.commons.util.enums.EnumUtils;
 import com.dragonsoft.duceap.core.entity.page.PageImpl;
 import com.dragonsoft.duceap.core.search.Searchable;
-import com.dragonsoft.duceap.core.search.enums.SearchOperator;
-import com.dragonsoft.duceap.core.search.filter.Condition;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -33,13 +31,14 @@ import java.util.List;
  */
 @Service
 @Transactional
-public class OperateLogService implements IOperateLogService {
+public class OperateLogServiceImpl implements IOperateLogService {
 
     @Autowired
     private OperateLogMapper operateLogMapper;
 
     /**
      * 审批操作日志列表
+     *
      * @param searchable
      * @return
      */

+ 2 - 3
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/RequestLogService.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/RequestLogServiceImpl.java

@@ -12,8 +12,6 @@ import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.commons.util.enums.EnumUtils;
 import com.dragonsoft.duceap.core.entity.page.PageImpl;
 import com.dragonsoft.duceap.core.search.Searchable;
-import com.dragonsoft.duceap.core.search.enums.SearchOperator;
-import com.dragonsoft.duceap.core.search.filter.Condition;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -33,13 +31,14 @@ import java.util.List;
  */
 @Service
 @Transactional
-public class RequestLogService implements IRequestLogService {
+public class RequestLogServiceImpl implements IRequestLogService {
 
     @Autowired
     private RequestLogMapper requestLogMapper;
 
     /**
      * 审批请求日志列表
+     *
      * @param searchable
      * @return
      */

+ 15 - 19
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/RiskLogService.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/RiskLogServiceImpl.java

@@ -4,12 +4,9 @@ import cn.hutool.core.bean.BeanUtil;
 import com.dragoninfo.dcuc.app.entity.ApplyInfo;
 import com.dragoninfo.dcuc.app.facade.IApplyInfoFacade;
 import com.dragoninfo.dcuc.duceap.enums.SchemeTypeEnum;
-import com.dragonsoft.dcuc.approve.enumresources.ApproveResultEnum;
 import com.dragonsoft.dcuc.approve.enumresources.LogReceiverEnum;
 import com.dragonsoft.dcuc.approve.mapper.RiskLogMapper;
-import com.dragonsoft.dcuc.approve.model.RequestLog;
 import com.dragonsoft.dcuc.approve.model.RiskLog;
-import com.dragonsoft.dcuc.approve.model.resp.RequestLogVo;
 import com.dragonsoft.dcuc.approve.model.resp.RiskLogVo;
 import com.dragonsoft.dcuc.approve.service.IRiskLogService;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
@@ -17,8 +14,6 @@ import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.commons.util.enums.EnumUtils;
 import com.dragonsoft.duceap.core.entity.page.PageImpl;
 import com.dragonsoft.duceap.core.search.Searchable;
-import com.dragonsoft.duceap.core.search.enums.SearchOperator;
-import com.dragonsoft.duceap.core.search.filter.Condition;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
@@ -39,11 +34,9 @@ import java.util.List;
  * @date 2021/5/27 19:43
  */
 @Service
-@Transactional
+public class RiskLogServiceImpl implements IRiskLogService {
 
-public class RiskLogService implements IRiskLogService {
-
-    private static final Logger logger = LoggerFactory.getLogger(RiskLogService.class);
+    private static final Logger logger = LoggerFactory.getLogger(RiskLogServiceImpl.class);
 
     @Autowired
     private RiskLogMapper riskLogMapper;
@@ -52,6 +45,7 @@ public class RiskLogService implements IRiskLogService {
 
     /**
      * 风险日志列表
+     *
      * @param searchable
      * @return
      */
@@ -64,29 +58,30 @@ public class RiskLogService implements IRiskLogService {
             RiskLogVo logVo = new RiskLogVo();
             BeanUtils.copyProperties(log, logVo);
             logVo.setRiskTypeStr(EnumUtils.enumOf(SchemeTypeEnum.class, log.getRiskType()).getLabel());
-            try{
+            try {
                 ApplyInfo applyInfo = applyInfoFacade.getAppByCode(log.getLogSender());
-                if (applyInfo != null){
+                if (applyInfo != null) {
                     logVo.setLogSenderStr(applyInfo.getApplyName());
                 }
 
                 String[] arr = logVo.getLogReceiver().split(",");
-                String logReceiverStr = "";
-                for (int i = 0; i < arr.length; i++){
-                    LogReceiverEnum receiverEnum = EnumUtils.enumOf(LogReceiverEnum.class, arr[i]);
-                    logReceiverStr += receiverEnum.getLabel() + ",";
+                StringBuilder logReceiverStr = new StringBuilder();
+                for (String s : arr) {
+                    LogReceiverEnum receiverEnum = EnumUtils.enumOf(LogReceiverEnum.class, s);
+                    logReceiverStr.append(receiverEnum.getLabel()).append(",");
                 }
-                logVo.setLogReceiverStr(logReceiverStr.substring(0, logReceiverStr.length()-1));
-            }catch (Exception e){
-                logger.info("日志发送方、接收方转换异常");
+                logVo.setLogReceiverStr(logReceiverStr.substring(0, logReceiverStr.length() - 1));
+            } catch (Exception e) {
+                logger.error("日志发送方、接收方转换异常", e);
             }
             logVoList.add(logVo);
         }
-        return new PageImpl(logVoList, logPage.getPageable(), logPage.getTotalElements());
+        return new PageImpl<>(logVoList, logPage.getPageable(), logPage.getTotalElements());
     }
 
     /**
      * 风险日志详情
+     *
      * @param id
      * @return
      */
@@ -99,6 +94,7 @@ public class RiskLogService implements IRiskLogService {
         return ResponseDTO.newInstance(logVo);
     }
 
+    @Transactional
     @Override
     public void saveRiskLog(RiskLog riskLog) {
         riskLogMapper.insert(riskLog);

+ 21 - 10
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/RiskSchemeService.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/RiskSchemeServiceImpl.java

@@ -1,17 +1,14 @@
 package com.dragonsoft.dcuc.approve.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.dragoninfo.dcuc.duceap.enums.SchemeStatusEnum;
 import com.dragoninfo.dcuc.duceap.enums.SchemeTypeEnum;
 import com.dragonsoft.dcuc.approve.enumresources.YesNoEnum;
 import com.dragonsoft.dcuc.approve.mapper.RiskLogMapper;
 import com.dragonsoft.dcuc.approve.mapper.RiskSchemeMapper;
-import com.dragonsoft.dcuc.approve.model.ApproveCirculationInfo;
-import com.dragonsoft.dcuc.approve.model.RequestLog;
 import com.dragonsoft.dcuc.approve.model.RiskLog;
 import com.dragonsoft.dcuc.approve.model.RiskScheme;
-import com.dragonsoft.dcuc.approve.model.resp.RequestLogVo;
 import com.dragonsoft.dcuc.approve.model.resp.RiskSchemeVo;
 import com.dragonsoft.dcuc.approve.service.IRiskSchemeService;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
@@ -20,7 +17,6 @@ import com.dragonsoft.duceap.base.utils.UserContextUtils;
 import com.dragonsoft.duceap.commons.util.enums.EnumUtils;
 import com.dragonsoft.duceap.core.search.Searchable;
 import com.dragonsoft.duceap.core.search.enums.SearchOperator;
-import com.dragonsoft.duceap.core.search.filter.Condition;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -41,8 +37,7 @@ import java.util.List;
  * @date 2021/5/27 19:43
  */
 @Service
-@Transactional
-public class RiskSchemeService implements IRiskSchemeService {
+public class RiskSchemeServiceImpl implements IRiskSchemeService {
 
     @Autowired
     private RiskSchemeMapper riskSchemeMapper;
@@ -52,12 +47,14 @@ public class RiskSchemeService implements IRiskSchemeService {
 
     /**
      * 风险方案列表
+     *
      * @param searchable
      * @return
      */
     @Override
     public Page<RiskSchemeVo> queryRiskSchemeList(Searchable searchable) {
-        searchable.addSort(Sort.Direction.DESC, "createTime");
+        searchable.addSort(Sort.Direction.DESC, "updateTime");
+
         searchable.addSearchFilter("isDeleted", SearchOperator.eq, YesNoEnum.NO.getValue());
         Page<RiskScheme> page = riskSchemeMapper.pagingBySearchable(searchable);
         List<RiskSchemeVo> logVoList = new ArrayList<>();
@@ -72,18 +69,19 @@ public class RiskSchemeService implements IRiskSchemeService {
             riskSchemeVo.setRiskNum(riskNum != null ? riskNum : 0);
             logVoList.add(riskSchemeVo);
         }
-        return new PageImpl(logVoList, page.getPageable(), page.getTotalElements());
+        return new PageImpl<>(logVoList, page.getPageable(), page.getTotalElements());
     }
 
     /**
      * 风险方案详情
+     *
      * @param id
      * @return
      */
     @Override
     public ResponseStatus riskSchemeDetail(String id) {
         RiskScheme riskScheme = riskSchemeMapper.selectById(id);
-        if (riskScheme == null){
+        if (riskScheme == null) {
             return ResponseStatus.fail("风险方案详情不存在");
         }
         RiskSchemeVo riskSchemeVo = new RiskSchemeVo();
@@ -95,9 +93,11 @@ public class RiskSchemeService implements IRiskSchemeService {
 
     /**
      * 风险方案修改
+     *
      * @param riskSchemeVo
      * @return
      */
+    @Transactional
     @Override
     public ResponseStatus riskSchemeUpdate(RiskSchemeVo riskSchemeVo) {
         RiskScheme riskScheme = riskSchemeMapper.selectById(riskSchemeVo.getId());
@@ -113,9 +113,11 @@ public class RiskSchemeService implements IRiskSchemeService {
 
     /**
      * 风险方案删除
+     *
      * @param id
      * @return
      */
+    @Transactional
     @Override
     public ResponseStatus riskSchemeDelete(String id) {
         RiskScheme riskScheme = riskSchemeMapper.selectById(id);
@@ -125,4 +127,13 @@ public class RiskSchemeService implements IRiskSchemeService {
         riskSchemeMapper.updateById(riskScheme);
         return ResponseStatus.success();
     }
+
+    @Override
+    public RiskScheme selectEnableSchemeByType(SchemeTypeEnum schemeTypeEnum) {
+        LambdaQueryWrapper<RiskScheme> lambdaQueryWrapper = Wrappers.lambdaQuery();
+        lambdaQueryWrapper.eq(RiskScheme::getSchemeType, schemeTypeEnum.getValue())
+                .eq(RiskScheme::getSchemeStatus, SchemeStatusEnum.ENABLE.code);
+
+        return riskSchemeMapper.selectOne(lambdaQueryWrapper);
+    }
 }

+ 3 - 3
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/TaskAssignRecordService.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/TaskAssignRecordServiceImpl.java

@@ -18,17 +18,17 @@ import org.springframework.transaction.annotation.Transactional;
  * @date 2021/2/3 19:43
  */
 @Service
-@Transactional
 @EnableAsync
-public class TaskAssignRecordService implements ITaskAssignRecordService {
+public class TaskAssignRecordServiceImpl implements ITaskAssignRecordService {
 
-    private static final Logger logger = LoggerFactory.getLogger(TaskAssignRecordService.class);
+    private static final Logger logger = LoggerFactory.getLogger(TaskAssignRecordServiceImpl.class);
 
 
     @Autowired
     private TaskAssignRecordMapper taskAssignRecordMapper;
 
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void insertTaskAssignRecord(TaskAssignRecord assignRecord) {
         taskAssignRecordMapper.insert(assignRecord);

+ 23 - 22
approve-core-service/target/classes/application.yml → approve-core-service/src/main/resources/application-base.yml

@@ -1,20 +1,9 @@
 spring:
-
   datasource:
-#    username: jzpt_bu
-#    password: dragon
-#    driver-class-name: com.mysql.jdbc.Driver
-#    url: jdbc:mysql://192.168.120.142:3306/approve?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
-
     username: dcuc
     password: 123
     driver-class-name: com.mysql.jdbc.Driver
-    url: jdbc:mysql://10.254.10.31:3306/approve_tjdsj_1.0?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
-
-    #    username: DCUC2_GD
-    #    password: dragon
-    #    driver-class-name: oracle.jdbc.driver.OracleDriver
-    #    url: jdbc:oracle:thin:@192.168.6.120:1521:orcl
+    url: jdbc:mysql://10.254.10.31:3306/approve_tjdsj_1.0?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
     druid:
       filters: sqlaudit
   application:
@@ -31,6 +20,22 @@ spring:
     jedis:
       pool:
         max-active: 10
+  kafka:
+    #kafka消费者配置
+    consumer:
+      bootstrap-servers: 192.168.10.20:9093
+      enable-auto-commit: true
+      auto-commit-interval: 1000
+      group-id: serviceGroup
+      max-poll-records: 500
+      security:
+        protocol: PLAINTEXT
+      fetch-max-wait: 300000
+      auto-offset-reset: earliest
+      sasl:
+        mechanism: PLAIN
+      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
+      value-deserializer: org.apache.kafka.common.serialization.ByteArrayDeserializer
 server:
   port: 13180
 management:
@@ -58,8 +63,10 @@ duceap:
     audit:
       enabled: true
     sqlaudit:
-      output: kafka
+      output: event
       exclude-tables: T_LOG_*
+      dbout:
+        enabled: false
   license:
     enabled: false
     dataCacheMethod: apollo
@@ -75,25 +82,19 @@ duceap:
       url: 192.168.10.30:8880/duceap-duwf-core
   swagger:
     enabled: true
-    packagePath: com.dragonsoft.dcuc.approve
+    packagePath: com.dragonsoft.dcuc.approve.api.facade
 approve:
   app-code: Y-120000000000-0043
   workflow:
     processTypeCode: approve
   kxPeopleList: 371082197703267600
   kafka:
+    enable: true
     app-key: dcuc69000787
     app-secret: dcuc01494668
     auth-service-apply-topic: 10000027
     kafka-servers: http://192.168.10.20:9981/dcms-manager
-apollo:
-  bootstrap:
-    enabled: false #是否启用apollo
-    namespaces: application, dragonsoft.approve-common #命名空间,默认application
-  cluster: default #集群,默认default
-  meta: http://192.168.10.27:8080 #配置中心地址(服务端)
-  # 取消placeholder的自动更新功能(默认true)
-  autoUpdateInjectedSpringProperties: false
+    approve-log-topic: 10000034
 logging:
   level:
     com.baomidou.mybatisplus: debug

+ 12 - 114
approve-core-service/src/main/resources/application.yml

@@ -1,118 +1,16 @@
 spring:
-  datasource:
-    username: dcuc
-    password: 123
-    driver-class-name: com.mysql.jdbc.Driver
-    url: jdbc:mysql://10.254.10.31:3306/approve_tjdsj_1.0?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
-    #    username: DCUC2_GD
-    #    password: dragon
-    #    driver-class-name: oracle.jdbc.driver.OracleDriver
-    #    url: jdbc:oracle:thin:@192.168.6.120:1521:orcl
-    druid:
-      filters: sqlaudit
-  application:
-    name: approve-core
-  cloud:
-    nacos:
-      discovery:
-        # 配置nacos地址
-        server-addr: 127.0.0.1:8848
-  redis:
-    host: 127.0.0.1
-    port: 6379
-    password:
-    jedis:
-      pool:
-        max-active: 10
-  kafka:
-      #kafka消费者配置
-    consumer:
-      bootstrap-servers: 192.168.10.20:9093
-      enable-auto-commit: true
-      auto-commit-interval: 1000
-      group-id: serviceGroup
-      max-poll-records: 500
-      security:
-        protocol: PLAINTEXT
-      fetch-max-wait: 300000
-      auto-offset-reset: earliest
-      sasl:
-        mechanism: PLAIN
-      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
-      value-deserializer: org.apache.kafka.common.serialization.ByteArrayDeserializer
-server:
-  port: 13180
-management:
-  endpoints:
-    web:
-      exposure:
-        include: '*'
-mybatis-plus:
-  mapper-locations: classpath:mapping/*Mapper.xml
-  global-config:
-    db-config:
-      logic-delete-value: 1
-      logic-not-delete-value: 0
-duceap:
-  flyway:
-    # 是否执行flyway
-    enabled: true
-    # 执行flyway路径
-    locations: classpath:/config/mysql
-  mybatis-plus:
-    map-camel-case-to-underscore: true
-  auditlog:
-    login:
-      enabled: true
-    audit:
-      enabled: true
-    sqlaudit:
-      output: event
-      exclude-tables: T_LOG_*
-      dbout:
-        enabled: false
-  license:
-    enabled: false
-    dataCacheMethod: apollo
-  apollo:
-    client:
-      host: http://192.168.10.27:8070 #配置中心地址(portal端)
-  # 工作流
-  workflow:
-    enabled: true
-    client:
-      type: http
-    http:
-      url: 192.168.10.30:8880/duceap-duwf-core
-  swagger:
-    enabled: true
-    packagePath: com.dragonsoft.dcuc.approve.api.facade
-approve:
-  app-code: Y-120000000000-0043
-  workflow:
-    processTypeCode: approve
-  kxPeopleList: 371082197703267600
-  kafka:
-    enable: true
-    app-key: dcuc69000787
-    app-secret: dcuc01494668
-    auth-service-apply-topic: 10000027
-    kafka-servers: http://192.168.10.20:9981/dcms-manager
-    approve-log-topic: 10000034
+  profiles:
+    include: base
+#apollo配置
 apollo:
-  bootstrap:
-    enabled: false #是否启用apollo
-    namespaces: application, dragonsoft.approve-common #命名空间,默认application
-  cluster: default #集群,默认default
-  meta: http://192.168.10.27:8080 #配置中心地址(服务端)
-  # 取消placeholder的自动更新功能(默认true)
   autoUpdateInjectedSpringProperties: false
-logging:
-  level:
-    com.baomidou.mybatisplus: debug
-app:
-  approve:
-    KafkaDataSource: HW_DS_KAFKA
-  dcuc:
-    userServiceUrl: http://10.11.1.247:8888
+  bootstrap:
+    enabled: false
+    namespaces: application,dragonsoft.approve-common
+  cluster: default
+  meta: http://192.168.6.123:8080
 
+#duceap相关组件配置
+duceap:
+  license:
+    enabled: false

+ 12 - 0
approve-core-service/src/main/resources/config/mysql/V1_1_0005__alter_table.sql

@@ -0,0 +1,12 @@
+ALTER TABLE `t_approve_flow_manage_log`
+ADD COLUMN `PROCESS_INSTANCE_ID`  varchar(32) NULL COMMENT '流程实例ID' AFTER `business_code`;
+
+ALTER TABLE `t_approve_request_log`
+ADD COLUMN `PROCESS_INSTANCE_ID`  varchar(32) NULL COMMENT '流程实例ID' AFTER `business_code`;
+
+ALTER TABLE `t_approve_operate_log`
+ADD COLUMN `PROCESS_INSTANCE_ID`  varchar(32) NULL COMMENT '流程实例ID' AFTER `business_code`;
+
+
+ALTER TABLE `t_approve_risk_log`
+ADD COLUMN `PROCESS_INSTANCE_ID`  varchar(32) NULL COMMENT '流程实例ID' AFTER `business_code`;

+ 2 - 0
approve-core-service/src/main/resources/config/mysql/V1_1_0006__alter_table_modif_business_code.sql

@@ -0,0 +1,2 @@
+ALTER TABLE `t_approve_record_info`
+    CHANGE COLUMN `process_no` `business_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '流程编号' AFTER `id`;

+ 15 - 0
approve-core-service/src/main/resources/config/oracle/V1_1_0005__alter_table.sql

@@ -0,0 +1,15 @@
+ALTER TABLE "t_approve_flow_manage_log"
+ADD ( "PROCESS_INSTANCE_ID" VARCHAR2(32) NULL  ) ;
+COMMENT ON COLUMN "t_approve_flow_manage_log"."PROCESS_INSTANCE_ID" IS '流程实例ID';
+
+ALTER TABLE "t_approve_request_log"
+ADD ( "PROCESS_INSTANCE_ID" VARCHAR2(32) NULL  ) ;
+COMMENT ON COLUMN "t_approve_request_log"."PROCESS_INSTANCE_ID" IS '流程实例ID';
+
+ALTER TABLE "t_approve_operate_log"
+ADD ( "PROCESS_INSTANCE_ID" VARCHAR2(32) NULL  ) ;
+COMMENT ON COLUMN "t_approve_operate_log"."PROCESS_INSTANCE_ID" IS '流程实例ID';
+
+ALTER TABLE "t_approve_risk_log"
+ADD ( "PROCESS_INSTANCE_ID" VARCHAR2(32) NULL  ) ;
+COMMENT ON COLUMN "t_approve_risk_log"."PROCESS_INSTANCE_ID" IS '流程实例ID';

+ 1 - 0
approve-core-service/src/main/resources/config/oracle/V1_1_0006__alter_table_modif_business_code.sql

@@ -0,0 +1 @@
+ALTER TABLE `t_approve_record_info` rename process_no to business_code;

+ 5 - 3
approve-core-service/src/main/resources/mapping/ApproveActRunTaskMapper.xml

@@ -2,18 +2,20 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.dragonsoft.dcuc.approve.mapper.ApproveActRunTaskMapper">
 
-    <select id="totalCounts" parameterType="com.dragonsoft.duceap.core.search.Searchable" resultType="java.lang.Integer">
+    <select id="totalCounts" parameterType="com.dragonsoft.duceap.core.search.Searchable"
+            resultType="java.lang.Integer">
         select count(distinct a.id) FROM (select r.id, r.generate_time
         from t_approve_act_run_task r
         left join t_approve_act_run_identity_link l on
         r.task_id = l.task_id
         and r.process_instance_id = l.process_instance_id
-        WHERE ${searchable.whereClause} ${searchable.orderClause}
+        WHERE ${searchable.whereClause}
         ) a
     </select>
 
 
-    <select id="idListBySearchable" parameterType="com.dragonsoft.duceap.core.search.Searchable" resultType="java.lang.String">
+    <select id="idListBySearchable" parameterType="com.dragonsoft.duceap.core.search.Searchable"
+            resultType="java.lang.String">
         select distinct a.id FROM (select r.id, r.generate_time
         from t_approve_act_run_task r
         left join t_approve_act_run_identity_link l on

+ 0 - 39
approve-core-service/target/classes/META-INF/additional-spring-configuration-metadata.json

@@ -1,39 +0,0 @@
-{
-  "properties": [
-    {
-      "name": "apollo.meta",
-      "type": "java.lang.String",
-      "description": "apollo配置中心地址(服务端)."
-    },
-    {
-      "name": "app.id",
-      "type": "java.lang.String",
-      "description": "apollo appid,当app.id没有配置情况下将读取spring.application.name值."
-    },
-    {
-      "name": "apollo.bootstrap.namespaces",
-      "type": "java.lang.String",
-      "description": "apollo 命名空间,支持多个逗号隔开。按命名空间顺序依次加载,可用于公共配置."
-    },
-    {
-      "name": "apollo.bootstrap.enabled",
-      "type": "java.lang.String",
-      "description": "apollo 是否启用apollo."
-    },
-    {
-      "name": "apollo.cluster",
-      "type": "java.lang.String",
-      "description": "apollo 集群,默认default."
-    },
-    {
-      "name": "apollo.autoUpdateInjectedSpringProperties",
-      "type": "java.lang.String",
-      "description": "apollo 取消placeholder的自动更新功能(默认true)."
-    },
-    {
-      "name": "duceap.license.enabled",
-      "type": "java.lang.String",
-      "description": "License认证开关,默认开启."
-    }
-  ]
-}

+ 0 - 88
approve-core-service/target/classes/META-INF/spring-configuration-metadata.json

@@ -1,88 +0,0 @@
-{
-  "groups": [
-    {
-      "name": "approve",
-      "type": "com.dragonsoft.dcuc.approve.config.ApproveConfig",
-      "sourceType": "com.dragonsoft.dcuc.approve.config.ApproveConfig"
-    },
-    {
-      "name": "approve.kafka",
-      "type": "com.dragonsoft.dcuc.approve.config.KafkaConfig",
-      "sourceType": "com.dragonsoft.dcuc.approve.config.KafkaConfig"
-    }
-  ],
-  "properties": [
-    {
-      "name": "apollo.autoUpdateInjectedSpringProperties",
-      "type": "java.lang.String",
-      "description": "apollo 取消placeholder的自动更新功能(默认true)."
-    },
-    {
-      "name": "apollo.bootstrap.enabled",
-      "type": "java.lang.String",
-      "description": "apollo 是否启用apollo."
-    },
-    {
-      "name": "apollo.bootstrap.namespaces",
-      "type": "java.lang.String",
-      "description": "apollo 命名空间,支持多个逗号隔开。按命名空间顺序依次加载,可用于公共配置."
-    },
-    {
-      "name": "apollo.cluster",
-      "type": "java.lang.String",
-      "description": "apollo 集群,默认default."
-    },
-    {
-      "name": "apollo.meta",
-      "type": "java.lang.String",
-      "description": "apollo配置中心地址(服务端)."
-    },
-    {
-      "name": "app.id",
-      "type": "java.lang.String",
-      "description": "apollo appid,当app.id没有配置情况下将读取spring.application.name值."
-    },
-    {
-      "name": "approve.app-code",
-      "type": "java.lang.String",
-      "description": "审批应用Code",
-      "sourceType": "com.dragonsoft.dcuc.approve.config.ApproveConfig"
-    },
-    {
-      "name": "approve.kafka.app-key",
-      "type": "java.lang.String",
-      "description": "消息中心提供",
-      "sourceType": "com.dragonsoft.dcuc.approve.config.KafkaConfig"
-    },
-    {
-      "name": "approve.kafka.app-secret",
-      "type": "java.lang.String",
-      "description": "消息中心提供",
-      "sourceType": "com.dragonsoft.dcuc.approve.config.KafkaConfig"
-    },
-    {
-      "name": "approve.kafka.auth-service-apply-topic",
-      "type": "java.lang.String",
-      "description": "授权服务申请主题",
-      "sourceType": "com.dragonsoft.dcuc.approve.config.KafkaConfig"
-    },
-    {
-      "name": "approve.kafka.kafka-servers",
-      "type": "java.lang.String",
-      "description": "kafka地址,包括上下文,发送消息地址",
-      "sourceType": "com.dragonsoft.dcuc.approve.config.KafkaConfig"
-    },
-    {
-      "name": "approve.kx-people-list",
-      "type": "java.lang.String",
-      "description": "应用 key",
-      "sourceType": "com.dragonsoft.dcuc.approve.config.ApproveConfig"
-    },
-    {
-      "name": "duceap.license.enabled",
-      "type": "java.lang.String",
-      "description": "License认证开关,默认开启."
-    }
-  ],
-  "hints": []
-}

+ 0 - 62
approve-core-service/target/classes/approve-core-nosql.properties

@@ -1,62 +0,0 @@
-#\u9A71\u52A8\u65B9\u5F0F\uFF08\u9ED8\u8BA4\uFF09
-nosql.config.driver-provider = FILEPATH
-#nosql  jar\u8DEF\u5F84\uFF08\u6839\u636E\u5B9E\u9645\u4FEE\u6539\uFF09..\audit\audit-service\audit-rzcj\audit-rzcj-service\lib\   |  /opt/docker/audit-rzcj-service/conf
-#nosql.config.driver-path = /opt/docker/approve-core-service/conf
-nosql.config.driver-path = ../approve-service/approve-core/approve-core-service/lib/
-#\u56FA\u5B9A\u53C2\u6570\uFF08\u9ED8\u8BA4\uFF09
-nosql.config.data-source-provider = SPRING
-#Kafka\u914D\u7F6E\uFF08\u6839\u636E\u5B9E\u9645\u4FEE\u6539\uFF09\uFF0C\u5F00\u6E90\uFF1ADEF_DS_KAFKA\uFF0C\u534E\u4E3A\uFF1AHW_DS_KAFKA
-nosql.datasources[0].id = HW_DS_KAFKA
-#\u56FA\u5B9A\u53C2\u6570\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].type = KAFKA
-#Kafka\u7248\u672C\uFF08\u6839\u636E\u5B9E\u9645\u4FEE\u6539\uFF09
-nosql.datasources[0].version = 1.1.0
-#kafka\u96C6\u7FA4\u4F4D\u7F6E\uFF08\u6839\u636E\u5B9E\u9645\u4FEE\u6539\uFF09
-nosql.datasources[0].bootstrapServers = 10.254.22.16:21007,10.254.22.17:21007,10.254.22.18:21007,10.254.22.19:21007
-################################\u751F\u4EA7\u8005\u76F8\u5173\u914D\u7F6E#####################################
-#\u53EF\u9009[0,1,-1,all], all-\u8BBE\u7F6E\u5C06\u5BFC\u81F4\u8BB0\u5F55\u7684\u5B8C\u6574\u63D0\u4EA4\u963B\u585E\uFF0C\u6700\u6162\u7684\uFF0C\u4F46\u6700\u6301\u4E45\u7684\u8BBE\u7F6E\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].producer.acks = all
-#\u662F\u5426\u91CD\u8BD5\uFF0C\u5373\u4F7F\u8BBE\u7F6E\u4E3A0\uFF0C\u8BF7\u6C42\u5931\u8D25\uFF0C\u751F\u4EA7\u8005\u4E5F\u4F1A\u81EA\u52A8\u91CD\u8BD5\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].producer.retries = 0
-#\u6BCF\u6279\u53D1\u9001\u5927\u5C0F\uFF0C\u9ED8\u8BA416k\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].producer.batch_size = 16384
-#\u9ED8\u8BA4\u7ACB\u5373\u53D1\u9001\uFF0C\u8FD9\u91CC\u8FD9\u662F\u5EF6\u65F6\u6BEB\u79D2\u6570\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].producer.linger_ms = 1
-#\u751F\u4EA7\u8005\u7F13\u51B2\u5927\u5C0F\uFF0C\u5F53\u7F13\u51B2\u533A\u8017\u5C3D\u540E\uFF0C\u989D\u5916\u7684\u53D1\u9001\u8C03\u7528\u5C06\u88AB\u963B\u585E\u3002\u65F6\u95F4\u8D85\u8FC7max.block.ms\u5C06\u629B\u51FATimeoutException\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].producer.buffer_memory = 33554432
-#key\u5E8F\u5217\u5668\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].producer.key_serializer = org.apache.kafka.common.serialization.StringSerializer
-#value\u5E8F\u5217\u5668\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].producer.value_serializer = org.apache.kafka.common.serialization.StringSerializer
-################################\u6D88\u8D39\u8005\u76F8\u5173\u914D\u7F6E#####################################
-#\u4E3Atrue\u5C06\u5B9A\u671F\u63D0\u4EA4\u6D88\u8D39\u4F4D\u79FB\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].consumer.enable_auto_commit = true
-#\u81EA\u52A8\u63D0\u4EA4\u4F4D\u79FB\u5468\u671F\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].consumer.auto_commit_interval_ms = 1000
-#\u4ECE\u53D1\u9001\u8BF7\u6C42\u5230\u6536\u5230ACK\u786E\u8BA4\u7B49\u5F85\u7684\u6700\u957F\u65F6\u95F4\uFF08\u8D85\u65F6\u65F6\u95F4\uFF09\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].consumer.request_timeout_ms = 305000
-#\u68C0\u6D4B\u6D88\u8D39\u8005\u5FC3\u8DF3\uFF0C\u8D85\u8FC7\u8FD9\u4E2A\u503C\u4ECEkafka\u65AD\u5F00\uFF0C\u5F15\u53D1rebalance\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].consumer.session_timeout_ms = 60000
-#latest-\u504F\u79FB\u91CF\u7F6E\u4E3A\u6700\u65B0 earliest-\u504F\u79FB\u91CF\u7F6E\u4E3A\u6700\u65E9 none-\u6CA1\u627E\u5230\u4E4B\u524D\u4F4D\u7F6E\u5219\u629B\u5F02\u5E38\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].consumer.auto_offset_reset = latest
-#\u5206\u533A\u4E00\u6B21\u8FD4\u56DE\u6700\u5927\u5927\u5C0F\uFF0C\u9ED8\u8BA41048576\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].consumer.max_partition_fetch_bytes = 3145728
-#consumer\u4E00\u6B21poll\u8FD4\u56DE\u6700\u5927\u8BB0\u5F55\u6570\uFF08\u9ED8\u8BA4\uFF09
-nosql.datasources[0].consumer.max_poll_records = 1000
-nosql.datasources[0].consumer.key_deserializer = org.apache.kafka.common.serialization.StringDeserializer
-nosql.datasources[0].consumer.value_deserializer = org.apache.kafka.common.serialization.StringDeserializer
-################################\u5B89\u5168\u8BBF\u95EE\u76F8\u5173\u914D\u7F6E#####################################
-#\u5B89\u5168\u8BBF\u95EE\u914D\u7F6E\u5F00\u5173\uFF0C\u662F\u5426\u9700\u8981\u8BA4\u8BC1\uFF1A\u5F00\u6E90\uFF1A0\uFF0C\u534E\u4E3A\uFF1A1
-nosql.datasources[0].security.open = 1
-#\u4EE5\u4E0B\u53C2\u6570\u4F7F\u7528\u9ED8\u8BA4
-nosql.datasources[0].security.strategy = security1
-nosql.datasources[0].security.configs[0].name = security1
-nosql.datasources[0].security.configs[0].type = sasl/kerberos
-nosql.datasources[0].security.configs[0].files[0] = /kafka/security/kerberos/krb5.conf
-nosql.datasources[0].security.configs[0].files[1] = /kafka/security/kerberos/user.keytab
-nosql.datasources[0].security.configs[0].files[2] = /kafka/security/kerberos/kafka_client_jaas.conf
-nosql.datasources[0].security.configs[0].props.security_protocol = SASL_PLAINTEXT
-nosql.datasources[0].security.configs[0].props.sasl_mechanism = GSSAPI
-nosql.datasources[0].security.configs[0].props.sasl_kerberos_service_name = kafka
-nosql.datasources[0].security.configs[0].props.kerberos_domain_name = hadoop.hadoop.com
-

二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/ApproveApplication.class


二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/componet/DcucHelper.class


二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/config/ApproveConfig.class


二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/config/KafkaConfig.class


二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/config/NosqlConfig.class


二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/constants/OutterApisInfo.class


二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/controller/ApproveController.class


二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/controller/ReferenceController1.class


二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/event/ApproveEvent.class


二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/event/ApproveEventListener.class


二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/event/ApproveEventPublish.class


二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/facade/ApproveFacade.class


二进制
approve-core-service/target/classes/com/dragonsoft/dcuc/approve/facade/ReferenceFacade.class


部分文件因为文件数量过多而无法显示