package com.luck.backstage.util;
import com.luck.backstage.constant.CommonEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import java.io.Serializable;
import static com.luck.backstage.constant.CommonEnum.FAILED_RESPONSE;
import static com.luck.backstage.constant.CommonEnum.SUCCESS_RESPONSE;
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ApiModel(description = "响应信息主体")
@Data
public class Result<T> implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "返回标记:成功标记=200,失败标记=400")
private int code;
@ApiModelProperty(value = "返回信息")
private String msg;
@ApiModelProperty(value = "数据")
private T data;
public static <T> Result<T> succeed() {
return restResult(null, SUCCESS_RESPONSE.getCode(), null);
}
public static <T> Result<T> succeed(T data) {
return restResult(data, SUCCESS_RESPONSE.getCode(), null);
}
public static <T> Result<T> succeed(T data, String msg) {
return restResult(data, SUCCESS_RESPONSE.getCode(), msg);
}
public static <T> Result<T> succeed(String msg) {
return restResult(null, SUCCESS_RESPONSE.getCode(), msg);
}
public static Result toAjax(int rows) {
return rows > 0 ? succeed() : fail(FAILED_RESPONSE.getCode(), "修改失败!请检查参数");
}
public static <T> Result<T> fail(int code, String msg) {
return restResult(null, code, msg);
}
public static <T> Result<T> fail(String msg) {
return restResult(null, FAILED_RESPONSE.getCode(), msg);
}
private static <T> Result<T> restResult(T data, int code, String msg) {
Result<T> apiResult = new Result<>();
apiResult.setCode(code);
apiResult.setData(data);
apiResult.setMsg(msg);
return apiResult;
}
public Result(CommonEnum commonEnum, T data) {
this.code = commonEnum.getCode();
this.msg = commonEnum.getMsg();
this.data = data;
}
public Result(CommonEnum commonEnum) {
this.code = commonEnum.getCode();
this.msg = commonEnum.getMsg();
}
public Result<T> setData(T data) {
this.data = data;
return this;
}
}
package com.luck.backstage.constant;
import lombok.Getter;
import lombok.Setter;
public enum CommonEnum {
SUCCESS_RESPONSE(200, "成功"),
FAILED_RESPONSE(400, "失败");
@Setter
@Getter
private Integer code;
@Setter
@Getter
private String msg;
CommonEnum(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
}