All Downloads are FREE. Search and download functionalities are using the official Maven repository.

love.keeping.starter.web.resp.InvokeResultBuilder Maven / Gradle / Ivy

The newest version!
package love.keeping.starter.web.resp;

import love.keeping.starter.common.constants.ResponseConstants;
import love.keeping.starter.common.exceptions.BaseException;
import love.keeping.starter.web.components.trace.TraceBuilder;
import love.keeping.starter.web.common.utils.ApplicationUtil;
import lombok.extern.slf4j.Slf4j;

/**
 * 统一响应数据Builder
 *
 * @author Keeping
 */
@Slf4j
public class InvokeResultBuilder {

  /**
   * 响应成功-无数据
   *
   * @return
   */
  public static InvokeResult success() {

    InvokeResult invokeResult = new InvokeResult<>();
    invokeResult.setCode(ResponseConstants.INVOKE_RESULT_SUCCESS_CODE);
    invokeResult.setMsg(ResponseConstants.INVOKE_RESULT_SUCCESS_MSG);
    invokeResult.setTraceId(ApplicationUtil.getBean(TraceBuilder.class).getTraceId(false));

    return invokeResult;
  }

  /**
   * 响应成功-有数据
   *
   * @param data
   * @return
   */
  public static  InvokeResult success(T data) {

    InvokeResult invokeResult = new InvokeResult<>();
    invokeResult.setCode(ResponseConstants.INVOKE_RESULT_SUCCESS_CODE);
    invokeResult.setMsg(ResponseConstants.INVOKE_RESULT_SUCCESS_MSG);
    invokeResult.setData(data);
    invokeResult.setTraceId(ApplicationUtil.getBean(TraceBuilder.class).getTraceId(false));

    return invokeResult;
  }

  /**
   * 响应失败-无信息
   *
   * @return
   */
  public static InvokeResult fail() {

    InvokeResult invokeResult = new InvokeResult<>();
    invokeResult.setCode(ResponseConstants.INVOKE_RESULT_FAIL_CODE);
    invokeResult.setMsg(ResponseConstants.INVOKE_RESULT_FAIL_MSG);
    invokeResult.setTraceId(ApplicationUtil.getBean(TraceBuilder.class).getTraceId(false));

    return invokeResult;
  }

  /**
   * 响应失败-有信息
   *
   * @param msg
   * @return
   */
  public static InvokeResult fail(String msg) {

    InvokeResult invokeResult = new InvokeResult<>();
    invokeResult.setCode(ResponseConstants.INVOKE_RESULT_FAIL_CODE);
    invokeResult.setMsg(msg);
    invokeResult.setTraceId(ApplicationUtil.getBean(TraceBuilder.class).getTraceId(false));

    return invokeResult;
  }

  /**
   * 响应失败-有信息和数据
   *
   * @param msg
   * @return
   */
  public static  InvokeResult fail(String msg, T data) {

    InvokeResult invokeResult = new InvokeResult<>();
    invokeResult.setCode(ResponseConstants.INVOKE_RESULT_FAIL_CODE);
    invokeResult.setMsg(msg);
    invokeResult.setData(data);
    invokeResult.setTraceId(ApplicationUtil.getBean(TraceBuilder.class).getTraceId(false));

    return invokeResult;
  }

  /**
   * 响应失败-根据异常
   *
   * @param e
   * @return
   */
  public static InvokeResult fail(BaseException e) {

    InvokeResult invokeResult = new InvokeResult<>();
    invokeResult.setCode(e.getCode());
    invokeResult.setMsg(e.getMsg());
    invokeResult.setTraceId(ApplicationUtil.getBean(TraceBuilder.class).getTraceId(false));

    return invokeResult;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy