package contract_request

import (
	"git.sxidc.com/student-physical-examination/contract_lock_sdk/http"
)

type ContractListRequest struct {
	// <ext>core:true;format:string</ext> 【法人单位id】法人单位id 【作用】 按法人单位id查询对应单位的文件列表 【传参】 1、同时传入法人单位id、法人单位名称、统一社会信用代码/工商注册号中多个参数时，只按最高优先级查询，优先级为法人单位id>法人单位名称>统一社会信用代码/工商注册号。 2、法人单位id、法人单位名称、统一社会信用代码/工商注册号均未传入时，直接查询并返回平台方下所有文件集合。
	CompanyId *int64 `json:"companyId,omitempty"`
	// <ext>core:true</ext> 【返回数据排序方式】返回数据的排序方式 【作用】 定义查询结果返回的排序方式 【传参】 取值范围：AES（升序），DESC（降序）；不传值默认为：DESC（降序）。
	OrderMode string `json:"orderMode,omitempty"`
	// <ext>core:true</ext> 【法人单位名称】法人单位名称 【作用】 按法人单位名词查询对应单位的文件列表 【传参】 1、同时传入法人单位id、法人单位名称、统一社会信用代码/工商注册号中多个参数时，只按最高优先级查询，优先级为法人单位id>法人单位名称>统一社会信用代码/工商注册号。 2、法人单位id、法人单位名称、统一社会信用代码/工商注册号均未传入时，直接查询并返回平台方下所有文件集合。
	CompanyName string `json:"companyName,omitempty"`
	// <ext>core:true</ext> 【查询开始位置】查询开始位置 【作用】 指定从哪条数据开始查询 【传参】 最小值：0（包含），最大值：无限制；不传值默认为：0。
	SelectOffset *int64 `json:"selectOffset,omitempty"`
	// <ext>core:true</ext> 【查询限制条数】查询限制条数 【作用】 限制本次查询返回的最大条数 【传参】 最小值：0（包含），最大值：无限制；不传值默认为：1000。
	SelectLimit *int64 `json:"selectLimit,omitempty"`
	// <ext>core:true</ext> 【统一社会信用代码/工商注册号】统一社会信用代码/工商注册号 【作用】 按法人单位统一社会信用代码/工商注册号查询对应单位的文件列表 【传参】 1、同时传入法人单位id、法人单位名称、统一社会信用代码/工商注册号中多个参数时，只按最高优先级查询，优先级为法人单位id>法人单位名称>统一社会信用代码/工商注册号。 2、法人单位id、法人单位名称、统一社会信用代码/工商注册号均未传入时，直接查询并返回平台方下所有文件集合。
	RegisterNo string `json:"registerNo,omitempty"`
}

func (obj ContractListRequest) GetUrl() string {
	return "/contract/list"
}

func (obj ContractListRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewGetHttpParameter()
	parameter.AddParam("companyId", obj.CompanyId)
	parameter.AddParam("orderMode", obj.OrderMode)
	parameter.AddParam("companyName", obj.CompanyName)
	parameter.AddParam("selectOffset", obj.SelectOffset)
	parameter.AddParam("selectLimit", obj.SelectLimit)
	parameter.AddParam("registerNo", obj.RegisterNo)
	return parameter
}
