123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- package com.sumbytes.common.base.domain;
- import com.sumbytes.common.constant.ResultConstants;
- import com.sumbytes.common.enums.ErrorEnum;
- import lombok.Data;
- import lombok.experimental.Accessors;
- import org.apache.commons.lang3.StringUtils;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * 用于向前端返回统一的结果对象
- *
- * @param <T> 实体类型
- * @author Young
- */
- @Data
- @Accessors(chain = true)
- public class Result<T> {
- /**
- * 操作标识,标记
- */
- private int success = 0;
- /**
- * 结果编码
- */
- private String resultCode;
- /**
- * 提示信息
- */
- private String message;
- /**
- * 结果对象
- */
- private T model;
- /**
- * 结果集对象
- */
- private List<T> models;
- /**
- * 分页信息对象
- */
- private PageInfo pageInfo;
- /**
- * 扩展字段
- */
- private Object extra;
- /**
- * 禁止空参构造
- */
- private Result() {
- }
- /**
- * 通过操作标识及提示信息构建结果对象
- */
- private static <T> Result<T> createWithSuccessFlag(int success) {
- Result result = new Result();
- result.setSuccess(success);
- return result;
- }
- public static <T> Result<T> createWithSuccessMessage() {
- Result result = createWithSuccessFlag(ResultConstants.YES);
- result.setResultCode(ResultConstants.OPERATION_SUCCESS);
- result.setMessage(ResultConstants.SUCCESS_MESSAGE);
- return result;
- }
- public static <T> Result<T> createWithSuccessMessage(String message) {
- Result result = createWithSuccessFlag(ResultConstants.YES);
- result.setResultCode(ResultConstants.OPERATION_SUCCESS);
- result.setMessage(StringUtils.isBlank(message) ? ResultConstants.SUCCESS_MESSAGE : message);
- return result;
- }
- public static <T> Result<T> createWithModel(T model) {
- Result result = createWithSuccessMessage();
- result.setModel(model);
- return result;
- }
- public static <T> Result<T> createWithModel(String message, T model) {
- Result result = createWithSuccessMessage(message);
- result.setModel(model);
- return result;
- }
- public static <T> Result<T> createWithModels(String message, List<T> models) {
- Result result = createWithSuccessMessage(message);
- result.setModels(models == null ? new ArrayList<>(0) : models);
- return result;
- }
- public static <T> Result<T> createWithModels(List<T> models) {
- Result result = createWithSuccessMessage();
- result.setModels(models == null ? new ArrayList<>(0) : models);
- return result;
- }
- public static <T> Result<T> createWithPaging(String message, List<T> models, PageInfo pagingInfo) {
- Result result = createWithModels(message, models == null ? new ArrayList<>(0) : models);
- result.setPageInfo(pagingInfo);
- return result;
- }
- public static <T> Result<T> createWithPaging(List<T> models, PageInfo pagingInfo) {
- Result result = createWithModels(models == null ? new ArrayList<>(0) : models);
- result.setPageInfo(pagingInfo);
- return result;
- }
- public static <T> Result<T> createWithErrorMessage(String message, String errorCode) {
- Result result = createWithSuccessFlag(ResultConstants.NO);
- result.setMessage(message);
- result.setResultCode(errorCode);
- return result;
- }
- public static <T> Result<T> createWithErrorMessage(ErrorEnum errorEnum) {
- return createWithErrorMessage(errorEnum.getMsg(errorEnum.getCode()), errorEnum.getCode());
- }
- public static <T> Result<T> createWithError() {
- return createWithErrorMessage(ErrorEnum.ERROR);
- }
- }
|