fix:iwork用印回调调试
This commit is contained in:
@@ -15,11 +15,10 @@ import com.zt.plat.framework.excel.core.util.ExcelUtils;
|
||||
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigUserSignatureDO;
|
||||
import com.zt.plat.module.qms.business.config.service.ConfigUserSignatureService;
|
||||
import com.zt.plat.module.qms.business.reportdoc.controller.vo.*;
|
||||
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentFileDO;
|
||||
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentMainDO;
|
||||
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentTypeDO;
|
||||
import com.zt.plat.module.qms.business.reportdoc.service.ReportDocumentDataService;
|
||||
import com.zt.plat.module.qms.business.reportdoc.service.ReportDocumentMainService;
|
||||
import com.zt.plat.module.qms.business.reportdoc.service.ReportDocumentTypeService;
|
||||
import com.zt.plat.module.qms.business.reportdoc.service.*;
|
||||
import com.zt.plat.module.qms.common.data.dal.dataobject.DataTemplateDO;
|
||||
import com.zt.plat.module.qms.common.data.service.DataTemplateService;
|
||||
import com.zt.plat.module.qms.enums.QmsCommonConstant;
|
||||
@@ -29,6 +28,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -63,6 +63,9 @@ public class ReportDocumentMainController extends AbstractFileUploadController i
|
||||
@Resource private ReportDocumentMainService reportDocumentMainService;
|
||||
@Resource private ReportDocumentDataService reportDocumentDataService;
|
||||
@Resource private ReportDocumentTypeService reportDocumentTypeService;
|
||||
@Resource private ReportDocumentFileService reportDocumentFileService;
|
||||
@Resource private ReportDocumentAssistService reportDocumentAssistService;
|
||||
|
||||
|
||||
@Resource private DataTemplateService dataTemplateService;
|
||||
|
||||
@@ -228,4 +231,16 @@ public class ReportDocumentMainController extends AbstractFileUploadController i
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/createIWorkflow")
|
||||
@Operation(summary = "创建iwork流程-调试用")
|
||||
//@PreAuthorize("@ss.hasPermission('qms:report-document-main:query')")
|
||||
public CommonResult<IWorkOperationRespDTO> createIWorkflow(HttpServletRequest request) {
|
||||
String mainId = request.getParameter("mainId");
|
||||
String fileId = request.getParameter("fileId");
|
||||
ReportDocumentMainDO mainDO = reportDocumentMainService.getReportDocumentMain(Long.valueOf(mainId));
|
||||
ReportDocumentFileDO fileDO = reportDocumentFileService.getReportDocumentFile(Long.valueOf(fileId));
|
||||
return reportDocumentAssistService.createIWorkflow(mainDO, fileDO);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.zt.plat.module.qms.business.reportdoc.listener;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.zt.plat.module.system.mq.iwork.IWorkBizCallbackMessage;
|
||||
import com.zt.plat.module.system.mq.iwork.IWorkBizCallbackResultMessage;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
|
||||
import org.apache.rocketmq.spring.core.RocketMQListener;
|
||||
import org.apache.rocketmq.spring.core.RocketMQTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
@RocketMQMessageListener(
|
||||
topic = IWorkBizCallbackMessage.TOPIC,
|
||||
consumerGroup = IWorkBizCallbackMessage.TOPIC + "_CONSUMER_local",
|
||||
selectorExpression = ReportDocListenerConstant.IWORK_BIZ_CALL_BACK_KEY // 与 bizCallbackKey 一致
|
||||
)
|
||||
public class IWorkBizCallbackListener implements RocketMQListener<IWorkBizCallbackMessage> {
|
||||
private final RocketMQTemplate rocketMQTemplate;
|
||||
@Override
|
||||
public void onMessage(IWorkBizCallbackMessage message) {
|
||||
log.info("收到 iWork 回调: requestId={}", message.getRequestId());
|
||||
log.info("收到 iWork 回调: message={}", JSONObject.toJSONString(message));
|
||||
|
||||
IWorkBizCallbackResultMessage result;
|
||||
try {
|
||||
// 处理业务逻辑
|
||||
processCallback(message);
|
||||
|
||||
result = IWorkBizCallbackResultMessage.builder()
|
||||
.requestId(message.getRequestId())
|
||||
.bizCallbackKey(message.getBizCallbackKey())
|
||||
.success(true)
|
||||
.attempt(message.getAttempt())
|
||||
.maxAttempts(message.getMaxAttempts())
|
||||
.payload(message.getPayload())
|
||||
.build();
|
||||
} catch (Exception e) {
|
||||
log.error("处理回调失败", e);
|
||||
result = IWorkBizCallbackResultMessage.builder()
|
||||
.requestId(message.getRequestId())
|
||||
.bizCallbackKey(message.getBizCallbackKey())
|
||||
.success(false)
|
||||
.errorMessage(e.getMessage())
|
||||
.attempt(message.getAttempt())
|
||||
.maxAttempts(message.getMaxAttempts())
|
||||
.payload(message.getPayload())
|
||||
.build();
|
||||
}
|
||||
|
||||
// 发送处理结果
|
||||
rocketMQTemplate.syncSend(IWorkBizCallbackResultMessage.TOPIC, result);
|
||||
}
|
||||
|
||||
private void processCallback(IWorkBizCallbackMessage message) {
|
||||
// 业务处理逻辑
|
||||
// 1. 解析 payload 获取回调数据
|
||||
// 2. 更新业务状态
|
||||
// 3. 保存签章文件等
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.zt.plat.module.qms.business.reportdoc.listener;
|
||||
|
||||
public class ReportDocListenerConstant {
|
||||
|
||||
/**
|
||||
* iwork回调key,用于消息队列接收消息
|
||||
* */
|
||||
public static final String IWORK_BIZ_CALL_BACK_KEY = "qms_report_document_seal_callback";
|
||||
}
|
||||
@@ -16,6 +16,7 @@ import com.zt.plat.module.qms.business.reportdoc.controller.vo.ReportDocumentFil
|
||||
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentFileDO;
|
||||
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentMainDO;
|
||||
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentTypeDO;
|
||||
import com.zt.plat.module.qms.business.reportdoc.listener.ReportDocListenerConstant;
|
||||
import com.zt.plat.module.qms.common.data.dal.dataobject.DataTemplateDO;
|
||||
import com.zt.plat.module.qms.common.data.service.DataTemplateService;
|
||||
import com.zt.plat.module.qms.core.code.SequenceUtil;
|
||||
@@ -105,6 +106,7 @@ public class ReportDocumentAssistService {
|
||||
dto.setYysx("检测报告用印");
|
||||
dto.setXyywjUrl(docFile.getUrl());
|
||||
dto.setYwxtdjbh(sequenceUtil.genCode(sequenceKey));
|
||||
dto.setBizCallbackKey(ReportDocListenerConstant.IWORK_BIZ_CALL_BACK_KEY); //业务回调标识,回调分发使用
|
||||
return iWorkIntegrationApi.createWorkflow(dto);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user