package com.yeqifu.sys.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * DataGridView 用于封装分页查询或操作结果的返回数据。
 * 包含状态码、消息、记录总数和数据。
 * @Author: dzup
 * @Date: 2024/12/7
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DataGridView {
    private Integer code = 0; // 返回码,默认0表示成功
    private String msg = ""; // 提示信息,默认为空
    private Long count = 0L; // 记录总数,默认为0
    private Object data; // 返回的数据


    /**
     * 构造方法,仅传入数据,用于查询结果的集合
     * @param data 返回的数据
     */
    public DataGridView(Object data) {
        this.data = data;
    }

    /**
     *构造方法,传入记录数和数据,同于分页查询
     * @param count 记录总数
     * @param data 返回的数据
     */
    public DataGridView(Long count, Object data) {
        this.count = count;
        this.data = data;
    }

    /**
     * 构造方法,传入返回码和提示信息,同于分操作结果反馈
     *
     * @param code 状态码
     * @param msg  提示信息
     */
    public DataGridView(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
}