package com.greenorange.promotion.common;

@SuppressWarnings("all")
public class ResultUtils {

    /**
     * 成功
     *
     * @param data 数据
     * @param <T> 泛型
     * @return 成功信息
     */
    public static <T> BaseResponse<T> success(T data) {
        return new BaseResponse<>(1, data , "ok");
    }

    /**
     * 成功
     *
     * @param data    数据
     * @param message 成功消息
     * @return 成功
     */
    public static <T> BaseResponse<T> success(T data, String message) {
        return new BaseResponse<>(1, data, message);
    }

    /**
     * 失败
     *
     * @param errorCode 自定义错误码
     * @return 失败信息
     */
    public static <T> BaseResponse<T> error(ErrorCode errorCode) {
        return new BaseResponse<>(errorCode);
    }

    /**
     * 失败
     *
     * @param code    错误码
     * @param message 消息
     * @return 失败信息
     */
    public static <T> BaseResponse<T> error(int code, String message) {
        return new BaseResponse(code, null, message);
    }

    /**
     * 失败
     *
     * @param errorCode 自定义错误码
     * @return 失败信息
     */
    public static <T> BaseResponse<T> error(ErrorCode errorCode, String message) {
        return new BaseResponse(errorCode.getCode(), null, message);
    }
}
