package com.heyutang.communityserviceplatform.common;
import com.heyutang.communityserviceplatform.constant.ResponseStatus;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
@Data
@Builder
public class R<T> {
private long timestamp;
private String status;
private String message;
private T data;
public static <T> R<T> success() {
return success(null);
}
public static <T> R<T> success(T data) {
return R.<T>builder().data(data)
.message(ResponseStatus.SUCCESS.getDescription())
.status(ResponseStatus.SUCCESS.getResponseCode())
.timestamp(System.currentTimeMillis())
.build();
}
public static <T extends Serializable> R<T> fail(String message) {
return fail(null, message);
}
public static <T> R<T> fail(T data, String message) {
return R.<T>builder().data(data)
.message(message)
.status(ResponseStatus.FAIL.getResponseCode())
.timestamp(System.currentTimeMillis())
.build();
}
}