Compare commits
2 Commits
6f0889a022
...
4d79c796c3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4d79c796c3 | ||
|
|
53fb21c082 |
@@ -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.dal.dataobject.ConfigUserSignatureDO;
|
||||||
import com.zt.plat.module.qms.business.config.service.ConfigUserSignatureService;
|
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.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.ReportDocumentMainDO;
|
||||||
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentTypeDO;
|
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.*;
|
||||||
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.common.data.dal.dataobject.DataTemplateDO;
|
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.common.data.service.DataTemplateService;
|
||||||
import com.zt.plat.module.qms.enums.QmsCommonConstant;
|
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.Parameter;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -63,6 +63,9 @@ public class ReportDocumentMainController extends AbstractFileUploadController i
|
|||||||
@Resource private ReportDocumentMainService reportDocumentMainService;
|
@Resource private ReportDocumentMainService reportDocumentMainService;
|
||||||
@Resource private ReportDocumentDataService reportDocumentDataService;
|
@Resource private ReportDocumentDataService reportDocumentDataService;
|
||||||
@Resource private ReportDocumentTypeService reportDocumentTypeService;
|
@Resource private ReportDocumentTypeService reportDocumentTypeService;
|
||||||
|
@Resource private ReportDocumentFileService reportDocumentFileService;
|
||||||
|
@Resource private ReportDocumentAssistService reportDocumentAssistService;
|
||||||
|
|
||||||
|
|
||||||
@Resource private DataTemplateService dataTemplateService;
|
@Resource private DataTemplateService dataTemplateService;
|
||||||
|
|
||||||
@@ -228,4 +231,16 @@ public class ReportDocumentMainController extends AbstractFileUploadController i
|
|||||||
return null;
|
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.ReportDocumentFileDO;
|
||||||
import com.zt.plat.module.qms.business.reportdoc.dal.dataobject.ReportDocumentMainDO;
|
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.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.dal.dataobject.DataTemplateDO;
|
||||||
import com.zt.plat.module.qms.common.data.service.DataTemplateService;
|
import com.zt.plat.module.qms.common.data.service.DataTemplateService;
|
||||||
import com.zt.plat.module.qms.core.code.SequenceUtil;
|
import com.zt.plat.module.qms.core.code.SequenceUtil;
|
||||||
@@ -105,6 +106,7 @@ public class ReportDocumentAssistService {
|
|||||||
dto.setYysx("检测报告用印");
|
dto.setYysx("检测报告用印");
|
||||||
dto.setXyywjUrl(docFile.getUrl());
|
dto.setXyywjUrl(docFile.getUrl());
|
||||||
dto.setYwxtdjbh(sequenceUtil.genCode(sequenceKey));
|
dto.setYwxtdjbh(sequenceUtil.genCode(sequenceKey));
|
||||||
|
dto.setBizCallbackKey(ReportDocListenerConstant.IWORK_BIZ_CALL_BACK_KEY); //业务回调标识,回调分发使用
|
||||||
return iWorkIntegrationApi.createWorkflow(dto);
|
return iWorkIntegrationApi.createWorkflow(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user