优化userTask任务错误展示
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.sdm.common.entity.req.flowable;
|
||||
|
||||
import com.sdm.common.entity.req.project.SimulationLocalJobReq;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -25,4 +26,6 @@ public class AsyncCallbackRequest implements Serializable {
|
||||
* 任务执行结果状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
private SimulationLocalJobReq simulationLocalJobReq;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.sdm.project.model.req;
|
||||
package com.sdm.common.entity.req.project;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.sdm.common.feign.impl.project;
|
||||
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.req.project.SimulationLocalJobReq;
|
||||
import com.sdm.common.feign.inter.project.ISimulationLocalJobFeignClient;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class ISimulationLocalJobFeignClientImpl implements ISimulationLocalJobFeignClient {
|
||||
|
||||
@Autowired
|
||||
private ISimulationLocalJobFeignClient simulationLocalJobService;
|
||||
|
||||
@Override
|
||||
public SdmResponse add(SimulationLocalJobReq req) {
|
||||
try {
|
||||
return simulationLocalJobService.add(req);
|
||||
} catch (Exception e) {
|
||||
log.error("新增本地应用任务失败",e);
|
||||
return SdmResponse.failed("新增本地应用任务失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.sdm.common.feign.inter.project;
|
||||
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.entity.req.project.SimulationLocalJobReq;
|
||||
import com.sdm.common.log.annotation.SysLog;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
@FeignClient(name = "project",contextId = "localJobFeignClient")
|
||||
public interface ISimulationLocalJobFeignClient {
|
||||
/**
|
||||
* 新增本地应用任务
|
||||
*
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/add")
|
||||
SdmResponse add(@RequestBody SimulationLocalJobReq req);
|
||||
}
|
||||
@@ -2,19 +2,23 @@ package com.sdm.flowable.controller;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.entity.flowable.dto.ProcessDefinitionDTO;
|
||||
import com.sdm.common.entity.flowable.executeConfig.HPCExecuteConfig;
|
||||
import com.sdm.common.entity.req.flowable.AsyncCallbackRequest;
|
||||
import com.sdm.common.entity.req.project.SimulationLocalJobReq;
|
||||
import com.sdm.common.entity.resp.flowable.DeployFlowableResp;
|
||||
import com.sdm.common.entity.resp.flowable.ProcessInstanceDetailResponse;
|
||||
import com.sdm.common.entity.resp.flowable.ProcessInstanceResp;
|
||||
import com.sdm.common.feign.inter.flowable.IFlowableFeignClient;
|
||||
import com.sdm.common.feign.inter.project.ISimulationLocalJobFeignClient;
|
||||
import com.sdm.flowable.aop.StateGuard;
|
||||
import com.sdm.flowable.delegate.handler.HpcHandler;
|
||||
import com.sdm.flowable.dto.req.CompleteTaskReq;
|
||||
import com.sdm.flowable.dto.req.PreviewNodeInputFilesReq;
|
||||
import com.sdm.flowable.dto.req.RetryRequest;
|
||||
import com.sdm.flowable.dto.resp.NodeInputFilePreviewResp;
|
||||
import com.sdm.flowable.enums.AsyncTaskStatusEnum;
|
||||
import com.sdm.flowable.enums.OperationTypeEnum;
|
||||
import com.sdm.flowable.process.ProcessService;
|
||||
import com.sdm.flowable.service.IProcessNodeParamService;
|
||||
@@ -41,6 +45,9 @@ public class ProcessController implements IFlowableFeignClient {
|
||||
@Autowired
|
||||
private IProcessNodeParamService processNodeParamService;
|
||||
|
||||
@Autowired
|
||||
private ISimulationLocalJobFeignClient simulationLocalJobService;
|
||||
|
||||
@Autowired
|
||||
private HpcHandler hpcHandler;
|
||||
|
||||
@@ -211,6 +218,22 @@ public class ProcessController implements IFlowableFeignClient {
|
||||
*/
|
||||
@PostMapping("/asyncCallback")
|
||||
public SdmResponse asyncCallback(@RequestBody AsyncCallbackRequest request) {
|
||||
try {
|
||||
// 保存本地应用任务执行结果
|
||||
SimulationLocalJobReq simulationLocalJobReq = request.getSimulationLocalJobReq();
|
||||
if(Objects.nonNull(simulationLocalJobReq)){
|
||||
ThreadLocalContext.setUserId(simulationLocalJobReq.getCreatorId());
|
||||
ThreadLocalContext.setTenantId(simulationLocalJobReq.getTenantId());
|
||||
simulationLocalJobReq.setJobStatus(request.getStatus());
|
||||
if(AsyncTaskStatusEnum.FAIL.getCode().equalsIgnoreCase(request.getStatus())){
|
||||
simulationLocalJobReq.setErrMsg(request.getResultJson());
|
||||
}
|
||||
simulationLocalJobService.add(simulationLocalJobReq);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("异步回调失败: {}", request, e);
|
||||
return SdmResponse.failed("异步回调失败");
|
||||
}
|
||||
log.info("开始处理异步回调请求: {}", request);
|
||||
// 发送信号唤醒流程实例中等待的节点
|
||||
processService.asyncCallback(request);
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
package com.sdm.project.controller;
|
||||
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.feign.inter.project.ISimulationLocalJobFeignClient;
|
||||
import com.sdm.common.log.annotation.SysLog;
|
||||
import com.sdm.project.model.req.SimulationLocalJobReq;
|
||||
import com.sdm.common.entity.req.project.SimulationLocalJobReq;
|
||||
import com.sdm.project.model.req.SpdmLocalJobListReq;
|
||||
import com.sdm.project.service.ISimulationLocalJobService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -16,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RestController
|
||||
@RequestMapping(value = "/localJob")
|
||||
@Tag(name = "仿真本地应用任务管理", description = "仿真本地应用任务管理相关接口")
|
||||
public class SimulationLocalJobController {
|
||||
public class SimulationLocalJobController implements ISimulationLocalJobFeignClient {
|
||||
|
||||
@Autowired
|
||||
private ISimulationLocalJobService simulationLocalJobService;
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.sdm.project.service;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.project.model.entity.SimulationLocalJob;
|
||||
import com.sdm.project.model.req.SimulationLocalJobReq;
|
||||
import com.sdm.common.entity.req.project.SimulationLocalJobReq;
|
||||
import com.sdm.project.model.req.SpdmLocalJobListReq;
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,13 +5,10 @@ import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.utils.DateUtils;
|
||||
import com.sdm.common.utils.PageUtils;
|
||||
import com.sdm.outbridge.entity.LyricVProjectToDM;
|
||||
import com.sdm.project.dao.SimulationLocalJobMapper;
|
||||
import com.sdm.project.model.entity.SimulationLocalJob;
|
||||
import com.sdm.project.model.entity.SimulationRun;
|
||||
import com.sdm.project.model.req.SimulationLocalJobReq;
|
||||
import com.sdm.common.entity.req.project.SimulationLocalJobReq;
|
||||
import com.sdm.project.model.req.SpdmLocalJobListReq;
|
||||
import com.sdm.project.service.ISimulationLocalJobService;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
|
||||
Reference in New Issue
Block a user