update - 新增特定异常处理器

This commit is contained in:
wangli 2023-12-08 13:10:42 +08:00
parent 43fedb8814
commit c19d4d9cd2
2 changed files with 62 additions and 0 deletions

View File

@ -0,0 +1,35 @@
package cn.axzo.workflow.server.advice;
import cn.axzo.framework.autoconfigure.web.exception.RespErrorCodeMappingProperties;
import cn.axzo.framework.autoconfigure.web.exception.handler.AbstractExceptionApiResultHandler;
import cn.axzo.framework.domain.web.code.IRespCode;
import cn.axzo.framework.domain.web.code.RespCode;
import cn.axzo.workflow.core.common.exception.WorkflowEngineException;
import org.flowable.common.engine.api.FlowableException;
import org.springframework.stereotype.Component;
import java.util.Objects;
import static cn.axzo.framework.domain.web.code.BaseCode.UNAVAILABLE_FOR_LEGAL_REASONS;
/**
* TODO
*
* @author wangli
* @since 2023/12/8 12:52
*/
@Component
public class FlowableExceptionResultHandlerAdvice extends AbstractExceptionApiResultHandler<FlowableException> {
public FlowableExceptionResultHandlerAdvice(RespErrorCodeMappingProperties properties) {
super(properties);
}
@Override
protected IRespCode decode(FlowableException ex, IRespCode fallbackCode) {
if (Objects.nonNull(ex.getCause()) && ex.getCause() instanceof WorkflowEngineException) {
return new RespCode(UNAVAILABLE_FOR_LEGAL_REASONS.getCode(), ex.getCause().getMessage());
}
ex.printStackTrace();
return new RespCode(UNAVAILABLE_FOR_LEGAL_REASONS.getCode(), ex.getMessage());
}
}

View File

@ -0,0 +1,27 @@
package cn.axzo.workflow.server.advice;
import cn.axzo.framework.autoconfigure.web.exception.RespErrorCodeMappingProperties;
import cn.axzo.framework.autoconfigure.web.exception.handler.AbstractExceptionApiResultHandler;
import cn.axzo.framework.domain.web.code.IRespCode;
import cn.axzo.framework.domain.web.code.RespCode;
import cn.axzo.workflow.core.common.exception.WorkflowEngineException;
import org.springframework.stereotype.Component;
/**
* TODO
*
* @author wangli
* @since 2023/12/8 12:52
*/
@Component
public class WorkflowExceptionResultHandlerAdvice extends AbstractExceptionApiResultHandler<WorkflowEngineException> {
public WorkflowExceptionResultHandlerAdvice(RespErrorCodeMappingProperties properties) {
super(properties);
}
@Override
protected IRespCode decode(WorkflowEngineException ex, IRespCode fallbackCode) {
ex.printStackTrace();
return new RespCode(ex.getCode(), ex.getMessage());
}
}