common增加seata异常处理
This commit is contained in:
@ -197,7 +197,7 @@ public class DefaultAttachmentClient implements AttachmentClient {
|
||||
|
||||
String res = documentCenterService.upload("ebtp-mall-cloud", businessId, fileConvertor.toMultipartFile(file));
|
||||
|
||||
log.debug(res);
|
||||
log.info("document center upload result: {}", res);
|
||||
|
||||
return modelConvertor.toUploadObject(res);
|
||||
}
|
||||
@ -215,7 +215,7 @@ public class DefaultAttachmentClient implements AttachmentClient {
|
||||
String res = documentCenterService.upload("ebtp-mall-cloud", businessId,
|
||||
fileConvertor.toMultipartFile(filename, array));
|
||||
|
||||
log.debug(res);
|
||||
log.info("document center upload result: {}", res);
|
||||
|
||||
return modelConvertor.toUploadObject(res);
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ import lombok.Data;
|
||||
@Data
|
||||
public class DownStream {
|
||||
|
||||
private Integer code;
|
||||
private String code;
|
||||
private Boolean success;
|
||||
private String message;
|
||||
private DownStreamData data;
|
||||
|
@ -7,7 +7,7 @@ import lombok.Data;
|
||||
@Data
|
||||
public class UploadStream {
|
||||
|
||||
private Integer code;
|
||||
private String code;
|
||||
private Boolean success;
|
||||
private String message;
|
||||
private List<UploadStreamData> data;
|
||||
|
@ -50,6 +50,12 @@
|
||||
<artifactId>mall-ebtp-cloud-security-starter</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.chinaunicom.ebtp</groupId>
|
||||
<artifactId>mall-ebtp-cloud-seata-starter</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
|
||||
<!--普罗米修斯 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
@ -1,18 +1,20 @@
|
||||
package com.chinaunicom.mall.ebtp.common.exception.service;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.common.exception.entity.BusinessException;
|
||||
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
import org.springframework.dao.DuplicateKeyException;
|
||||
import org.springframework.dao.EmptyResultDataAccessException;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.transaction.TransactionSystemException;
|
||||
import org.springframework.validation.BindException;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.FieldError;
|
||||
@ -25,11 +27,16 @@ import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.common.exception.entity.BusinessException;
|
||||
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import io.seata.core.context.RootContext;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* 异常处理
|
||||
@ -246,6 +253,21 @@ public class BusinessExceptionHandlerAdvice {
|
||||
return BaseResponse.fail(HttpStatus.INTERNAL_SERVER_ERROR.value(), "系统异常:" + exception.getMessage(), Convert.toStr(body));
|
||||
}
|
||||
|
||||
@ExceptionHandler({TransactionSystemException.class})
|
||||
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
||||
public BaseResponse<String> handleTransactionSystemException(HttpServletRequest request, TransactionSystemException exception) {
|
||||
log.info(ExceptionUtil.stacktraceToString(exception));
|
||||
if (((String)Objects.requireNonNull(exception.getMessage())).contains("may be has finished")) {
|
||||
String xid = RootContext.getXID();
|
||||
if (StringUtils.isNotEmpty(xid)) {
|
||||
RootContext.unbind();
|
||||
log.debug("TransactionSystemException ----- suspending current transaction,xid = {}", xid);
|
||||
}
|
||||
}
|
||||
|
||||
return BaseResponse.fail("系统繁忙,请重试", exception.getMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* 参数异常
|
||||
*/
|
||||
|
Reference in New Issue
Block a user