Result.java 2.53 KB
package com.ruoyi.common.global;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import static com.ruoyi.common.global.ResultCode.CODE_200;
import static com.ruoyi.common.global.ResultCode.CODE_500;


/**
 * 返回结果
 * @author 20412
 */
@Data
@ApiModel("返回结果")
public class Result<T extends Object> {

    @ApiModelProperty(value = "是否成功")
    private Boolean success;

    @ApiModelProperty(value = "状态码")
    private Integer code;

    @ApiModelProperty(value = "返回消息")
    private String msg;

    @ApiModelProperty(value = "返回对象")
    private T data ;

    private Result() {}

    /** 成功静态方法 */
    public static Result OK() {
        Result r = new Result();
        r.setSuccess(true);
        r.setCode(CODE_200.getCode());
        r.setMsg("成功");
        return r;
    }

    public static <T> Result<T> OK(ResultCode code,T data){
        Result r = new Result();
        r.setSuccess(true);
        r.setCode(code.getCode());
        r.setMsg("部分成功");
        r.setData(data);
        return r;
    }

    /** 成功静态方法 */
    public static <T> Result<T> OK(T data) {
        Result r = new Result();
        r.setSuccess(true);
        r.setCode(CODE_200.getCode());
        r.setData(data);
        r.setMsg("成功");
        return r;
    }

    /** 成功静态方法 */
    public static <T> Result<T> OK(T data, String message) {
        Result r = new Result();
        r.setSuccess(true);
        r.setCode(CODE_200.getCode());
        r.setData(data);
        r.setMsg(message);
        return r;
    }

    /** 失败静态方法 */
    public static Result ERROR() {
        Result r = new Result();
        r.setSuccess(false);
        r.setCode(CODE_500.getCode());
        r.setMsg("失败");
        return r;
    }
    /** 失败静态方法 */
    public static Result ERROR(ResultCode code,String msg) {
        Result r = new Result();
        r.setSuccess(false);
        r.setCode(code.getCode());
        r.setMsg("失败");
        return r;
    }

    /** 失败静态方法 */
    public static Result ERROR(String message) {
        Result r = new Result();
        r.setSuccess(false);
        r.setCode(CODE_500.getCode());
        r.setMsg(message);
        return r;
    }

    /** 设置状态码 */
    public Result code(Integer code){
        this.setCode(code);
        return this;
    }

    /** 设置集合 */
    public Result<T> data(T map){
        this.setData(map);
        return this;
    }
}