package cn.ey.biz.module.system.api.category.dto;

import cn.ey.biz.common.pojo.PageParam;
import cn.ey.biz.common.util.json.JsonUtils;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Map;

/**
 * 字典查询请求参数
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CategoryDynamicReq implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 字典分类
     * {@link cn.ey.biz.module.system.enums.category.CategoryCodeEnum}
     */
    private String categoryCode;

    /**
     * 请求处理方法
     * {@link cn.ey.biz.module.system.enums.category.CategoryFunctionEnum}
     */
    private String functionType;
    /**
     * 路径参数
     */
    private Map<String, Object> pathVariables;
    /**
     * 请求头参数
     */
    private Map<String, Object> defaultHeaders;

    /**
     * 请求参数
     */
    private Map<String, Object> parameters;

    /**
     * 查询条件参数
     */
    private Map<String, Object> requestBody;

    /**
     * 分页参数
     */
    private PageParam pageParam;


    @Override
    public String toString() {
        return "CategoryDynamicReq(categoryCode=" + this.categoryCode + ", functionType=" + this.getFunctionType()
                + ", parameters=" + JsonUtils.toJsonString(this.getParameters()) + ", requestBody=" + JsonUtils.toJsonString(this.getRequestBody()) + ")";
    }

}
