package com.zs.common;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@NoArgsConstructor
public class Result<T> {
private int code;
private String message;
private T result;
public Result(int code, String message, T result) {
this.result = result;
this.message = message;
this.code = code;
}
public Result(ResultCode resultCode, T result) {
this.result = result;
this.message = resultCode.getMessage();
this.code = resultCode.getCode();
}
public Result(ResultCode resultCode) {
this.message = resultCode.getMessage();
this.code = resultCode.getCode();
}
public static <T> Result<T> ok() {
return new Result<>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), null);
}
public static <T> Result<T> ok(T data) {
return new Result<>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), data);
}
public static <T> Result<T> fail(String message) {
return new Result<>(ResultCode.FAIL.getCode(), message, null);
}
public static <T> Result<T> fail(int result, String message) {
return new Result<>(result, message, null);
}
public static <T> Result<T> fail(int result, String message, T data) {
return new Result<>(result, message, data);
}
public boolean success() {
return code == ResultCode.SUCCESS.getCode();
}
}
package com.zs.common;
import org.apache.commons.lang.ObjectUtils;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
@Getter
@AllArgsConstructor
@NoArgsConstructor
public enum ResultCode {
SUCCESS(0, "ok"),
FAIL(-1, "操作失败,请联系管理员"),
;
private int code;
private String message;
public static ResultCode getResultCodeByCode(Integer code) {
for (ResultCode resultCode : ResultCode.values()) {
if (ObjectUtils.equals(code, resultCode.getCode())) {
return resultCode;
}
}
return null;
}
}