浏览代码

Merge branch 'huangzqa-add-qm-audit-20210622' into 'develop'

Huangzqa add qm audit 20210622

See merge request dcuc-tjdsj/approve-core!42
黄资权 4 年之前
父节点
当前提交
35e45da8c1
共有 33 个文件被更改,包括 994 次插入324 次删除
  1. 45 0
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/QmApproveTypeEnum.java
  2. 0 46
      approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/YesNoEnum.java
  3. 4 17
      approve-core-service/pom.xml
  4. 15 16
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/api/facade/ApiApproveFacade.java
  5. 78 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/QmAuditBusiness.java
  6. 6 6
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/componet/DcucHelper.java
  7. 22 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/componet/SkipSslRestTemplateProvider.java
  8. 70 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/componet/SkipSslVerificationHttpRequestFactory.java
  9. 16 16
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/config/ApproveConfig.java
  10. 117 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/config/AsyncExecuteThreadPoolConfig.java
  11. 0 78
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/config/NosqlConfig.java
  12. 20 2
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/controller/ApproveController.java
  13. 5 6
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/controller/ReferenceController.java
  14. 0 17
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveEvent.java
  15. 0 17
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveEventListener.java
  16. 19 4
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveEventPublish.java
  17. 24 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveOperateLogEvent.java
  18. 67 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveOperateLogEventListener.java
  19. 24 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveRiskLogEvent.java
  20. 80 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveRiskLogEventListener.java
  21. 6 9
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/facade/ApproveFacade.java
  22. 25 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/vo/LogInfoMetaDTO.java
  23. 52 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/vo/QmOperateLogDTO.java
  24. 29 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/vo/QmRiskLogDTO.java
  25. 41 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/properties/ApproveProperties.java
  26. 4 2
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/properties/KafkaProperties.java
  27. 22 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/IApproveRecordService.java
  28. 124 26
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveLogHelperServiceImpl.java
  29. 28 0
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveRecordServiceImpl.java
  30. 39 44
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveServiceImpl.java
  31. 5 5
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveUploadServiceImpl.java
  32. 3 3
      approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/RiskSchemeServiceImpl.java
  33. 4 10
      approve-core-service/src/main/resources/application-base.yml

+ 45 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/QmApproveTypeEnum.java

@@ -0,0 +1,45 @@
+package com.dragonsoft.dcuc.approve.enumresources;
+
+import com.dragonsoft.duceap.base.enums.ICodeEnum;
+
+/**
+ * <p>
+ * 启明审批操作类型
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2021/7/1
+ */
+public enum QmApproveTypeEnum implements ICodeEnum {
+    /**
+     * 审批流程处理
+     */
+    FLOW("01", "审批流程处理"),
+    /**
+     * 审批请求处理
+     */
+    REQUEST("02", "审批请求处理"),
+    /**
+     * 审批操作处理
+     */
+    OPERATE("03", "审批操作处理");
+
+    private String value;
+
+    private String label;
+
+    QmApproveTypeEnum(String value, String label) {
+        this.value = value;
+        this.label = label;
+    }
+
+    @Override
+    public String getValue() {
+        return this.value;
+    }
+
+    @Override
+    public String getLabel() {
+        return this.label;
+    }
+}

+ 0 - 46
approve-api/src/main/java/com/dragonsoft/dcuc/approve/enumresources/YesNoEnum.java

@@ -1,46 +0,0 @@
-package com.dragonsoft.dcuc.approve.enumresources;
-
-import com.dragonsoft.duceap.base.enums.ICodeEnum;
-
-/**
- * 代码千万行,注释第一行,编码不规范,同事两行泪
- *
- * @author wangrs
- * @version 1.0
- * @date 2021/2/5 8:59
- */
-public enum YesNoEnum implements ICodeEnum {
-    YES("1", "是"),
-    NO("0", "否")
-    ;
-
-    public final String desc;
-    public final String code;
-
-    private YesNoEnum(String code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public String getValue() {
-        return this.code;
-    }
-
-    public String getLabel() {
-        return this.desc;
-    }
-
-    public static YesNoEnum getValue(String code) {
-        YesNoEnum[] var1 = values();
-        int var2 = var1.length;
-
-        for(int var3 = 0; var3 < var2; ++var3) {
-            YesNoEnum opEnum = var1[var3];
-            if (opEnum.getValue().equals(code)) {
-                return opEnum;
-            }
-        }
-
-        return null;
-    }
-}

+ 4 - 17
approve-core-service/pom.xml

@@ -54,17 +54,7 @@
             <groupId>com.dragonsoft</groupId>
             <artifactId>duceap-boot-starter-swagger</artifactId>
         </dependency>
-        <!--审计-->
-        <dependency>
-            <groupId>com.dragonsoft</groupId>
-            <artifactId>duceap-boot-starter-auditlog</artifactId>
-            <exclusions>
-                <exclusion>
-                    <artifactId>duceap-core-repository-jpa</artifactId>
-                    <groupId>com.dragonsoft</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
+
         <!--MyBatis-Plus-->
         <dependency>
             <groupId>com.dragonsoft</groupId>
@@ -99,17 +89,14 @@
             <groupId>org.springframework.kafka</groupId>
             <artifactId>spring-kafka</artifactId>
         </dependency>
+
+        <!--对接审计-->
         <dependency>
             <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>
+        <!--对接审计-->
 
         <!--测试-->
         <dependency>

+ 15 - 16
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/api/facade/ApiApproveFacade.java

@@ -6,13 +6,13 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.dragoninfo.dcuc.app.dto.ResourceRequestParamDTO;
 import com.dragoninfo.dcuc.app.facade.IResourceFacade;
-import com.dragonsoft.dcuc.approve.config.ApproveConfig;
 import com.dragonsoft.dcuc.approve.enumresources.ApproveResultEnum;
 import com.dragonsoft.dcuc.approve.enumresources.ApproveWorkFlowOprationEnum;
 import com.dragonsoft.dcuc.approve.facade.IApiApproveFacade;
 import com.dragonsoft.dcuc.approve.model.req.*;
 import com.dragonsoft.dcuc.approve.model.resp.ApproveWorkflowProcessTypeVo;
 import com.dragonsoft.dcuc.approve.model.resp.TaskOperateVo;
+import com.dragonsoft.dcuc.approve.properties.ApproveProperties;
 import com.dragonsoft.dcuc.approve.service.IApproveService;
 import com.dragonsoft.dcuc.approve.service.IApproveUploadService;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
@@ -23,7 +23,6 @@ import com.dragonsoft.duceap.duwf.api.model.ApproveMessage;
 import com.dragonsoft.duceap.duwf.api.model.TaskRequest;
 import com.dragonsoft.duceap.duwf.api.model.TraceProcessAndOverVo;
 import com.dragonsoft.duceap.duwf.api.model.WorkflowProcesstypeVo;
-import com.dragonsoft.duceap.workflow.enums.WorkFlowOprationEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -42,7 +41,7 @@ public class ApiApproveFacade implements IApiApproveFacade {
     private IApproveUploadService approveUploadService;
 
     @Autowired
-    private ApproveConfig approveConfig;
+    private ApproveProperties approveProperties;
 
     @Override
     public ResponseStatus save(ApprovalInfoDTO approvalInfoDTO) {
@@ -61,13 +60,13 @@ public class ApiApproveFacade implements IApiApproveFacade {
 
     @Override
     public ResponseStatus queryProcessTypeList() {
-        List<ApproveWorkflowProcessTypeVo> approveWorkflowProcessTypeVos = approveService.queryProcessTypeList(approveConfig.getAppCode());
+        List<ApproveWorkflowProcessTypeVo> approveWorkflowProcessTypeVos = approveService.queryProcessTypeList(approveProperties.getAppCode());
         return ResponseDTO.newInstance(approveWorkflowProcessTypeVos);
     }
 
     @Override
     public ResponseStatus queryProcessType(String processTypeCode) {
-        WorkflowProcesstypeVo workflowProcesstypeVo = approveService.queryProcessType(processTypeCode, approveConfig.getAppCode());
+        WorkflowProcesstypeVo workflowProcesstypeVo = approveService.queryProcessType(processTypeCode, approveProperties.getAppCode());
         return ResponseDTO.newInstance(workflowProcesstypeVo);
     }
 
@@ -87,12 +86,12 @@ public class ApiApproveFacade implements IApiApproveFacade {
      */
     @Override
     public ResponseStatus taskOut(String taskId) {
-        return approveService.taskOut(taskId, approveConfig.getAppCode());
+        return approveService.taskOut(taskId, approveProperties.getAppCode());
     }
 
     @Override
     public ResponseStatus taskOperate(String taskId, String pageType) {
-        TaskOperateVo taskOperateVo = approveService.taskOperate(taskId,pageType, approveConfig.getAppCode());
+        TaskOperateVo taskOperateVo = approveService.taskOperate(taskId, pageType, approveProperties.getAppCode());
         return ResponseDTO.newInstance(taskOperateVo);
     }
 
@@ -109,14 +108,14 @@ public class ApiApproveFacade implements IApiApproveFacade {
         userData.put("userName",approveOperateDTO.getUserName());
         userData.put("orgCode",approveOperateDTO.getOrgCode());
         userData.put("orgName",approveOperateDTO.getOrgName());
-        return approveService.approveOperate(approveOperateDTO.getTaskId(),approveOperateDTO.getProcessInstanceId(),
+        return approveService.approveOperate(approveOperateDTO.getTaskId(), approveOperateDTO.getProcessInstanceId(),
                 EnumUtils.enumOf(ApproveWorkFlowOprationEnum.class, approveOperateDTO.getOperateType()),
-                taskRequest,approveOperateDTO.getIdCard(),userData, approveOperateDTO.getActivitiHolderList(), approveConfig.getAppCode());
+                taskRequest, approveOperateDTO.getIdCard(), userData, approveOperateDTO.getActivitiHolderList(), approveProperties.getAppCode());
     }
 
     @Override
     public ResponseStatus processPic(String proInsId) {
-        TraceProcessAndOverVo traceProcessAndOverVo = approveService.processPic(proInsId, approveConfig.getAppCode());
+        TraceProcessAndOverVo traceProcessAndOverVo = approveService.processPic(proInsId, approveProperties.getAppCode());
         return ResponseDTO.newInstance(traceProcessAndOverVo);
     }
 
@@ -127,13 +126,13 @@ public class ApiApproveFacade implements IApiApproveFacade {
 
     @Override
     public ResponseStatus approveComments(String processInstanceId) {
-        ResponseStatus responseStatus = approveService.approveComments(processInstanceId, approveConfig.getAppCode());
+        ResponseStatus responseStatus = approveService.approveComments(processInstanceId, approveProperties.getAppCode());
         return responseStatus;
     }
 
     @Override
     public ResponseStatus processStatus(String processInstanceId) {
-        return approveService.approveStatus(processInstanceId, approveConfig.getAppCode());
+        return approveService.approveStatus(processInstanceId, approveProperties.getAppCode());
     }
 
     @Override
@@ -149,15 +148,15 @@ public class ApiApproveFacade implements IApiApproveFacade {
         String msg = "";
         for (int i = 0; i < approveRecordList.size(); i++){
             ApproveRecordDTO approveRecordDTO = approveRecordList.get(i);
-            if (approveRecordDTO.getAppCode().equals(approveConfig.getAppCode())){
+            if (approveRecordDTO.getAppCode().equals(approveProperties.getAppCode())) {
                 msg += "ApproveRecordDTO数组[" + i + "]的appCode参数不允许与审批中心一致,";
             }
-            if (StringUtils.isEmpty(approveRecordDTO.getApproveType())){
+            if (StringUtils.isEmpty(approveRecordDTO.getApproveType())) {
                 msg += "ApproveRecordDTO数组[" + i + "]的approveType参数不允许为空,";
-            }else {
+            } else {
                 //判断值是否为正确的码值
                 Map<String, String> resultMap = CodeInfoUtils.getCodeMapByCodeDicId("DM_APPROVE_TYPE");
-                if (StringUtils.isEmpty(resultMap.get(approveRecordDTO.getApproveType()))){
+                if (StringUtils.isEmpty(resultMap.get(approveRecordDTO.getApproveType()))) {
                     msg += "ApproveRecordDTO数组[" + i + "]的approveType参数输入不正确,";
                 }
             }

+ 78 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/QmAuditBusiness.java

@@ -0,0 +1,78 @@
+package com.dragonsoft.dcuc.approve.business;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.digest.DigestUtil;
+import com.dragonsoft.auditlog.collection.qmtj.LogSendComponent;
+import com.dragonsoft.auditlog.collection.qmtj.pojo.req.ApproveRegisterLog;
+import com.dragonsoft.auditlog.collection.qmtj.pojo.resp.BaseResponse;
+import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
+import com.dragonsoft.duceap.commons.util.json.JsonUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 启明审计业务类
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2021/7/5
+ */
+@Slf4j
+@Service
+public class QmAuditBusiness {
+
+
+    @Autowired
+    private LogSendComponent logSendComponent;
+
+    /**
+     * 注册信息
+     *
+     * @param approveRegisterLog 审批注册信息
+     * @return
+     */
+    public ResponseEntity<BaseResponse> registerInfo(ApproveRegisterLog approveRegisterLog) {
+        String checkSum = approveRegisterLog.getCheckSum();
+        if (StrUtil.isBlank(checkSum)) {
+            String sysType = approveRegisterLog.getSysType();
+            String sysId = approveRegisterLog.getSysId();
+            String companyId = approveRegisterLog.getCompanyId();
+            String orgcode = approveRegisterLog.getOrgcode();
+            String sysCode = approveRegisterLog.getSysCode();
+            String sysName = approveRegisterLog.getSysName();
+            String sysDesc = approveRegisterLog.getSysDesc();
+            String onlinetime = approveRegisterLog.getOnlinetime();
+            String trustIpList = approveRegisterLog.getTrustIpList();
+            String targetIpList = approveRegisterLog.getTargetIpList();
+
+            StringBuilder stringBuilder = new StringBuilder(sysType + "&");
+            if (StrUtil.isNotBlank(sysId)) {
+                stringBuilder.append(sysId).append("&");
+            }
+            stringBuilder.append(companyId).append("&").append(orgcode).append("&").append(sysCode)
+                    .append("&").append(sysName).append("&").append(sysDesc).append("&").append(onlinetime)
+                    .append("&").append(trustIpList).append("&").append(targetIpList);
+            checkSum = stringBuilder.toString();
+            log.info("register md5 source:{}", checkSum);
+
+            checkSum = DigestUtil.md5Hex(checkSum);
+            log.info("register md5 target:{}", checkSum);
+
+            approveRegisterLog.setCheckSum(checkSum);
+        }
+
+        log.info("Qm audit log register request:{}", JsonUtils.toJSONString(approveRegisterLog));
+        ResponseEntity<BaseResponse> responseEntity = logSendComponent.sendApproveRegisterLog(approveRegisterLog);
+        log.info("QM audit log register response:{}", JsonUtils.toJSONString(responseEntity));
+        return responseEntity;
+    }
+
+    public ResponseDTO<String> md5(String md5source) {
+        String md5Hex = DigestUtil.md5Hex(md5source);
+        ResponseDTO<String> responseDTO = ResponseDTO.newInstance(md5Hex);
+        return responseDTO;
+    }
+}

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

@@ -3,12 +3,12 @@ package com.dragonsoft.dcuc.approve.componet;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.dragonsoft.dcuc.approve.model.vo.PoliceResultVo;
+import com.dragonsoft.dcuc.approve.properties.ApproveProperties;
 import com.dragonsoft.duceap.core.entity.response.ResponseResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.*;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
@@ -28,13 +28,11 @@ public class DcucHelper {
     @Qualifier("hwRestTemplate")
     private RestTemplate hwRestTemplate;
 
-    /**
-     * 用户中心服务url
-     */
-    @Value("${app.dcuc.userServiceUrl:}")
-    private String userServiceUrl;
+    @Autowired
+    private ApproveProperties approveProperties;
 
     private static final String AUTH_POLICE_PATH = "dcuc/api/user/users/_search";
+
     /***
      * 获取警员列表
      * @param userToken
@@ -48,6 +46,8 @@ public class DcucHelper {
         HttpHeaders headers = buildHttpHeaders(appToken, userToken, MediaType.APPLICATION_JSON);
         //构建RestTemplate
         List<PoliceResultVo> policeMapList = null;
+
+        String userServiceUrl = approveProperties.getUserServiceUrl();
         try {
             HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(pageMap, headers);
             //远程调用用户中心接口

+ 22 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/componet/SkipSslRestTemplateProvider.java

@@ -0,0 +1,22 @@
+package com.dragonsoft.dcuc.approve.componet;
+
+import com.dragonsoft.auditlog.collection.qmtj.provider.IRestTemplateProvider;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2021/6/30
+ */
+public class SkipSslRestTemplateProvider implements IRestTemplateProvider {
+    @Override
+    public RestTemplate getRestTemplate() {
+        SkipSslVerificationHttpRequestFactory skipSslVerificationHttpRequestFactory
+                = new SkipSslVerificationHttpRequestFactory();
+
+        return new RestTemplate(skipSslVerificationHttpRequestFactory);
+    }
+}

+ 70 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/componet/SkipSslVerificationHttpRequestFactory.java

@@ -0,0 +1,70 @@
+package com.dragonsoft.dcuc.approve.componet;
+
+import org.springframework.http.client.SimpleClientHttpRequestFactory;
+
+import javax.net.ssl.*;
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.security.SecureRandom;
+import java.security.cert.X509Certificate;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2021/6/30
+ */
+public class SkipSslVerificationHttpRequestFactory extends SimpleClientHttpRequestFactory {
+
+    @Override
+    protected void prepareConnection(HttpURLConnection connection, String httpMethod) throws IOException {
+        if (connection instanceof HttpsURLConnection) {
+            prepareHttpsConnection((HttpsURLConnection) connection);
+        }
+        super.prepareConnection(connection, httpMethod);
+    }
+
+    private void prepareHttpsConnection(HttpsURLConnection connection) {
+        connection.setHostnameVerifier(new SkipSslVerificationHttpRequestFactory.SkipHostnameVerifier());
+        try {
+            connection.setSSLSocketFactory(createSslSocketFactory());
+        } catch (Exception ex) {
+            // Ignore
+        }
+    }
+
+    private SSLSocketFactory createSslSocketFactory() throws Exception {
+        SSLContext context = SSLContext.getInstance("TLS");
+        context.init(null, new TrustManager[]{new SkipSslVerificationHttpRequestFactory.SkipX509TrustManager()}, new SecureRandom());
+        return context.getSocketFactory();
+    }
+
+    private static class SkipHostnameVerifier implements HostnameVerifier {
+
+        @Override
+        public boolean verify(String s, SSLSession sslSession) {
+            return true;
+        }
+
+    }
+
+    private static class SkipX509TrustManager implements X509TrustManager {
+
+        @Override
+        public X509Certificate[] getAcceptedIssuers() {
+            return new X509Certificate[0];
+        }
+
+        @Override
+        public void checkClientTrusted(X509Certificate[] chain, String authType) {
+        }
+
+        @Override
+        public void checkServerTrusted(X509Certificate[] chain, String authType) {
+        }
+
+    }
+
+}

+ 16 - 16
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/config/ApproveConfig.java

@@ -1,24 +1,24 @@
 package com.dragonsoft.dcuc.approve.config;
 
-import lombok.Data;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.stereotype.Component;
+import com.dragonsoft.auditlog.collection.qmtj.provider.IRestTemplateProvider;
+import com.dragonsoft.dcuc.approve.componet.SkipSslRestTemplateProvider;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
 
 /**
- * @author wangrs
- * @date 2021/02/26
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2021/6/30
  */
-@Data
-@Component
-@ConfigurationProperties(prefix = "approve")
+@Configuration
 public class ApproveConfig {
-    /**
-     * 应用 key
-     */
-    private String kxPeopleList;
 
-    /**
-     * 审批应用Code
-     */
-    private String appCode;
+    @Bean
+    IRestTemplateProvider restTemplateProvider() {
+        return new SkipSslRestTemplateProvider();
+    }
+
 }

+ 117 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/config/AsyncExecuteThreadPoolConfig.java

@@ -0,0 +1,117 @@
+package com.dragonsoft.dcuc.approve.config;
+
+import com.dragonsoft.duceap.commons.util.json.JsonUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.AsyncConfigurer;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.ThreadPoolExecutor;
+
+/**
+ * @author huangzqa
+ * @date 2020/11/10
+ */
+@ConfigurationProperties(prefix = "dcuc.approve.async.pool")
+@EnableAsync
+@Configuration
+@Slf4j
+public class AsyncExecuteThreadPoolConfig implements AsyncConfigurer {
+
+    /**
+     * 核心线程池大小
+     */
+    private int corePoolSize = -1;
+
+    /**
+     * 最大线程数
+     */
+    private int maxPoolSize = -1;
+
+    /**
+     * 活跃时间
+     */
+    private int keepAliveSeconds = 60;
+
+    /**
+     * 队列容量
+     */
+    private int queueCapacity = -1;
+
+    @Override
+    public Executor getAsyncExecutor() {
+        initDefaultPoolProperties();
+
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        executor.setCorePoolSize(corePoolSize);
+        executor.setMaxPoolSize(maxPoolSize);
+        executor.setQueueCapacity(queueCapacity);
+        executor.setKeepAliveSeconds(keepAliveSeconds);
+        executor.setThreadNamePrefix("dcuc-async-task-");
+        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+        executor.setWaitForTasksToCompleteOnShutdown(true);
+        executor.setAwaitTerminationSeconds(60);
+        executor.initialize();
+
+        return executor;
+    }
+
+    @Override
+    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
+        return (ex, method, params) -> log.error("异步线程调用["
+                + method.getDeclaringClass().getName() + "." + method.getName()
+                + "]方法出错,参数:" + JsonUtils.toJSONString(params), ex);
+    }
+
+    /**
+     * 初始化默认线程池参数
+     **/
+    private void initDefaultPoolProperties() {
+        int procNum = Runtime.getRuntime().availableProcessors();
+        if (corePoolSize == -1) {
+            corePoolSize = procNum;
+        }
+        if (maxPoolSize == -1) {
+            maxPoolSize = 2 * procNum;
+        }
+        if (queueCapacity == -1) {
+            queueCapacity = 10 * maxPoolSize;
+        }
+    }
+
+    public int getCorePoolSize() {
+        return corePoolSize;
+    }
+
+    public void setCorePoolSize(int corePoolSize) {
+        this.corePoolSize = corePoolSize;
+    }
+
+    public int getMaxPoolSize() {
+        return maxPoolSize;
+    }
+
+    public void setMaxPoolSize(int maxPoolSize) {
+        this.maxPoolSize = maxPoolSize;
+    }
+
+    public int getKeepAliveSeconds() {
+        return keepAliveSeconds;
+    }
+
+    public void setKeepAliveSeconds(int keepAliveSeconds) {
+        this.keepAliveSeconds = keepAliveSeconds;
+    }
+
+    public int getQueueCapacity() {
+        return queueCapacity;
+    }
+
+    public void setQueueCapacity(int queueCapacity) {
+        this.queueCapacity = queueCapacity;
+    }
+}

+ 0 - 78
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/config/NosqlConfig.java

@@ -1,78 +0,0 @@
-package com.dragonsoft.dcuc.approve.config;
-
-import lombok.Data;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-/**
- * @author wangrs
- * @date 2021/02/23
- * 用户中心配置
- */
-@Data
-@Component
-public class NosqlConfig {
-
-
-    /**
-     * 发起权限申请的消息主题
-     */
-    @Value("${approve.create.topic:approve-form-apply}")
-    private String approveCreateTopic;
-
-    /**
-     * 审批结果推送的主题
-     */
-    @Value("${approve.result.topic:approve-result-push}")
-    private String approveResultTopic;
-
-
-    @Value("${app.approve.KafkaDataSource:DEF_DS_KAFKA}")
-    private String kafkaDataSource;
-
-    /*@Bean
-    public KafkaDriver bulidKafkaDriver() {
-        KafkaDriver kafkaDriver = (KafkaDriver) NosqlDriverManager.instance().get(kafkaDataSource);
-        return kafkaDriver;
-    }
-
-    @Bean
-    public ProduceComponent bulidProduceComponent(KafkaDriver kafkaDriver) {
-        return kafkaDriver.produceComponent();
-    }
-
-    @Bean
-    public ConsumeComponent bulidConsumeComponent(KafkaDriver kafkaDriver) {
-        return kafkaDriver.consumeComponent();
-    }
-
-    @Bean
-    public TopicAdmin bulidTopicAdmin(KafkaDriver kafkaDriver) {
-        return kafkaDriver.topicAdmin();
-    }
-
-
-    public String getApproveCreateTopic() {
-        return approveCreateTopic;
-    }
-
-    public void setApproveCreateTopic(String approveCreateTopic) {
-        this.approveCreateTopic = approveCreateTopic;
-    }
-
-    public String getApproveResultTopic() {
-        return approveResultTopic;
-    }
-
-    public void setApproveResultTopic(String approveResultTopic) {
-        this.approveResultTopic = approveResultTopic;
-    }
-
-    public String getKafkaDataSource() {
-        return kafkaDataSource;
-    }
-
-    public void setKafkaDataSource(String kafkaDataSource) {
-        this.kafkaDataSource = kafkaDataSource;
-    }*/
-}

+ 20 - 2
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/controller/ApproveController.java

@@ -1,10 +1,14 @@
 package com.dragonsoft.dcuc.approve.controller;
 
+import com.dragonsoft.auditlog.collection.qmtj.pojo.req.ApproveRegisterLog;
+import com.dragonsoft.auditlog.collection.qmtj.pojo.resp.BaseResponse;
+import com.dragonsoft.dcuc.approve.business.QmAuditBusiness;
 import com.dragonsoft.dcuc.approve.model.resp.TaskOperateVo;
 import com.dragonsoft.dcuc.approve.service.IApproveService;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
 /**
@@ -20,14 +24,28 @@ public class ApproveController {
     @Autowired
     private IApproveService approveService;
 
+    @Autowired
+    private QmAuditBusiness qmAuditBusiness;
+
     /**
      * 获取任务支持的操作对象信息
+     *
      * @param taskId
      * @return
      */
     @RequestMapping(value = "v1/task-operate/{taskId}/{pageType}", method = RequestMethod.GET)
-    ResponseStatus taskOperateForApprove(@PathVariable(value = "taskId") String taskId,@PathVariable(value = "pageType") String pageType,@RequestParam(value = "appCode") String appCode){
-        TaskOperateVo taskOperateVo = approveService.taskOperate(taskId,pageType, appCode);
+    ResponseStatus taskOperateForApprove(@PathVariable(value = "taskId") String taskId, @PathVariable(value = "pageType") String pageType, @RequestParam(value = "appCode") String appCode) {
+        TaskOperateVo taskOperateVo = approveService.taskOperate(taskId, pageType, appCode);
         return ResponseDTO.newInstance(taskOperateVo);
     }
+
+    @RequestMapping(value = "qm/register", method = RequestMethod.POST)
+    ResponseEntity<BaseResponse> qmRegister(@RequestBody ApproveRegisterLog approveRegisterLog) {
+        return qmAuditBusiness.registerInfo(approveRegisterLog);
+    }
+
+    @RequestMapping(value = "md5", method = RequestMethod.POST)
+    ResponseDTO<String> md5(@RequestBody String md5source) {
+        return qmAuditBusiness.md5(md5source);
+    }
 }

+ 5 - 6
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/controller/ReferenceController1.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/controller/ReferenceController.java

@@ -1,10 +1,8 @@
 package com.dragonsoft.dcuc.approve.controller;
 
-import com.dragonsoft.dcuc.approve.model.resp.TaskOperateVo;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
@@ -17,7 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @date 2021/2/24 10:33
  */
 @RestController
-public class ReferenceController1 {
+public class ReferenceController {
     /**
      * 工作流api请求url
      */
@@ -33,15 +31,16 @@ public class ReferenceController1 {
     /**
      * 工作流管理端上下文
      */
-    private static  final  String workflowManageContext = "/duceap-duwf-manager";
+    private static final String WORKFLOW_MANAGE_CONTEXT = "/duceap-duwf-manager";
 
     /**
      * 工作流管理端页面地址
+     *
      * @return
      */
     @RequestMapping(value = "v1/workflow-url", method = RequestMethod.GET)
-    ResponseStatus workflowUrl(){
-        String url = "http://" + workflowManageUrl.substring(0, workflowManageUrl.indexOf(":") + 1) + workflowManagePort + workflowManageContext;
+    ResponseStatus workflowUrl() {
+        String url = "http://" + workflowManageUrl.substring(0, workflowManageUrl.indexOf(":") + 1) + workflowManagePort + WORKFLOW_MANAGE_CONTEXT;
         return ResponseDTO.newInstance(url);
     }
 

+ 0 - 17
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveEvent.java

@@ -1,17 +0,0 @@
-package com.dragonsoft.dcuc.approve.event;
-
-import org.springframework.context.ApplicationEvent;
-
-/**
- * @author wangrs
- * @date 2021/01/22
- * @description 审批事件
- */
-public class ApproveEvent extends ApplicationEvent {
-    private static final long serialVersionUID = -8659999512606210496L;
-
-    public ApproveEvent(Object source) {
-        super(source);
-    }
-
-}

+ 0 - 17
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveEventListener.java

@@ -1,17 +0,0 @@
-package com.dragonsoft.dcuc.approve.event;
-
-import org.springframework.context.ApplicationListener;
-import org.springframework.stereotype.Component;
-
-/**
- * @author wangrs
- * @date 2021/01/22
- * @desc 事件监听类
- */
-@Component
-public class ApproveEventListener implements ApplicationListener<ApproveEvent> {
-    @Override
-    public void onApplicationEvent(ApproveEvent approveEvent) {
-        //todo add event handle detail
-    }
-}

+ 19 - 4
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveEventPublish.java

@@ -1,5 +1,7 @@
 package com.dragonsoft.dcuc.approve.event;
 
+import com.dragonsoft.dcuc.approve.model.vo.QmOperateLogDTO;
+import com.dragonsoft.dcuc.approve.model.vo.QmRiskLogDTO;
 import org.springframework.beans.BeansException;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
@@ -22,11 +24,24 @@ public class ApproveEventPublish implements ApplicationContextAware {
     }
 
     /**
-     * 异步发布事件
-     * @param event
+     * 异步发布风险日志事件
+     *
+     * @param qmRiskLogDTO
      */
     @Async
-    public void publishEvent(ApproveEvent event) {
-        applicationContext.publishEvent(event);
+    public void publishRiskLogEvent(QmRiskLogDTO qmRiskLogDTO) {
+        ApproveRiskLogEvent approveRiskLogEvent = new ApproveRiskLogEvent(qmRiskLogDTO);
+        applicationContext.publishEvent(approveRiskLogEvent);
+    }
+
+    /**
+     * 异步发布审批操作日志事件
+     *
+     * @param qmOperateLogDTO
+     */
+    @Async
+    public void publishOperateEvent(QmOperateLogDTO qmOperateLogDTO) {
+        ApproveOperateLogEvent approveOperateLogEvent = new ApproveOperateLogEvent(qmOperateLogDTO);
+        applicationContext.publishEvent(approveOperateLogEvent);
     }
 }

+ 24 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveOperateLogEvent.java

@@ -0,0 +1,24 @@
+package com.dragonsoft.dcuc.approve.event;
+
+import com.dragonsoft.dcuc.approve.model.vo.QmOperateLogDTO;
+import org.springframework.context.ApplicationEvent;
+
+/**
+ * @author wangrs
+ * @date 2021/01/22
+ * @description 审批事件
+ */
+public class ApproveOperateLogEvent extends ApplicationEvent {
+    private static final long serialVersionUID = -8659999512606210496L;
+
+    private QmOperateLogDTO qmOperateLogDTO;
+
+    public ApproveOperateLogEvent(QmOperateLogDTO qmOperateLogDTO) {
+        super(qmOperateLogDTO);
+        this.qmOperateLogDTO = qmOperateLogDTO;
+    }
+
+    public QmOperateLogDTO getQmOperateLogDTO() {
+        return qmOperateLogDTO;
+    }
+}

+ 67 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveOperateLogEventListener.java

@@ -0,0 +1,67 @@
+package com.dragonsoft.dcuc.approve.event;
+
+import com.dragonsoft.auditlog.collection.qmtj.LogSendComponent;
+import com.dragonsoft.auditlog.collection.qmtj.pojo.req.ApproveBusLog;
+import com.dragonsoft.dcuc.approve.enumresources.QmApproveTypeEnum;
+import com.dragonsoft.dcuc.approve.model.vo.QmOperateLogDTO;
+import com.dragonsoft.dcuc.approve.properties.ApproveProperties;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationListener;
+import org.springframework.stereotype.Component;
+
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangrs
+ * @date 2021/01/22
+ * @desc 事件监听类
+ */
+@Component
+public class ApproveOperateLogEventListener implements ApplicationListener<ApproveOperateLogEvent> {
+
+    /**
+     * 审批操作日志
+     */
+    public static final String LOG_TYPE = "009";
+
+    /**
+     * 是否扩大
+     */
+    public static final String EXTEND = "-1";
+
+    @Autowired
+    private LogSendComponent logSendComponent;
+    @Autowired
+    private ApproveProperties approveProperties;
+
+    @Override
+    public void onApplicationEvent(ApproveOperateLogEvent event) {
+        String auditSysId = approveProperties.getAuditSysId();
+
+        QmOperateLogDTO qmOperateLogDTO = event.getQmOperateLogDTO();
+        String applyApproveId = qmOperateLogDTO.getApplyApproveId();
+        String applyApproveIdCard = qmOperateLogDTO.getApplyApproveIdCard();
+        QmApproveTypeEnum qmApproveTypeEnum = qmOperateLogDTO.getQmApproveTypeEnum();
+
+        Date createTime = qmOperateLogDTO.getCreateTime();
+        String approveRecordId = qmOperateLogDTO.getApproveRecordId();
+        String approveInforceTime = (createTime.getTime() / 1000) + "";
+        String businessCode = qmOperateLogDTO.getBusinessCode();
+
+        ApproveBusLog approveBusLog = new ApproveBusLog();
+        approveBusLog.setApplyApproveId(applyApproveId);
+        approveBusLog.setApplyType(qmApproveTypeEnum.getValue());
+        approveBusLog.setBusinessType(businessCode);
+        approveBusLog.setApproveInforceTime(approveInforceTime);
+        approveBusLog.setApproveId(approveRecordId);
+        // todo 审批中心唯一标识怎么填?
+        approveBusLog.setCenterId(approveRecordId);
+        approveBusLog.setExtend(EXTEND);
+        approveBusLog.setApplyApproveIdCard(applyApproveIdCard);
+
+        List<ApproveBusLog> approveBusLogList = Collections.singletonList(approveBusLog);
+        logSendComponent.sendApproveBusLog(auditSysId, LOG_TYPE, approveBusLogList);
+    }
+}

+ 24 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveRiskLogEvent.java

@@ -0,0 +1,24 @@
+package com.dragonsoft.dcuc.approve.event;
+
+import com.dragonsoft.dcuc.approve.model.vo.QmRiskLogDTO;
+import org.springframework.context.ApplicationEvent;
+
+/**
+ * @author wangrs
+ * @date 2021/01/22
+ * @description 审批事件
+ */
+public class ApproveRiskLogEvent extends ApplicationEvent {
+    private static final long serialVersionUID = -8659999512606210496L;
+
+    private QmRiskLogDTO qmRiskLogDTO;
+
+    public ApproveRiskLogEvent(QmRiskLogDTO qmRiskLogDTO) {
+        super(qmRiskLogDTO);
+        this.qmRiskLogDTO = qmRiskLogDTO;
+    }
+
+    public QmRiskLogDTO getQmRiskLogDTO() {
+        return qmRiskLogDTO;
+    }
+}

+ 80 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/ApproveRiskLogEventListener.java

@@ -0,0 +1,80 @@
+package com.dragonsoft.dcuc.approve.event;
+
+import com.dragonsoft.auditlog.collection.qmtj.LogSendComponent;
+import com.dragonsoft.auditlog.collection.qmtj.pojo.req.ApproveRiskBusLog;
+import com.dragonsoft.dcuc.approve.model.RiskLog;
+import com.dragonsoft.dcuc.approve.model.vo.QmRiskLogDTO;
+import com.dragonsoft.dcuc.approve.properties.ApproveProperties;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationListener;
+import org.springframework.stereotype.Component;
+
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author wangrs
+ * @date 2021/01/22
+ * @desc 事件监听类
+ */
+@Component
+public class ApproveRiskLogEventListener implements ApplicationListener<ApproveRiskLogEvent> {
+
+    /**
+     * 审批风险日志
+     */
+    public static final String LOG_TYPE = "012";
+
+    /**
+     * 风险类型
+     */
+    public static final String MAIN_TYPE = "02";
+
+    /**
+     * 风险等级
+     */
+    public static final String LEVEL = "低";
+
+    @Autowired
+    private LogSendComponent logSendComponent;
+    @Autowired
+    private ApproveProperties approveProperties;
+
+    @Override
+    public void onApplicationEvent(ApproveRiskLogEvent event) {
+        QmRiskLogDTO qmRiskLogDTO = event.getQmRiskLogDTO();
+
+        RiskLog riskLog = qmRiskLogDTO.getRiskLog();
+        String riskType = riskLog.getRiskType();
+        String riskContent = riskLog.getRiskContent();
+        Date riskTime = riskLog.getRiskTime();
+        String idcard = riskLog.getIdcard();
+        String createUserName = riskLog.getCreateUserName();
+        String orgCode = riskLog.getOrgCode();
+        String orgName = riskLog.getOrgName();
+
+        String time = (riskTime.getTime() / 1000) + "";
+        String terminalIP = qmRiskLogDTO.getTerminalIP();
+
+        String auditSysId = approveProperties.getAuditSysId();
+        ApproveRiskBusLog approveRiskBusLog = new ApproveRiskBusLog();
+        approveRiskBusLog.setType(riskType);
+        approveRiskBusLog.setMainType(MAIN_TYPE);
+        approveRiskBusLog.setContent(riskContent);
+        approveRiskBusLog.setTime(time);
+        approveRiskBusLog.setLevel(LEVEL);
+        approveRiskBusLog.setUserIdCard(idcard);
+        approveRiskBusLog.setUserName(createUserName);
+        approveRiskBusLog.setTerminalIP(terminalIP);
+        approveRiskBusLog.setOperateOrgCode(orgCode);
+        approveRiskBusLog.setOperateOrgName(orgName);
+
+
+        List<ApproveRiskBusLog> approveBusLogList = Collections.singletonList(approveRiskBusLog);
+
+        //这里调用启明天津的包进行日志请求
+        logSendComponent.sendApproveRiskBusLog(auditSysId, LOG_TYPE, approveBusLogList);
+
+    }
+}

+ 6 - 9
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/facade/ApproveFacade.java

@@ -1,6 +1,5 @@
 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.model.req.AgentDTO;
@@ -11,8 +10,8 @@ import com.dragonsoft.dcuc.approve.model.resp.ApprovalInfoVo;
 import com.dragonsoft.dcuc.approve.model.resp.ApproveWorkflowProcessTypeVo;
 import com.dragonsoft.dcuc.approve.model.resp.PersonDataVo;
 import com.dragonsoft.dcuc.approve.model.resp.TaskVo;
+import com.dragonsoft.dcuc.approve.properties.ApproveProperties;
 import com.dragonsoft.dcuc.approve.service.IApproveService;
-import com.dragonsoft.duceap.auditlog.annotations.AuditLog;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.utils.UserContextUtils;
@@ -39,7 +38,7 @@ public class ApproveFacade implements IApproveFacade {
     private IApproveService approveService;
 
     @Autowired
-    private ApproveConfig approveConfig;
+    private ApproveProperties approveProperties;
 
     /**
      * 我的请求列表
@@ -85,7 +84,7 @@ public class ApproveFacade implements IApproveFacade {
      */
     @Override
     public ResponseStatus approveOperate(ApproveOperateDTO approveOperateDTO) {
-        if (!approveConfig.getAppCode().equals(approveOperateDTO.getAppCode())) {
+        if (!approveProperties.getAppCode().equals(approveOperateDTO.getAppCode())) {
             return ResponseStatus.fail("非审批中心流程数据无法调用此接口");
         }
 
@@ -122,7 +121,6 @@ public class ApproveFacade implements IApproveFacade {
      * @return
      */
     @Override
-    @AuditLog(module = "申请表单", actionType = "insert", methodVarExp = "#approvalInfoDTO")
     public ResponseStatus save(ApprovalInfoDTO approvalInfoDTO) {
         return approveService.save(approvalInfoDTO, new Date());
     }
@@ -134,7 +132,6 @@ public class ApproveFacade implements IApproveFacade {
      * @return
      */
     @Override
-    @AuditLog(module = "修改表单", actionType = "update", methodVarExp = "#approvalInfoDTO")
     public ResponseStatus update(ApprovalInfoUpdateDTO approvalInfoDTO) {
         return approveService.update(approvalInfoDTO);
     }
@@ -180,7 +177,7 @@ public class ApproveFacade implements IApproveFacade {
      */
     @Override
     public ResponseStatus processPicDetail(String proInsId, String statusType, String taskDefinitionId, String appCode) {
-        if (!approveConfig.getAppCode().equals(appCode)) {
+        if (!approveProperties.getAppCode().equals(appCode)) {
             return ResponseDTO.newInstance();
         }
         ActivityNodeInfoVo activityNodeInfoVo = approveService.processPicDetail(proInsId, statusType, taskDefinitionId);
@@ -222,7 +219,7 @@ public class ApproveFacade implements IApproveFacade {
      */
     @Override
     public ResponseStatus queryProcessTypeList() {
-        List<ApproveWorkflowProcessTypeVo> approveWorkflowProcessTypeVos = approveService.queryProcessTypeList(approveConfig.getAppCode());
+        List<ApproveWorkflowProcessTypeVo> approveWorkflowProcessTypeVos = approveService.queryProcessTypeList(approveProperties.getAppCode());
         return ResponseDTO.newInstance(approveWorkflowProcessTypeVos);
     }
 
@@ -234,7 +231,7 @@ public class ApproveFacade implements IApproveFacade {
      */
     @Override
     public ResponseStatus queryProcessType(String processTypeCode) {
-        WorkflowProcesstypeVo workflowProcesstypeVo = approveService.queryProcessType(processTypeCode, approveConfig.getAppCode());
+        WorkflowProcesstypeVo workflowProcesstypeVo = approveService.queryProcessType(processTypeCode, approveProperties.getAppCode());
         return ResponseDTO.newInstance(workflowProcesstypeVo);
     }
 

+ 25 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/vo/LogInfoMetaDTO.java

@@ -0,0 +1,25 @@
+package com.dragonsoft.dcuc.approve.model.vo;
+
+import lombok.Data;
+
+/**
+ * <p>
+ * 日志信息
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2021/7/1
+ */
+@Data
+public class LogInfoMetaDTO {
+
+    private String logType;
+
+    private String taskKey;
+
+    private String flowKey;
+
+    private String processInstanceId;
+
+    private String terminalIP;
+}

+ 52 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/vo/QmOperateLogDTO.java

@@ -0,0 +1,52 @@
+package com.dragonsoft.dcuc.approve.model.vo;
+
+import com.dragonsoft.dcuc.approve.enumresources.QmApproveTypeEnum;
+import lombok.Builder;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2021/6/24
+ */
+@Builder
+@Data
+public class QmOperateLogDTO {
+
+    /**
+     * 审批类型
+     */
+    private QmApproveTypeEnum qmApproveTypeEnum;
+
+    /**
+     * 审批单号
+     */
+    private String approveRecordId;
+
+    /**
+     * 申请人ID
+     */
+    private String applyApproveId;
+
+    /**
+     * 提请审批身份证
+     */
+    private String applyApproveIdCard;
+
+    /**
+     * 流程标识
+     */
+    private String businessCode;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+
+}

+ 29 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/model/vo/QmRiskLogDTO.java

@@ -0,0 +1,29 @@
+package com.dragonsoft.dcuc.approve.model.vo;
+
+import com.dragonsoft.dcuc.approve.model.RiskLog;
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * <p>
+ * 启明风险日志
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2021/6/24
+ */
+@Builder
+@Data
+public class QmRiskLogDTO {
+
+    /**
+     * 风险日志
+     */
+    private RiskLog riskLog;
+
+    /**
+     * 终端IP
+     */
+    private String terminalIP;
+
+}

+ 41 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/properties/ApproveProperties.java

@@ -0,0 +1,41 @@
+package com.dragonsoft.dcuc.approve.properties;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author wangrs
+ * @date 2021/02/26
+ */
+@Data
+@Component
+@ConfigurationProperties(prefix = "approve")
+public class ApproveProperties {
+    /**
+     * 工作流
+     */
+    Workflow workflow;
+    /**
+     * 应用 key
+     */
+    private String kxPeopleList;
+    /**
+     * 审批应用Code
+     */
+    private String appCode;
+    /**
+     * 在审计中心注册的SysId
+     */
+    private String auditSysId;
+    /**
+     * 用户中心地址
+     */
+    private String userServiceUrl;
+
+    @Data
+    public static class Workflow {
+        private String processTypeCode = "approve";
+    }
+
+}

+ 4 - 2
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/config/KafkaConfig.java → approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/properties/KafkaProperties.java

@@ -1,4 +1,4 @@
-package com.dragonsoft.dcuc.approve.config;
+package com.dragonsoft.dcuc.approve.properties;
 
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -10,7 +10,9 @@ import org.springframework.stereotype.Component;
 @Data
 @Component
 @ConfigurationProperties(prefix = "approve.kafka")
-public class KafkaConfig {
+public class KafkaProperties {
+
+    private Boolean enable;
     /**
      * 授权服务申请主题
      */

+ 22 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/IApproveRecordService.java

@@ -0,0 +1,22 @@
+package com.dragonsoft.dcuc.approve.service;
+
+import com.dragonsoft.dcuc.approve.model.ApproveRecordInfo;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2021/7/1
+ */
+public interface IApproveRecordService {
+
+    /**
+     * 获取审批信息
+     *
+     * @param approveRecordId 审批记录单号
+     * @return
+     */
+    ApproveRecordInfo getOne(String approveRecordId);
+}

+ 124 - 26
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveLogHelperServiceImpl.java

@@ -9,16 +9,21 @@ import com.dragoninfo.dcuc.duceap.enums.ManageDisposeTypeEnum;
 import com.dragoninfo.dcuc.duceap.enums.OperateDisposeTypeEnum;
 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.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.enumresources.QmApproveTypeEnum;
+import com.dragonsoft.dcuc.approve.event.ApproveEventPublish;
 import com.dragonsoft.dcuc.approve.mapper.ApproveCirculationMapper;
 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.model.vo.LogInfoMetaDTO;
+import com.dragonsoft.dcuc.approve.model.vo.QmOperateLogDTO;
+import com.dragonsoft.dcuc.approve.model.vo.QmRiskLogDTO;
+import com.dragonsoft.dcuc.approve.properties.ApproveProperties;
+import com.dragonsoft.dcuc.approve.properties.KafkaProperties;
 import com.dragonsoft.dcuc.approve.service.*;
 import com.dragonsoft.duceap.base.exception.ApplicationException;
 import com.dragonsoft.duceap.commons.util.UUIDUtils;
@@ -56,7 +61,7 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
     @Autowired
     private KafkaServer kafkaService;
     @Autowired
-    private KafkaConfig kafkaConfig;
+    private KafkaProperties kafkaProperties;
 
     @Autowired
     private IFlowManageLogService flowManageLogService;
@@ -69,15 +74,22 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
     private WorkflowClientFactory workflowClientFactory;
 
     @Autowired
-    private ApproveConfig approveConfig;
+    private ApproveProperties approveProperties;
 
     @Autowired
     private IRiskLogService riskLogService;
     @Autowired
     private ApproveCirculationMapper approveCirculationMapper;
 
+    @Autowired
+    private ApproveEventPublish approveEventPublish;
+
     @Autowired
     private IRiskSchemeService riskSchemeService;
+
+    @Autowired
+    private IApproveRecordService approveRecordService;
+
     /**
      * 日志类型字符串
      */
@@ -154,7 +166,9 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
         requestLog.setProcessInstanceId(processInstanceId);
         //发送审批请求日志到消息中心
         logger.info("=====发送批申请请求日志-发起消息,消息体为:{}====", JSON.toJSONString(requestLog));
-        sendInfo(JSON.toJSONString(requestLog), "审批请求日志", LogTypeEnum.REQUEST_LOG.getValue(), taskKey, flowKey, processInstanceId);
+
+        sendInfo(JSON.toJSONString(requestLog), "审批请求日志", LogTypeEnum.REQUEST_LOG.getValue(), taskKey, flowKey,
+                processInstanceId, logDto.getCreateIp());
         return requestLog;
     }
 
@@ -193,7 +207,7 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
         //发送审批操作日志消息
         logger.info("=====发送审批操作日志消息,消息体为:{}====", JSON.toJSONString(operateLog));
         sendInfo(JSON.toJSONString(operateLog), "审批操作日志", LogTypeEnum.OPERATE_LOG.getValue(),
-                taskKey, flowKey, processInstanceId);
+                taskKey, flowKey, processInstanceId, dto.getCreateIp());
         return operateLog;
     }
 
@@ -221,15 +235,25 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
         String taskKey = map.get("taskKey");
         String flowKey = map.get("flowKey");
         String processInstanceId = map.get("processInstanceId");
+        String terminalIP = map.get("terminalIP");
+
+        LogInfoMetaDTO logInfoMetaDTO = new LogInfoMetaDTO();
+        logInfoMetaDTO.setLogType(logType);
+        logInfoMetaDTO.setTaskKey(taskKey);
+        logInfoMetaDTO.setFlowKey(flowKey);
+        logInfoMetaDTO.setProcessInstanceId(processInstanceId);
+        logInfoMetaDTO.setTerminalIP(terminalIP);
+
+
         switch (EnumUtils.enumOf(LogTypeEnum.class, logType)) {
             case MANAGE_LOG:
-                saveManageLog(messageInfoDTO.getContent(), processInstanceId);
+                saveManageLog(messageInfoDTO.getContent(), logInfoMetaDTO);
                 break;
             case REQUEST_LOG:
-                saveRequestLog(messageInfoDTO.getContent(), taskKey, flowKey, processInstanceId);
+                saveRequestLog(messageInfoDTO.getContent(), logInfoMetaDTO);
                 break;
             case OPERATE_LOG:
-                saveOperateLog(messageInfoDTO.getContent(), taskKey, flowKey, processInstanceId);
+                saveOperateLog(messageInfoDTO.getContent(), logInfoMetaDTO);
                 break;
             default:
                 break;
@@ -254,13 +278,15 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
      * @param orgCode           操作者机构code
      * @param createTime        创建时间
      * @param processInstanceId 流程实例ID
+     * @param terminalIP        操作者IP
      */
     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, String processInstanceId) {
+                             Date createTime, String processInstanceId,
+                             String terminalIP) {
 
         try {
             //开始节点直接返回
@@ -294,7 +320,7 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
                                         title, operateIdcard, createUserName,
                                         applyIdcard, orgName, orgCode,
                                         createTime, riskScheme.getSchemeType(),
-                                        approveRecordId, processInstanceId);
+                                        approveRecordId, processInstanceId, terminalIP);
                             }
 
                         }
@@ -329,7 +355,7 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
                                         title, operateIdcard, createUserName,
                                         applyIdcard, orgName, orgCode,
                                         createTime, riskScheme.getSchemeType(),
-                                        approveRecordId, processInstanceId);
+                                        approveRecordId, processInstanceId, terminalIP);
                             }
                         }
 
@@ -362,14 +388,15 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
      * @param riskType          风险类型
      * @param approveRecordId   申请单id
      * @param processInstanceId 实例ID
+     * @param terminalIP        操作者IP
      */
     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,
-                             String processInstanceId) {
+                             String processInstanceId, String terminalIP) {
         RiskLog riskLog = new RiskLog();
-        riskLog.setLogSender(approveConfig.getAppCode());
+        riskLog.setLogSender(approveProperties.getAppCode());
         riskLog.setLogReceiver(LogReceiverEnum.AUDIT_SERVICE.getValue() + "," + LogReceiverEnum.SECURITY_POLICY_SERVICE.getValue());
         riskLog.setRiskType(riskType);
         riskLog.setRiskTime(createTime);
@@ -386,6 +413,11 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
         riskLog.setCreateTime(createTime);
         riskLog.setProcessInstanceId(processInstanceId);
 
+        QmRiskLogDTO build = QmRiskLogDTO.builder().riskLog(riskLog)
+                .terminalIP(terminalIP)
+                .build();
+        approveEventPublish.publishRiskLogEvent(build);
+
         riskLogService.saveRiskLog(riskLog);
     }
 
@@ -394,18 +426,40 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
      *
      * @param content
      */
-    private void saveOperateLog(String content, String taskKey, String flowKey,
-                                String processInstanceId) {
+    private void saveOperateLog(String content, LogInfoMetaDTO logInfoMetaDTO) {
+
+        String taskKey = logInfoMetaDTO.getTaskKey();
+        String flowKey = logInfoMetaDTO.getFlowKey();
+        String processInstanceId = logInfoMetaDTO.getProcessInstanceId();
+        String terminalIP = logInfoMetaDTO.getTerminalIP();
         OperateLog entity = JSONObject.parseObject(content, OperateLog.class);
         entity.setProcessInstanceId(processInstanceId);
         operateLogService.saveOperateLog(entity);
 
+        String approveRecordId = entity.getApproveRecordId();
+        ApproveRecordInfo approveRecordInfo = approveRecordService.getOne(approveRecordId);
+        String applicantIdcard = approveRecordInfo.getApplicantIdcard();
+        String businessCode = entity.getBusinessCode();
+        Date createTime = entity.getCreateTime();
+
         buildRiskLog(LogTypeEnum.OPERATE_LOG, taskKey, flowKey, entity.getIdcard(),
                 entity.getCreateUser(), entity.getApproveRecordId(),
                 entity.getBusinessCode(), entity.getCreateIp(),
                 entity.getTitle(), entity.getCreateUserName(),
                 entity.getOrgName(), entity.getOrgCode(),
-                entity.getCreateTime(), processInstanceId);
+                entity.getCreateTime(), processInstanceId, terminalIP);
+
+        QmOperateLogDTO qmOperateLogDTO = QmOperateLogDTO.builder()
+                .qmApproveTypeEnum(QmApproveTypeEnum.OPERATE)
+                .approveRecordId(approveRecordId)
+                .applyApproveId(applicantIdcard)
+                .applyApproveIdCard(applicantIdcard)
+                .businessCode(businessCode)
+                .createTime(createTime)
+                .build();
+
+        approveEventPublish.publishOperateEvent(qmOperateLogDTO);
+
     }
 
     /**
@@ -413,7 +467,12 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
      *
      * @param content
      */
-    private void saveRequestLog(String content, String taskKey, String flowKey, String processInstanceId) {
+    private void saveRequestLog(String content, LogInfoMetaDTO logInfoMetaDTO) {
+        String taskKey = logInfoMetaDTO.getTaskKey();
+        String flowKey = logInfoMetaDTO.getFlowKey();
+        String processInstanceId = logInfoMetaDTO.getProcessInstanceId();
+        String terminalIP = logInfoMetaDTO.getTerminalIP();
+
         RequestLog entity = JSONObject.parseObject(content, RequestLog.class);
         entity.setProcessInstanceId(processInstanceId);
         requestLogService.saveRequestLog(entity);
@@ -423,7 +482,24 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
                 entity.getBusinessCode(), entity.getCreateIp(),
                 entity.getTitle(), entity.getCreateUserName(),
                 entity.getOrgName(), entity.getOrgCode(),
-                entity.getCreateTime(), processInstanceId);
+                entity.getCreateTime(), processInstanceId, terminalIP);
+
+        String approveRecordId = entity.getApproveRecordId();
+        ApproveRecordInfo approveRecordInfo = approveRecordService.getOne(approveRecordId);
+        String applicantIdcard = approveRecordInfo.getApplicantIdcard();
+        String businessCode = entity.getBusinessCode();
+        Date createTime = entity.getCreateTime();
+
+        QmOperateLogDTO qmOperateLogDTO = QmOperateLogDTO.builder()
+                .qmApproveTypeEnum(QmApproveTypeEnum.REQUEST)
+                .approveRecordId(approveRecordId)
+                .applyApproveId(applicantIdcard)
+                .applyApproveIdCard(applicantIdcard)
+                .businessCode(businessCode)
+                .createTime(createTime)
+                .build();
+
+        approveEventPublish.publishOperateEvent(qmOperateLogDTO);
     }
 
     /**
@@ -431,10 +507,28 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
      *
      * @param content
      */
-    private void saveManageLog(String content, String processInstanceId) {
+    private void saveManageLog(String content, LogInfoMetaDTO logInfoMetaDTO) {
+        String processInstanceId = logInfoMetaDTO.getProcessInstanceId();
         FlowManageLog entity = JSONObject.parseObject(content, FlowManageLog.class);
         entity.setProcessInstanceId(processInstanceId);
         flowManageLogService.saveFlowManageLog(entity);
+
+        String approveRecordId = entity.getApproveRecordId();
+        String businessCode = entity.getBusinessCode();
+        Date createTime = entity.getCreateTime();
+        ApproveRecordInfo approveRecordInfo = approveRecordService.getOne(approveRecordId);
+        String applicantIdcard = approveRecordInfo.getApplicantIdcard();
+
+        QmOperateLogDTO qmOperateLogDTO = QmOperateLogDTO.builder()
+                .qmApproveTypeEnum(QmApproveTypeEnum.FLOW)
+                .approveRecordId(approveRecordId)
+                .applyApproveId(applicantIdcard)
+                .applyApproveIdCard(applicantIdcard)
+                .businessCode(businessCode)
+                .createTime(createTime)
+                .build();
+
+        approveEventPublish.publishOperateEvent(qmOperateLogDTO);
     }
 
 
@@ -517,8 +611,9 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
         //发送审批流程管理日志到消息中心
         logger.info("=====发送审批流程管理日志消息,消息体为:{}====", JSON.toJSONString(flowManageLog));
         //审批流程管理日志类型不会涉及到审批风险,故taskKey/flowKey可以为空
+        String createIp = logDto.getCreateIp();
         sendInfo(JSON.toJSONString(flowManageLog), "审批流程管理日志", LogTypeEnum.MANAGE_LOG.getValue(),
-                "", "", processInstanceId);
+                "", "", processInstanceId, logDto.getCreateIp());
         return flowManageLog;
 
     }
@@ -534,7 +629,9 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
      * @param flowKey           流程定义id
      * @param processInstanceId 实例ID
      */
-    public void sendInfo(String content, String title, String logType, String taskKey, String flowKey, String processInstanceId) {
+    public void sendInfo(String content, String title, String logType, String taskKey,
+                         String flowKey, String processInstanceId, String terminalIP) {
+
         RequestVo requestVo = new RequestVo();
         MessageInfoVo messageInfoVo = new MessageInfoVo();
         messageInfoVo.setTitle(title);
@@ -549,6 +646,7 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
         map.put("taskKey", taskKey);
         map.put("flowKey", flowKey);
         map.put("processInstanceId", processInstanceId);
+        map.put("terminalIP", terminalIP);
         List<Map<String, String>> infoSet = new ArrayList<>();
         infoSet.add(map);
         messageInfoVo.setInfoSet(infoSet);
@@ -557,10 +655,10 @@ public class ApproveLogHelperServiceImpl implements IApproveLogHelperService {
         messageInfoVos.add(messageInfoVo);
         //设置消息
         requestVo.setMessages(messageInfoVos);
-        requestVo.setTopic(kafkaConfig.getApproveLogTopic());
-        requestVo.setAppKey(kafkaConfig.getAppKey());
-        requestVo.setAppSecret(kafkaConfig.getAppSecret());
+        requestVo.setTopic(kafkaProperties.getApproveLogTopic());
+        requestVo.setAppKey(kafkaProperties.getAppKey());
+        requestVo.setAppSecret(kafkaProperties.getAppSecret());
         logger.info("====kafka开始推送结果,消息体为:{}", JSON.toJSONString(requestVo));
-        kafkaService.send(requestVo, kafkaConfig.getKafkaServers());
+        kafkaService.send(requestVo, kafkaProperties.getKafkaServers());
     }
 }

+ 28 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveRecordServiceImpl.java

@@ -0,0 +1,28 @@
+package com.dragonsoft.dcuc.approve.service.impl;
+
+import com.dragonsoft.dcuc.approve.mapper.ApproveRecordMapper;
+import com.dragonsoft.dcuc.approve.model.ApproveRecordInfo;
+import com.dragonsoft.dcuc.approve.service.IApproveRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author huangzqa
+ * @date 2021/7/1
+ */
+@Service
+public class ApproveRecordServiceImpl implements IApproveRecordService {
+
+    @Autowired
+    private ApproveRecordMapper approveRecordMapper;
+
+
+    @Override
+    public ApproveRecordInfo getOne(String approveRecordId) {
+        return approveRecordMapper.selectById(approveRecordId);
+    }
+}

+ 39 - 44
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveServiceImpl.java

@@ -17,12 +17,9 @@ import com.dragoninfo.dcuc.app.facade.IApplyInfoFacade;
 import com.dragoninfo.dcuc.duceap.enums.ManageDisposeTypeEnum;
 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.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;
@@ -34,6 +31,8 @@ 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.properties.ApproveProperties;
+import com.dragonsoft.dcuc.approve.properties.KafkaProperties;
 import com.dragonsoft.dcuc.approve.service.*;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
@@ -68,7 +67,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Sort;
 import org.springframework.scheduling.annotation.EnableAsync;
@@ -118,9 +116,9 @@ public class ApproveServiceImpl implements IApproveService {
     @Autowired
     private KafkaServer kafkaService;
     @Autowired
-    private KafkaConfig kafkaConfig;
+    private KafkaProperties kafkaProperties;
     @Autowired
-    private ApproveConfig approveConfig;
+    private ApproveProperties approveProperties;
     @Autowired
     private ITaskAssignRecordService taskAssignRecordService;
 
@@ -150,13 +148,6 @@ public class ApproveServiceImpl implements IApproveService {
     @Autowired
     private ApproveServiceImpl approveService;
 
-    /**
-     * 工作流审批流程类型编码
-     */
-    @Value("${approve.workflow.processTypeCode:approve}")
-    private String approveProcessTypeCode;
-
-
     /**
      * 我的请求列表
      *
@@ -169,7 +160,7 @@ public class ApproveServiceImpl implements IApproveService {
         searchable.addSort(Sort.Direction.DESC, "createTime");
         //默认查询审批应用
 //        searchable.addSearchFilter("appCode", SearchOperator.eq, approveConfig.getAppCode());
-        searchable.addSearchFilter("isDeleted", SearchOperator.eq, YesNoEnum.NO.getValue());
+        searchable.addSearchFilter("isDeleted", SearchOperator.eq, BooleanEnum.FALSE.getValue());
         //查询表单表数据
         Page<ApproveRecordInfo> applyInfoPage = approveRecordMapper.pagingBySearchable(searchable);
         List<ApprovalInfoVo> approvalInfoVoList = new ArrayList<>();
@@ -241,7 +232,7 @@ public class ApproveServiceImpl implements IApproveService {
             WorkflowProcesstypeVo workflowProcesstypeVo = null;
             try {
                 //调用工作流获取流程类型详情
-                workflowProcesstypeVo = queryProcessType(approvalInfoDTO.getProcessType(), approveConfig.getAppCode());
+                workflowProcesstypeVo = queryProcessType(approvalInfoDTO.getProcessType(), approveProperties.getAppCode());
             } catch (ApplicationException e) {
                 logger.info("流程类型标识码-Exception:【{}】", approvalInfoDTO.getProcessType());
                 throw new ApplicationException(ErrorCode.WORKFLOW_EXCEPTION.getCode(), ErrorCode.WORKFLOW_EXCEPTION.getMsg());
@@ -485,7 +476,7 @@ public class ApproveServiceImpl implements IApproveService {
         //默认非科信人员
         Boolean kxPeople = false;
         //TODO 判断当前登录人是否为科信人员,目前采取配置身份证号验证(按需求要求)
-        String kxList = approveConfig.getKxPeopleList();
+        String kxList = approveProperties.getKxPeopleList();
         logger.info("config kxList is :{}", kxList);
         if (StringUtils.isEmpty(kxList)) {
             return kxPeople;
@@ -750,7 +741,7 @@ public class ApproveServiceImpl implements IApproveService {
         approveCirculationInfo.setOperateTimeConsuming(String.valueOf(DateUtil.between(vo.getTaskHistoryDetailVo().getEndTime(), vo.getTaskHistoryDetailVo().getStartTime(), DateUnit.SECOND)));
         //TODO 电子签名内容待定,先设置个null
         approveCirculationInfo.setElectronicSignature(null);
-        approveCirculationInfo.setIsDeleted(YesNoEnum.NO.getValue());
+        approveCirculationInfo.setIsDeleted(BooleanEnum.FALSE.getValue());
         approveCirculationInfo.setCreateUser(userData.get("idCard"));
         approveCirculationInfo.setCreateTime(new Date());
         approveCirculationMapper.insert(approveCirculationInfo);
@@ -849,7 +840,7 @@ public class ApproveServiceImpl implements IApproveService {
      */
     @Override
     public TraceProcessAndOverVo processPic(String proInsId, String appCode) {
-        if (!approveConfig.getAppCode().equals(appCode)) {
+        if (!approveProperties.getAppCode().equals(appCode)) {
             return null;
         }
 
@@ -881,8 +872,12 @@ public class ApproveServiceImpl implements IApproveService {
      */
     @Override
     public List<ApproveWorkflowProcessTypeVo> queryProcessTypeList(String appCode) {
+        ApproveProperties.Workflow workflow = approveProperties.getWorkflow();
+
+        String processTypeCode = workflow.getProcessTypeCode();
+
         //根据流程类别code获取流程类别信息
-        WorkflowProcesstypeVo workflowProcesstypeVo = queryProcessType(approveProcessTypeCode, appCode);
+        WorkflowProcesstypeVo workflowProcesstypeVo = queryProcessType(processTypeCode, appCode);
         List<ApproveWorkflowProcessTypeVo> result = new ArrayList<>();
         if (null != workflowProcesstypeVo) {
             //根据流程类别id查询子类别
@@ -921,7 +916,7 @@ public class ApproveServiceImpl implements IApproveService {
      */
     @Override
     public WorkflowProcesstypeVo queryProcessType(String processTypeCode, String appCode) {
-        if (!approveConfig.getAppCode().equals(appCode)) {
+        if (!approveProperties.getAppCode().equals(appCode)) {
             return null;
         }
         //获取流程类别详情
@@ -952,7 +947,7 @@ public class ApproveServiceImpl implements IApproveService {
         //获取表单列表
         LambdaQueryWrapper<ApproveRecordInfo> where = Wrappers.lambdaQuery();
         where.eq(ApproveRecordInfo::getCreateUser, getCurrentUserId());
-        where.eq(ApproveRecordInfo::getIsDeleted, YesNoEnum.NO.getValue());
+        where.eq(ApproveRecordInfo::getIsDeleted, BooleanEnum.FALSE.getValue());
         return approveRecordMapper.selectCount(where);
 
     }
@@ -978,7 +973,7 @@ public class ApproveServiceImpl implements IApproveService {
                 return ResponseDTO.fail("申请单不存在");
             }
 
-            if (!approveConfig.getAppCode().equals(approvalInfo.getAppCode())) {
+            if (!approveProperties.getAppCode().equals(approvalInfo.getAppCode())) {
                 resultStr = ApproveResultEnum.FAIL.getValue();
                 failMsg = "第三方报送数据不允许删除";
                 return ResponseDTO.fail("第三方报送数据不允许删除");
@@ -1031,7 +1026,7 @@ public class ApproveServiceImpl implements IApproveService {
             //执行表单表逻辑删除
             LambdaUpdateWrapper<ApproveRecordInfo> updateWrapper = new LambdaUpdateWrapper<>();
             updateWrapper.eq(ApproveRecordInfo::getId, id);
-            updateWrapper.set(ApproveRecordInfo::getIsDeleted, YesNoEnum.YES.getValue());
+            updateWrapper.set(ApproveRecordInfo::getIsDeleted, BooleanEnum.TRUE.getValue());
             updateWrapper.set(ApproveRecordInfo::getFinalApprovalResult, ApproveResultEnum.DELETED.getValue());
             approveRecordMapper.update(null, updateWrapper);
             sendApproveResultMessage(approvalInfo.getProcessInstanceId(), approvalInfo.getMessageId(), ApproveWorkFlowOprationEnum.RECALL);
@@ -1039,13 +1034,13 @@ public class ApproveServiceImpl implements IApproveService {
             //删除所有已办
             LambdaUpdateWrapper<ApproveActHiTask> hiTaskLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
             hiTaskLambdaUpdateWrapper.eq(ApproveActHiTask::getApplyRecordId, id);
-            hiTaskLambdaUpdateWrapper.set(ApproveActHiTask::getDeleted, YesNoEnum.YES.getValue());
+            hiTaskLambdaUpdateWrapper.set(ApproveActHiTask::getDeleted, BooleanEnum.TRUE.getValue());
             approveActHiTaskMapper.update(null, hiTaskLambdaUpdateWrapper);
 
             //删除所有待办
             LambdaUpdateWrapper<ApproveActRunTask> runTaskLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
             runTaskLambdaUpdateWrapper.eq(ApproveActRunTask::getApplyRecordId, id);
-            runTaskLambdaUpdateWrapper.set(ApproveActRunTask::getDeleted, YesNoEnum.YES.getValue());
+            runTaskLambdaUpdateWrapper.set(ApproveActRunTask::getDeleted,BooleanEnum.TRUE.getValue());
             approveActRunTaskMapper.update(null, runTaskLambdaUpdateWrapper);
         } catch (Exception e) {
             resultStr = ApproveResultEnum.FAIL.getValue();
@@ -1167,7 +1162,7 @@ public class ApproveServiceImpl implements IApproveService {
      */
     @Override
     public TaskOperateVo taskOperate(String taskId, String pageType, String appCode) {
-        if (!approveConfig.getAppCode().equals(appCode)) {
+        if (!approveProperties.getAppCode().equals(appCode)) {
             return new TaskOperateVo();
         }
 
@@ -1196,7 +1191,7 @@ public class ApproveServiceImpl implements IApproveService {
      */
     @Override
     public ResponseStatus taskOut(String taskId, String appCode) {
-        if (!appCode.equals(approveConfig.getAppCode())) {
+        if (!appCode.equals(approveProperties.getAppCode())) {
             return ResponseDTO.newInstance(new ArrayList<>());
         }
         List<TaskOutgoingVo> list = buildTaskOutgoingVoList(taskId);
@@ -1586,16 +1581,16 @@ public class ApproveServiceImpl implements IApproveService {
         messageInfoVo.setUserSystemCode(businessSystem);
         messageInfoVo.setUserName("审批系统");
         messageInfoVo.setMessageId(UUIDUtils.getUUID());
-        messageInfoVo.setInfoType(kafkaConfig.getAuthServiceApplyTopic());
+        messageInfoVo.setInfoType(kafkaProperties.getAuthServiceApplyTopic());
         List<MessageInfoVo> messageInfoVos = new ArrayList<>();
         messageInfoVos.add(messageInfoVo);
         //设置消息
         requestVo.setMessages(messageInfoVos);
-        requestVo.setTopic(kafkaConfig.getAuthServiceApplyTopic());
-        requestVo.setAppKey(kafkaConfig.getAppKey());
-        requestVo.setAppSecret(kafkaConfig.getAppSecret());
+        requestVo.setTopic(kafkaProperties.getAuthServiceApplyTopic());
+        requestVo.setAppKey(kafkaProperties.getAppKey());
+        requestVo.setAppSecret(kafkaProperties.getAppSecret());
         logger.info("====kafka开始推送结果,实例ID{}====,消息体为:{}", processInstanceId, JSON.toJSONString(requestVo));
-        kafkaService.send(requestVo, kafkaConfig.getKafkaServers());
+        kafkaService.send(requestVo, kafkaProperties.getKafkaServers());
     }
 
 
@@ -1708,14 +1703,14 @@ public class ApproveServiceImpl implements IApproveService {
         approveRecordInfo.setApplicantOrgName(approvalInfo.getApplicantOrgName());
         approveRecordInfo.setApplyTime(DateUtils.getTimeStr(approvalInfo.getCreateTime(), DateConst.HYPHEN_DISPLAY_TIME));
         try {
-            ApplyInfo applyInfo = applyInfoFacade.getAppByCode(approveConfig.getAppCode());
+            ApplyInfo applyInfo = applyInfoFacade.getAppByCode(approveProperties.getAppCode());
             if (applyInfo != null) {
                 approveRecordInfo.setAppName(applyInfo.getApplyName());
             }
         } catch (Exception e) {
             logger.info("调用app-service失败");
         }
-        approveRecordInfo.setAppCode(approveConfig.getAppCode());
+        approveRecordInfo.setAppCode(approveProperties.getAppCode());
         approveRecordInfo.setApproveContent(approvalInfo.getApplyContent());
         Map<String, String> accessResources = new HashMap<>();
         accessResources.put(approvalResourceInfo.getVisitorName(), approvalResourceInfo.getVisitResourceName());
@@ -1737,7 +1732,7 @@ public class ApproveServiceImpl implements IApproveService {
         approveRecordInfo.setTaskName(approvalInfo.getTaskName());
         approveRecordInfo.setMessageId(approvalInfo.getMessageId());
         approveRecordInfo.setOtherApplyContext(approvalInfo.getApplyContent());
-        approveRecordInfo.setIsDeleted(YesNoEnum.NO.getValue());
+        approveRecordInfo.setIsDeleted(BooleanEnum.FALSE.getValue());
         approveRecordInfo.setCreateUser(approvalInfo.getCreateUser());
         approveRecordInfo.setCreateTime(new Date());
         approveRecordInfo.setUpdateUser(approvalInfo.getUpdateUser());
@@ -1753,7 +1748,7 @@ public class ApproveServiceImpl implements IApproveService {
      * @return
      */
     private ApprovalInfo findApprovalInfo(String processInstanceId, String taskId) {
-        ApprovalInfo approvalInfo = getApproveRecordByInstanceId(processInstanceId, taskId, approveConfig.getAppCode());
+        ApprovalInfo approvalInfo = getApproveRecordByInstanceId(processInstanceId, taskId, approveProperties.getAppCode());
 
         return approvalInfo;
     }
@@ -1786,7 +1781,7 @@ public class ApproveServiceImpl implements IApproveService {
      */
     private String buildApproveNo() {
         String prefix = DateUtils.getTimeStr(new Date(), DateConst.DB_STORE_DATE);
-        ApproveRecordInfo approveRecordInfo = approveUploadService.findByCreateTime(new Date(), approveConfig.getAppCode());
+        ApproveRecordInfo approveRecordInfo = approveUploadService.findByCreateTime(new Date(), approveProperties.getAppCode());
         String no = "000";
         if (approveRecordInfo != null) {
             String approveNo = approveRecordInfo.getApproveNo();
@@ -1818,7 +1813,7 @@ public class ApproveServiceImpl implements IApproveService {
     private ApprovalInfo buildApprovalInfo(ApprovalInfoDTO approvalInfoDTO) {
         ApprovalInfo approvalInfo = new ApprovalInfo();
         BeanUtil.copyProperties(approvalInfoDTO, approvalInfo);
-        approvalInfo.setIsDeleted(YesNoEnum.NO.getValue());
+        approvalInfo.setIsDeleted(BooleanEnum.FALSE.getValue());
         approvalInfo.setCreateUser(StringUtils.isNotEmpty(approvalInfoDTO.getApplicantIdcard()) ? approvalInfoDTO.getApplicantIdcard() : getCurrentUserId());
         approvalInfo.setId(UUIDUtils.getUUID());
         approvalInfo.setCreateTime(new Date());
@@ -1911,7 +1906,7 @@ public class ApproveServiceImpl implements IApproveService {
             searchable.addSearchFilter("businessName", SearchOperator.like, processDefinitionNameCondition.getValue());
             searchable.removeSearchFilter("processDefinitionName", SearchOperator.like);
         }
-        searchable.addSearchFilter("deleted", SearchOperator.eq, YesNoEnum.NO.getValue());
+        searchable.addSearchFilter("deleted", SearchOperator.eq, BooleanEnum.FALSE.getValue());
         //获取已办列表
         Page<ApproveActHiTask> page = approveActHiTaskMapper.pagingBySearchable(searchable);
         List<TaskVo> list = new ArrayList<>();
@@ -1990,7 +1985,7 @@ public class ApproveServiceImpl implements IApproveService {
             approveActRunTask.setApplyRecordId(approvalInfo.getId());
             approveActRunTask.setBusinessCode(approvalInfo.getBusinessCode());
             approveActRunTask.setBusinessName(approvalInfo.getProcessName());
-            approveActRunTask.setDeleted(YesNoEnum.NO.getValue());
+            approveActRunTask.setDeleted(BooleanEnum.FALSE.getValue());
             approveActRunTask.setGenerateTime(now);
             approveActRunTask.setOperateType(WorkFlowOprationEnum.COMPLETE_AGREE.getValue());
             approveActRunTask.setProcessInstanceId(processInstanceVO.getProcessInstanceId());
@@ -2071,13 +2066,13 @@ public class ApproveServiceImpl implements IApproveService {
         Date now = new Date();
         LambdaQueryWrapper<ApproveActRunTask> where = new LambdaQueryWrapper<>();
         where.eq(ApproveActRunTask::getTaskId, taskId);
-        where.eq(ApproveActRunTask::getDeleted, YesNoEnum.NO.getValue());
+        where.eq(ApproveActRunTask::getDeleted, BooleanEnum.FALSE.getValue());
         ApproveActRunTask approveActRunTask = approveActRunTaskMapper.selectOne(where);
         logger.info("====获取到的待办任务为:{}====", approveActRunTask == null ? "null" : JSONObject.toJSONString(approveActRunTask));
         if (approveActRunTask != null) {
             logger.info("====step1: 在待办表中删除当前结点的待办信息====");
             //step1: 删除当前结点
-            approveActRunTask.setDeleted(YesNoEnum.YES.getValue());
+            approveActRunTask.setDeleted(BooleanEnum.TRUE.getValue());
             approveActRunTask.setOperateType(operateType);
             // 使用@TableLogic需要使用Delete才能删除
             approveActRunTaskMapper.deleteById(approveActRunTask);
@@ -2085,7 +2080,7 @@ public class ApproveServiceImpl implements IApproveService {
             logger.info("====step2: 把当前代办写入已办====");
             ApproveActHiTask actHiTask = new ApproveActHiTask();
             BeanUtil.copyProperties(approveActRunTask, actHiTask);
-            actHiTask.setDeleted(YesNoEnum.NO.getValue());
+            actHiTask.setDeleted(BooleanEnum.FALSE.getValue());
             actHiTask.setOperateTime(now);
             actHiTask.setId(UUIDUtils.getUUID());
             actHiTask.setOperateUserIdcard(operateUserIdcard);
@@ -2095,7 +2090,7 @@ public class ApproveServiceImpl implements IApproveService {
             //step3: 生成新的待办
             if (CollectionUtils.isNotEmpty(processInstanceVO.getTaskRunDetailVos())) {
                 for (TaskHistoryDetailVo todoTask : processInstanceVO.getTaskRunDetailVos()) {
-                    approveActRunTask.setDeleted(YesNoEnum.NO.getValue());
+                    approveActRunTask.setDeleted(BooleanEnum.FALSE.getValue());
                     approveActRunTask.setId(UUIDUtils.getUUID());
                     approveActRunTask.setTaskId(todoTask.getId());
                     approveActRunTask.setTaskName(todoTask.getName());

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

@@ -4,7 +4,6 @@ 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;
@@ -17,6 +16,7 @@ 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.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.exception.ApplicationException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -70,7 +70,7 @@ public class ApproveUploadServiceImpl implements IApproveUploadService {
                             try {
                                 BeanUtils.copyProperties(approveRecord, approveRecordInfo);
                                 approveRecordInfo.setBusinessCode(approveRecord.getProcessNo());
-                                approveRecordInfo.setIsDeleted(YesNoEnum.NO.getValue());
+                                approveRecordInfo.setIsDeleted(BooleanEnum.FALSE.getValue());
                                 approveRecordInfo.setCreateUser(approveRecord.getApplicantIdcard());
                                 approveRecordInfo.setCreateTime(DateUtils.parseDate(approveRecord.getApplyTime(), DateUtils.DATE_FORMAT_19));
                                 approveRecordInfo.setProcessTitle(approveRecord.getApproveTitle());
@@ -79,7 +79,7 @@ public class ApproveUploadServiceImpl implements IApproveUploadService {
                                 approveRecordMapper.insert(approveRecordInfo);
                                 ApproveQueryRelation approveQueryRelation = new ApproveQueryRelation();
                                 BeanUtils.copyProperties(approveRecord, approveQueryRelation);
-                                approveQueryRelation.setIsDeleted(YesNoEnum.NO.getValue());
+                                approveQueryRelation.setIsDeleted(BooleanEnum.FALSE.getValue());
                                 approveQueryRelation.setCreateUser(approveRecord.getApplicantIdcard());
                                 approveQueryRelation.setCreateTime(DateUtils.parseDate(approveRecord.getApplyTime(), DateUtils.DATE_FORMAT_19));
                                 //保存关联关系
@@ -92,7 +92,7 @@ public class ApproveUploadServiceImpl implements IApproveUploadService {
                                                 ApproveCirculationInfo approveCirculationInfo = new ApproveCirculationInfo();
                                                 BeanUtils.copyProperties(approveCirculation, approveCirculationInfo);
                                                 approveCirculationInfo.setApproveNo(approveRecordInfo.getApproveNo());
-                                                approveCirculationInfo.setIsDeleted(YesNoEnum.NO.getValue());
+                                                approveCirculationInfo.setIsDeleted(BooleanEnum.FALSE.getValue());
                                                 approveCirculationInfo.setCreateUser(approveCirculation.getOperateUserId());
                                                 approveCirculationInfo.setCreateTime(Timestamp.valueOf(approveCirculation.getOperateTime()));
                                                 //保存关联关系
@@ -115,7 +115,7 @@ public class ApproveUploadServiceImpl implements IApproveUploadService {
                                                 } catch (ParseException e) {
 
                                                 }
-                                                actHiTask.setDeleted(YesNoEnum.NO.getValue());
+                                                actHiTask.setDeleted(BooleanEnum.FALSE.getValue());
                                                 approveActHiTaskMapper.insert(actHiTask);
 
 

+ 3 - 3
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/RiskSchemeServiceImpl.java

@@ -4,7 +4,6 @@ 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.RiskLog;
@@ -13,6 +12,7 @@ import com.dragonsoft.dcuc.approve.model.resp.RiskSchemeVo;
 import com.dragonsoft.dcuc.approve.service.IRiskSchemeService;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.utils.UserContextUtils;
 import com.dragonsoft.duceap.commons.util.enums.EnumUtils;
 import com.dragonsoft.duceap.core.search.Searchable;
@@ -55,7 +55,7 @@ public class RiskSchemeServiceImpl implements IRiskSchemeService {
     public Page<RiskSchemeVo> queryRiskSchemeList(Searchable searchable) {
         searchable.addSort(Sort.Direction.DESC, "updateTime");
 
-        searchable.addSearchFilter("isDeleted", SearchOperator.eq, YesNoEnum.NO.getValue());
+        searchable.addSearchFilter("isDeleted", SearchOperator.eq, BooleanEnum.FALSE.getValue());
         Page<RiskScheme> page = riskSchemeMapper.pagingBySearchable(searchable);
         List<RiskSchemeVo> logVoList = new ArrayList<>();
         for (RiskScheme riskScheme : page.getContent()) {
@@ -123,7 +123,7 @@ public class RiskSchemeServiceImpl implements IRiskSchemeService {
         RiskScheme riskScheme = riskSchemeMapper.selectById(id);
         riskScheme.setDeleteTime(new Date());
         riskScheme.setDeleteUser(UserContextUtils.getCurrentUser() != null ? UserContextUtils.getCurrentUser().getIdcard() : "");
-        riskScheme.setIsDeleted(YesNoEnum.YES.getValue());
+        riskScheme.setIsDeleted(BooleanEnum.TRUE.getValue());
         riskSchemeMapper.updateById(riskScheme);
         return ResponseStatus.success();
     }

+ 4 - 10
approve-core-service/src/main/resources/application-base.yml

@@ -57,16 +57,6 @@ duceap:
     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
@@ -95,6 +85,7 @@ approve:
     auth-service-apply-topic: 10000027
     kafka-servers: http://192.168.10.20:9981/dcms-manager
     approve-log-topic: 10000034
+  audit-sys-id: test
 logging:
   level:
     com.baomidou.mybatisplus: debug
@@ -103,4 +94,7 @@ app:
     KafkaDataSource: HW_DS_KAFKA
   dcuc:
     userServiceUrl: http://10.11.1.247:8888
+  auditlog:
+    qmtj:
+      host-address: https://127.0.0.1:8443