package cert_request

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

type CertQueryRequest struct {
	// <ext>core:true</ext> 【证书序列号】证书序列号
	SerialNo string `json:"serialNo,omitempty"`
	// <ext>core:true</ext>【法人单位id】法人单位id
	CompanyId *int64 `json:"companyId,omitempty"`
	// <ext>core:true</ext> 【第三方业务系统法人单位id】第三方业务系统法人单位id
	OpenCompanyId string `json:"openCompanyId,omitempty"`
	// <ext>core:true</ext> 【法人单位名称】法人单位名称
	CompanyName string `json:"companyName,omitempty"`
	// <ext>core:true</ext> 【法人单位代码】法人单位代码 【传参】 支持传入当前单位存储的统一社会信用代码或工商注册号
	RegisterNo string `json:"registerNo,omitempty"`
	// <ext>core:true</ext> 【用户id】用户id
	UserId *int64 `json:"userId,omitempty"`
	// <ext>core:true</ext> 【第三方业务系统用户id】第三方业务系统用户id
	OpenUserId string `json:"openUserId,omitempty"`
	// <ext>core:true</ext> 【业务系统标识】业务系统标识 【作用】 1：根据第三方业务系统用户id查询系统成员/用户信息时使用 2：涉及到多套业务系统集成且不同系统间第三方业务系统用户id可能重复时需要传入该参数
	SystemCode string `json:"systemCode,omitempty"`
	// <ext>core:true</ext> 【用户联系方式】用户联系方式 【传参】 mobile（手机号），email（邮箱） 【特殊说明】 手机号允许使用国际手机号手机号，手机号格式为：区号+空格+手机号，例：852 9xxxxxxx ，大陆手机号可以不传区号
	Contact string `json:"contact,omitempty"`
	// <ext>core:true</ext> 【自定义登录账号】自定义登录账号
	AccountNo string `json:"accountNo,omitempty"`
	// <ext>core:true</ext> 【成员编号】成员编号
	Number string `json:"number,omitempty"`
	// <ext>core:true</ext> 【每页数量 】每页数量  【传参】 传入正整数；不传值默认为:10。 单位：条。
	PageSize *float64 `json:"pageSize,omitempty"`
	// <ext>core:true</ext> 【指定页码】指定页码 【传参】 传入正整数；不传值默认为:1。 单位：页。
	PageNo *float64 `json:"pageNo,omitempty"`
}

func (obj CertQueryRequest) GetUrl() string {
	return "/cert/query"
}

func (obj CertQueryRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewPostHttpParameter()
	jsonBytes, _ := json.Marshal(obj)
	parameter.SetJsonParamer(string(jsonBytes))
	return parameter
}
