Ver código fonte

GAB 对接 V1.1 241106

AA 7 meses atrás
pai
commit
d28e30c132

+ 13 - 6
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/req/v3/report/ReportApproveSyncBizApproveReqVO.java

@@ -33,15 +33,22 @@ public class ReportApproveSyncBizApproveReqVO {
     @ApiModelProperty(value = "任务类型编码")
     private String taskClass;
 
-    @NotNull
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+//    @NotNull
+//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+//    @ApiModelProperty(value = "任务有效期开始时间")
+//    private Date taskTermStart;
+//
+//    @NotNull
+//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+//    @ApiModelProperty(value = "任务有效期结束时间")
+//    private Date taskTermEnd;
+    
+    
     @ApiModelProperty(value = "任务有效期开始时间")
-    private Date taskTermStart;
+    private String taskTermStart;
 
-    @NotNull
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @ApiModelProperty(value = "任务有效期结束时间")
-    private Date taskTermEnd;
+    private String taskTermEnd;
 
     @NotBlank
     @ApiModelProperty(value = "任务状态(0废弃、1在用)")

+ 10 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/ICacheBusiness.java

@@ -2,8 +2,10 @@ package com.dragonsoft.dcuc.approve.business;
 
 import com.dragonsoft.dcuc.approve.model.dto.zerotrust.AppTokenInfoDTO;
 import com.dragonsoft.dcuc.approve.model.dto.zerotrust.UserTokenInfoDTO;
+import com.dragonsoft.dcuc.approve.model.req.v3.report.ReportApproveSyncBizGridReqVO;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -57,4 +59,12 @@ public interface ICacheBusiness {
      * @param action
      */
     void userTokenActionHandle(UserTokenInfoDTO tokenInfo, String action);
+    
+    /**
+     * 临时存储到redis
+     * @param reportApproveSyncBizGridReqVOs
+     */
+    void saveApproveGrid(String taskid, List<ReportApproveSyncBizGridReqVO> reportApproveSyncBizGridReqVOs);
+    
+    List<ReportApproveSyncBizGridReqVO> getApproveGrid(String taskid);
 }

+ 20 - 2
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/api/impl/ReportApprovalsBusinessImpl.java

@@ -5,6 +5,8 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+
+import com.alibaba.fastjson.JSON;
 import com.dragoninfo.dcuc.app.entity.ApplyInfo;
 import com.dragoninfo.dcuc.app.facade.IApplyInfoFacade;
 import com.dragoninfo.dcuc.common.utils.ResponseUtil;
@@ -36,10 +38,16 @@ import com.dragonsoft.duceap.commons.util.date.DateConst;
 import com.dragonsoft.duceap.commons.util.date.DateUtils;
 import com.dragonsoft.duceap.commons.util.enums.EnumUtils;
 import com.dragonsoft.duceap.commons.util.json.JsonUtils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -48,6 +56,8 @@ import java.util.*;
  */
 @Component
 public class ReportApprovalsBusinessImpl implements IReportApprovalsBusiness {
+	
+	Logger logger = LoggerFactory.getLogger(ReportApprovalsBusinessImpl.class);
 
     private IApplyInfoFacade applyInfoFacade;
 
@@ -124,6 +134,8 @@ public class ReportApprovalsBusinessImpl implements IReportApprovalsBusiness {
         if (ObjectUtil.isNull(approveTaskClass)) {
             return ZeroTrustMessageRespVO.requestErrorMessage(String.format("taskClass:%s 不存在", taskClass));
         }
+        
+        logger.info("====reportApprovals================接收参数:{}", JSON.toJSONString(reportApproveSyncReqVO));
 
         List<ReportApproveSyncBizGridReqVO> bizGridReqList = parseToReportApproveSyncBizGridReqVO(bizData);
 
@@ -281,12 +293,18 @@ public class ReportApprovalsBusinessImpl implements IReportApprovalsBusiness {
      */
     protected void setTaskInfo(ApproveRecordInfo approveRecordInfo, ReportApproveSyncBizApproveReqVO reportApproveSyncBizApproveReqVO) {
 
+        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
         if (ObjectUtil.isNotNull(reportApproveSyncBizApproveReqVO)) {
             approveRecordInfo.setProcessTitle(reportApproveSyncBizApproveReqVO.getTitle());
             approveRecordInfo.setApproveTaskClass(reportApproveSyncBizApproveReqVO.getTaskClass());
             approveRecordInfo.setPermissionValidType(PermissionValidTypeEnum.CUSTOM.getValue());
-            approveRecordInfo.setStartTime(reportApproveSyncBizApproveReqVO.getTaskTermStart());
-            approveRecordInfo.setEndTime(reportApproveSyncBizApproveReqVO.getTaskTermEnd());
+            try {
+				approveRecordInfo.setStartTime(dateFormat.parse(reportApproveSyncBizApproveReqVO.getTaskTermStart()));
+				approveRecordInfo.setEndTime(dateFormat.parse(reportApproveSyncBizApproveReqVO.getTaskTermEnd()));
+			} catch (ParseException e) {
+				e.printStackTrace();
+			}
             String taskStatus = reportApproveSyncBizApproveReqVO.getTaskStatus();
             TaskStatusEnum taskStatusEnum = EnumUtils.enumOf(TaskStatusEnum.class, taskStatus);
             ApproveResultEnum approveResultEnum = ApproveResultEnum.SUCCESS;

+ 143 - 2
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/external/impl/BuSyncBusinessImpl.java

@@ -1,11 +1,15 @@
 package com.dragonsoft.dcuc.approve.business.external.impl;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.ObjectUtil;
 import com.dragoninfo.dcuc.common.annotation.CacheLock;
 import com.dragoninfo.dcuc.common.utils.ResponseUtil;
 import com.dragonsoft.dcuc.approve.business.api.IApproveApiBusiness;
 import com.dragonsoft.dcuc.approve.business.external.IBuSyncBusiness;
+import com.dragonsoft.dcuc.approve.business.external.IDcucBusiness;
 import com.dragonsoft.dcuc.approve.business.external.INoticeBusiness;
 import com.dragonsoft.dcuc.approve.constants.ApproveConstants;
 import com.dragonsoft.dcuc.approve.enumresources.bu.TaskStatusEnum;
@@ -15,6 +19,10 @@ import com.dragonsoft.dcuc.approve.model.dto.ApprovalInfoDTO;
 import com.dragonsoft.dcuc.approve.model.dto.ApproveMessageInfoDTO;
 import com.dragonsoft.dcuc.approve.model.req.bu.BuApproveSyncBizApproveReqVO;
 import com.dragonsoft.dcuc.approve.model.req.bu.BuApproveSyncReqVO;
+import com.dragonsoft.dcuc.approve.model.req.v3.report.ReportApproveSyncBizApproveReqVO;
+import com.dragonsoft.dcuc.approve.model.req.v3.report.ReportApproveSyncBizGridReqVO;
+import com.dragonsoft.dcuc.approve.model.req.v3.report.ReportApproveSyncReqVO;
+import com.dragonsoft.dcuc.approve.model.vo.dcuc.OauthUserVO;
 import com.dragonsoft.dcuc.approve.service.IApproveCirculationService;
 import com.dragonsoft.dcuc.approve.service.IApproveRecordService;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
@@ -26,9 +34,15 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
 /**
@@ -50,6 +64,8 @@ public class BuSyncBusinessImpl implements IBuSyncBusiness {
     private INoticeBusiness noticeBusiness;
 
     private IApproveApiBusiness approveApiBusiness;
+    
+    private IDcucBusiness dcucBusiness;
 
     @Autowired
     public void setApproveApiBusiness(IApproveApiBusiness approveApiBusiness) {
@@ -70,6 +86,11 @@ public class BuSyncBusinessImpl implements IBuSyncBusiness {
     public void setApproveRecordService(IApproveRecordService approveRecordService) {
         this.approveRecordService = approveRecordService;
     }
+    
+    @Autowired
+	public void setDcucBusiness(IDcucBusiness dcucBusiness) {
+		this.dcucBusiness = dcucBusiness;
+	}
 
     @Override
     @CacheLock
@@ -176,8 +197,15 @@ public class BuSyncBusinessImpl implements IBuSyncBusiness {
         Map<String, Object> bizData = new LinkedHashMap<>(2);
         bizData.put(ApproveConstants.TASK_INFO, buApproveSyncBizApproveReqVO);
         buApproveSyncReqVO.setBizData(bizData);
-
-        ResponseStatus responseStatus = noticeBusiness.retryRequestSyncToBu(buApproveSyncReqVO);
+        
+        
+     // 报送到 BU 废掉了
+//        ResponseStatus responseStatus = noticeBusiness.retryRequestSyncToBu(buApproveSyncReqVO);
+        
+     // 报送到 BU V2版本
+        com.dragonsoft.dcuc.approve.model.req.bu.v2.BuApproveSyncReqVO basrVO = createTestV2(buApproveSyncReqVO);
+        ResponseStatus responseStatus = noticeBusiness.retryRequestSyncToBuV2(basrVO);
+        
         if (ResponseUtil.isSuccess(responseStatus)) {
             approveRecordService.updateSyncFlag(id, BooleanEnum.TRUE);
             return ResponseStatus.success();
@@ -185,7 +213,120 @@ public class BuSyncBusinessImpl implements IBuSyncBusiness {
         approveRecordService.updateSyncFlag(id, BooleanEnum.FALSE);
         return ResponseStatus.fail();
     }
+    // 20241106 add 本地审批调整成BU V2 方案 start 
+    private com.dragonsoft.dcuc.approve.model.req.bu.v2.BuApproveSyncReqVO createTestV2(BuApproveSyncReqVO reportApproveSyncReqVO) {
+		
+    	SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
+    	SimpleDateFormat formatterDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+    	com.dragonsoft.dcuc.approve.model.req.bu.v2.BuApproveSyncReqVO basrVO = new com.dragonsoft.dcuc.approve.model.req.bu.v2.BuApproveSyncReqVO();
+        
+    	String taskId = reportApproveSyncReqVO.getTaskId();
+    	Map<String, Object> bizData = reportApproveSyncReqVO.getBizData();
+    	ReportApproveSyncBizApproveReqVO bizApproveReqVO = parseToReportApproveSyncBizApproveReqVO(bizData);
+    	List<ReportApproveSyncBizGridReqVO> bizGridReqList = parseToReportApproveSyncBizGridReqVO(bizData);
+        
+        Map<String,Object> bizDataV2 = new HashMap<>();
+        Map<String,Object> taskInfo = new HashMap<>();
+        taskInfo.put("title", bizApproveReqVO.getTitle());//任务名称
+        taskInfo.put("taskClass", bizApproveReqVO.getTaskClass());//任务类型编码
+        try {
+			taskInfo.put("taskTermStart", formatterDate.format(formatter.parse(bizApproveReqVO.getTaskTermStart())));//任务有效期开始时间
+			taskInfo.put("taskTermEnd", formatterDate.format(formatter.parse(bizApproveReqVO.getTaskTermEnd())));//任务有效期结束时间
+		} catch (ParseException e) {
+			e.printStackTrace();
+		}
+        taskInfo.put("taskStatus", bizApproveReqVO.getTaskStatus());//任务状态
+        List<Object> approveGrid = new ArrayList<>();
+        
+        for (ReportApproveSyncBizGridReqVO reportApproveSyncBizGridReqVO : bizGridReqList) {
+        	Map<String,Object> g1 = new HashMap<>();
+            g1.put("id", reportApproveSyncBizGridReqVO.getId());//要素或承办人数据唯一标识
+            g1.put("dataType", reportApproveSyncBizGridReqVO.getDataType());//业务数据类型
+            g1.put("elementContent", reportApproveSyncBizGridReqVO.getElementContent());//要素内容
+            g1.put("elementType", reportApproveSyncBizGridReqVO.getElementType());//要输类型编码
+            g1.put("elementTypeName", reportApproveSyncBizGridReqVO.getElementType());//要输类型名称
+            g1.put("elementTermStart", reportApproveSyncBizGridReqVO.getElementTermStart());//要素有效期开始时间
+            g1.put("elementTermEnd", reportApproveSyncBizGridReqVO.getElementTermEnd());//要素有效期结束时间
+            g1.put("handleUnitCode", reportApproveSyncBizGridReqVO.getHandleUnitCode());//承办人所在组织机构编码
+            g1.put("handleUnitName", reportApproveSyncBizGridReqVO.getHandleUnitName());//承办人所在组织机构名称
+            g1.put("handleUserIdCard", reportApproveSyncBizGridReqVO.getHandleUserId());//承办人身份证号
+            g1.put("handleUserName", reportApproveSyncBizGridReqVO.getHandleUserName());//承办人姓名
+            approveGrid.add(g1);
+		}
+        
+        bizDataV2.put("taskInfo", taskInfo);
+        bizDataV2.put("approveGrid",approveGrid);
+        
+        String createrId = reportApproveSyncReqVO.getCreaterId();
+        OauthUserVO oauthUserVO = dcucBusiness.getOauthUserInfoByIdcard(createrId);
+        
+        basrVO.setAppId(reportApproveSyncReqVO.getAppId());
+        basrVO.setSourceOrgCode(oauthUserVO.getOrgCode());
+        basrVO.setTaskId(taskId);
+        String customFormat = "yyyy-MM-dd HH:mm:ss";
+        basrVO.setCreateTime(DateUtil.format(reportApproveSyncReqVO.getCreateTime(), customFormat));
+        basrVO.setCreatorIdCard(oauthUserVO.getIdcard());
+        basrVO.setCreatorUserName(oauthUserVO.getName());
+        basrVO.setCreatorUnitCode(oauthUserVO.getOrgCode());
+        basrVO.setCreatorUnitName(oauthUserVO.getOrgName());
+        basrVO.setLastReviewerIdCard(reportApproveSyncReqVO.getLastReviewerIdCard());
+        basrVO.setLastReviewerName(reportApproveSyncReqVO.getLastReviewerName());
+        basrVO.setLastReviewerUnitCode(reportApproveSyncReqVO.getLastReviewerUnitCode());
+        basrVO.setLastReviewerUnitName(reportApproveSyncReqVO.getLastReviewerUnitName());
+        basrVO.setFinishTime(DateUtil.format(reportApproveSyncReqVO.getFinishTime(), customFormat));
+        
+        
+        basrVO.setBizData(bizDataV2);
+        
+        return basrVO;
+	}
+    
+    /**
+     * 转换任务信息
+     *
+     * @param bizData 业务数据
+     * @return 任务信息
+     */
+    protected ReportApproveSyncBizApproveReqVO parseToReportApproveSyncBizApproveReqVO(Map<String, Object> bizData) {
+        if (CollUtil.isNotEmpty(bizData)) {
+            Object taskInfoObject = bizData.get(ApproveConstants.TASK_INFO);
+            ReportApproveSyncBizApproveReqVO reportApproveSyncBizApproveReqVO = new ReportApproveSyncBizApproveReqVO();
+            BeanUtil.copyProperties(taskInfoObject, reportApproveSyncBizApproveReqVO);
+            return reportApproveSyncBizApproveReqVO;
+        }
+        return null;
+    }
+
+    /**
+     * 转换要素信息
+     *
+     * @param bizData 业务数据
+     * @return 要素信息
+     */
+    @SuppressWarnings("unchecked")
+    protected List<ReportApproveSyncBizGridReqVO> parseToReportApproveSyncBizGridReqVO(Map<String, Object> bizData) {
+        List<ReportApproveSyncBizGridReqVO> respList = Collections.emptyList();
+        if (CollUtil.isNotEmpty(bizData)) {
+            Object approveGridObject = bizData.get(ApproveConstants.APPROVE_GRID);
+
+            if (approveGridObject instanceof List) {
+
+                List<Object> approveGridObjectList = (List<Object>) approveGridObject;
+                if (ObjectUtil.isNotNull(approveGridObjectList)) {
+                    respList = new ArrayList<>(approveGridObjectList.size());
+                    for (Object approveGridItemObject : approveGridObjectList) {
+                        ReportApproveSyncBizGridReqVO approveSyncBizGridReqVO = new ReportApproveSyncBizGridReqVO();
+                        BeanUtil.copyProperties(approveGridItemObject, approveSyncBizGridReqVO);
+
+                        respList.add(approveSyncBizGridReqVO);
+                    }
+                }
+            }
+        }
+        return respList;
+    }
 
+    // 20241106 add 本地审批调整成BU V2 方案 end
     /**
      * 转换
      *

+ 20 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/impl/RedisCacheBusinessImpl.java

@@ -6,16 +6,22 @@ import com.dragonsoft.dcuc.approve.business.ICacheBusiness;
 import com.dragonsoft.dcuc.approve.constants.ApproveRedisConstants;
 import com.dragonsoft.dcuc.approve.model.dto.zerotrust.AppTokenInfoDTO;
 import com.dragonsoft.dcuc.approve.model.dto.zerotrust.UserTokenInfoDTO;
+import com.dragonsoft.dcuc.approve.model.req.v3.report.ReportApproveSyncBizGridReqVO;
 import com.dragonsoft.dcuc.approve.enumresources.ZeroTrustTokenActionEnum;
 import com.dragonsoft.duceap.commons.util.date.DateConst;
 import com.dragonsoft.duceap.commons.util.date.DateUtils;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Component;
 
+import java.lang.reflect.Type;
 import java.text.ParseException;
 import java.util.Date;
+import java.util.List;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -144,4 +150,18 @@ public class RedisCacheBusinessImpl implements ICacheBusiness {
         stringRedisTemplate.delete(tokenInfo.getUserTokenId());
     }
 
+	@Override
+	public void saveApproveGrid(String taskid, List<ReportApproveSyncBizGridReqVO> reportApproveSyncBizGridReqVOs) {
+		stringRedisTemplate.opsForValue().set("taskid_" + taskid, new Gson().toJson(reportApproveSyncBizGridReqVOs));
+	}
+
+	@Override
+	public List<ReportApproveSyncBizGridReqVO> getApproveGrid(String taskid) {
+		String jsonString = stringRedisTemplate.opsForValue().get("taskid_" + taskid);
+		Gson gson = new Gson();
+        Type listType = new TypeToken<List<ReportApproveSyncBizGridReqVO>>() {}.getType();
+        List<ReportApproveSyncBizGridReqVO> list = gson.fromJson(jsonString, listType);
+        return list;
+	}
+
 }

+ 54 - 3
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/event/listener/ApproveOperateLogEventListener.java

@@ -9,6 +9,9 @@ import com.dragonsoft.dcuc.approve.model.dto.LogInfoMetaDTO;
 import com.dragonsoft.dcuc.approve.model.dto.QmOperateLogDTO;
 import com.dragonsoft.dcuc.approve.properties.ApproveProperties;
 import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationListener;
 import org.springframework.stereotype.Component;
@@ -25,6 +28,8 @@ import java.util.Map;
  */
 @Component
 public class ApproveOperateLogEventListener implements ApplicationListener<AuditApproveOperateLogEvent> {
+	
+	Logger logger = LoggerFactory.getLogger(ApproveOperateLogEventListener.class);
 
     private LogSendComponent logSendComponent;
 
@@ -124,7 +129,19 @@ public class ApproveOperateLogEventListener implements ApplicationListener<Audit
         LogInfoMetaDTO logInfoMetaDTO = qmOperateLogDTO.getLogInfoMetaDTO();
         
 
-        ApproveBusLogV2 approveBusLog = new ApproveBusLogV2();
+        this.sendV2(auditSysId, logInfoMetaDTO);
+        this.sendV3(auditSysId, logInfoMetaDTO);
+        
+    }
+    
+    /**
+	 * 发送到审计中心V3
+	 * @param auditSysId
+	 * @param logInfoMetaDTO
+	 */
+
+	private void sendV2(String auditSysId, LogInfoMetaDTO logInfoMetaDTO) {
+		ApproveBusLogV2 approveBusLog = new ApproveBusLogV2();
         
         Map<String,Object> baseStandardInfo = new HashMap<>();
         baseStandardInfo.put("appName", logInfoMetaDTO.getAppName());
@@ -145,10 +162,44 @@ public class ApproveOperateLogEventListener implements ApplicationListener<Audit
         	ObjectMapper mapper = new ObjectMapper();
 			String writeValueAsString = mapper.writeValueAsString(approveBusLogList);
 			JSONArray jsonArray = JSONObject.parseArray(writeValueAsString);
+			logger.info("=========推送审批信息日志V2=======" + auditSysId);
 			logSendComponent.sendApproveBusLogV2(auditSysId, OPERATE_LOG_TYPE, jsonArray);
         }catch (Exception e) {
         	e.printStackTrace();
 		}
-        
-    }
+	}
+	
+	/**
+	 * 发送到审计中心V3
+	 * @param auditSysId
+	 * @param logInfoMetaDTO
+	 */
+	private void sendV3(String auditSysId, LogInfoMetaDTO logInfoMetaDTO) {
+		ApproveBusLogV2 approveBusLog = new ApproveBusLogV2();
+		
+		Map<String,Object> baseStandardInfo = new HashMap<>();
+		baseStandardInfo.put("appName", logInfoMetaDTO.getAppName());
+		baseStandardInfo.put("operatorCertNo", logInfoMetaDTO.getOperatorCertNo());
+		baseStandardInfo.put("operatorName", logInfoMetaDTO.getOperatorName());
+		baseStandardInfo.put("operatorOrgCode", logInfoMetaDTO.getOperatorOrgCode());
+		baseStandardInfo.put("operatorOrgName", logInfoMetaDTO.getOperatorOrgName());
+		
+		approveBusLog.setBaseStandardInfo(baseStandardInfo);
+		approveBusLog.setTaskId(logInfoMetaDTO.getTaskId());
+		approveBusLog.setTaskName(logInfoMetaDTO.getTaskName());
+		approveBusLog.setOperateTime(logInfoMetaDTO.getOperateTime());
+		approveBusLog.setOperateType(logInfoMetaDTO.getOperateType());
+		
+		List<ApproveBusLogV2> approveBusLogList = Collections.singletonList(approveBusLog);
+		try {
+			ObjectMapper mapper = new ObjectMapper();
+			String writeValueAsString = mapper.writeValueAsString(approveBusLogList);
+			JSONArray jsonArray = JSONObject.parseArray(writeValueAsString);
+			
+			logger.info("=========推送审批信息日志V3=======" + auditSysId);
+			logSendComponent.sendApproveBusLogV3(auditSysId, "102", jsonArray);
+		}catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
 }

+ 13 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/facade/api/v3/ApiV3ApproveFacade.java

@@ -6,6 +6,7 @@ import com.dragoninfo.dcuc.common.utils.LangUtil;
 import com.dragoninfo.dcuc.common.utils.ResponseUtil;
 import com.dragoninfo.dcuc.duceap.enums.ManageDisposeTypeEnum;
 import com.dragonsoft.dcuc.approve.business.IApproveCommonBusiness;
+import com.dragonsoft.dcuc.approve.business.ICacheBusiness;
 import com.dragonsoft.dcuc.approve.business.ISecurityUserBusiness;
 import com.dragonsoft.dcuc.approve.business.IWorkFlowBusiness;
 import com.dragonsoft.dcuc.approve.business.api.IApiV3ApproveBusiness;
@@ -22,6 +23,7 @@ import com.dragonsoft.dcuc.approve.model.dto.TaskRequestUserInfoDTO;
 import com.dragonsoft.dcuc.approve.model.req.ApprovalInfoReqVO;
 import com.dragonsoft.dcuc.approve.model.req.v3.ZeroTrustApproveCreateReqV3VO;
 import com.dragonsoft.dcuc.approve.model.req.v3.ZeroTrustApproveManagerReqV3VO;
+import com.dragonsoft.dcuc.approve.model.req.v3.report.ReportApproveSyncBizGridReqVO;
 import com.dragonsoft.dcuc.approve.model.req.v3.report.ReportApproveSyncReqVO;
 import com.dragonsoft.dcuc.approve.model.resp.OperateRespVO;
 import com.dragonsoft.dcuc.approve.model.resp.bim.ZeroTrustAppItemUserTokenInfoRespVO;
@@ -47,6 +49,7 @@ import org.springframework.web.bind.annotation.RestController;
 import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -78,6 +81,8 @@ public class ApiV3ApproveFacade implements IApiV3ApproveFacade {
     private ISecurityUserBusiness securityUserBusiness;
 
     private IReportApprovalsBusiness reportApprovalsBusiness;
+    
+    private ICacheBusiness cacheBusiness;
 
     @Autowired
     public void setReportApprovalsBusiness(IReportApprovalsBusiness reportApprovalsBusiness) {
@@ -123,6 +128,11 @@ public class ApiV3ApproveFacade implements IApiV3ApproveFacade {
     public void setBimBusiness(IBimBusiness bimBusiness) {
         this.bimBusiness = bimBusiness;
     }
+    
+    @Autowired
+	public void setCacheBusiness(ICacheBusiness cacheBusiness) {
+		this.cacheBusiness = cacheBusiness;
+	}
 
     @Override
     public ZeroTrustResultDataVO<ZeroTrustApproveCreateV3RespVO> create(ZeroTrustApproveCreateReqV3VO zeroTrustApproveCreateReqV3VO) {
@@ -193,6 +203,9 @@ public class ApiV3ApproveFacade implements IApiV3ApproveFacade {
         }
         final ApprovalInfoReqVO approvalInfoReqVO = ResponseUtil.getResult(approvalInfoReqStatus);
         ApproveRecordInfo approveRecordInfo = approveService.saveBase(approvalInfoReqVO, ManageDisposeTypeEnum.INSERT, new Date());
+        // 20241106 add 临时存储approveGrid到redis start
+        cacheBusiness.saveApproveGrid(approveTaskId, (List<ReportApproveSyncBizGridReqVO>)bizData.get("approveGrid"));
+        // 20241106 add 临时存储approveGrid到redis end
         String processInstanceId = approveRecordInfo.getProcessInstanceId();
         ZeroTrustApproveCreateV3RespVO zeroTrustApproveCreateV3RespVO = new ZeroTrustApproveCreateV3RespVO();
         zeroTrustApproveCreateV3RespVO.setProcessInstId(processInstanceId);

BIN
approve-core-service/src/main/lib/auditlog-qm-tj-1.0.3-SNAPSHOT.jar


+ 1 - 0
approve-core-service/src/main/resources/application-base.yml

@@ -81,4 +81,5 @@ app:
   auditlog:
     qmtj:
       host-address: https://127.0.0.1:8443
+      shen-ji-log-report-url: https://10.11.0.168:8843/auditcenter/services/sjzx_logupload