package company_request

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

type CompanyListRequest struct {
	// <ext>core:true</ext> 【租户类型】租户类型 【作用】 筛选指定类型的法人单位 【传参】 取值范围：CORPORATE（平台方），COMPANY（外部单位），INNER_COMPANY（内部单位）；不传参时默认全部法人单位。
	TenantType string `json:"tenantType,omitempty"`
	// <ext>core:true</ext> 【单位冻结状态】单位冻结状态 【作用】 筛选指定状态的法人单位 【传参】 取值范围：TRUE（已冻结），FALSE（未冻结）；不传值默认为：查询所有单位。
	Freeze string `json:"freeze,omitempty"`
	// <ext>core:true;deprecated:true</ext> 【法人单位名称】法人单位名称 【作用】 查询指定法人单位 【传参】 1、传入单位名称后，租户类型、单位冻结状态参数将不生效。 2、不传值默认为：全部法人单位。
	CompanyName string `json:"companyName,omitempty"`
	// <ext>core:true;format:date</ext>  【法人单位最后更新时间】法人单位最后更新时间 【作用】 用于获取在接口传入的时间之后发生更新的法人单位 【传参】 日期格式：yyyy-MM-dd HH:mm:ss， 不传时默认查询所有法人单位。
	UpdateTime string `json:"updateTime,omitempty"`
}

func (obj CompanyListRequest) GetUrl() string {
	return "/company/list"
}

func (obj CompanyListRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewGetHttpParameter()
	parameter.AddParam("tenantType", obj.TenantType)
	parameter.AddParam("freeze", obj.Freeze)
	parameter.AddParam("companyName", obj.CompanyName)
	parameter.AddParam("updateTime", obj.UpdateTime)
	return parameter
}
