package v2auth_request

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

type V2AuthSignsilentCompanyRecordRequest struct {
	AuthCompany *common.CompanyRequest `json:"authCompany,omitempty"`
	// 【印章管理员】印章管理员 【作用】 指定查询哪个印章管理员管理的印章的授权记录 【传参】 1、参数必传其一，传入多个参数时只按参数中最高优先级查询，优先级为用户id>联系方式>手机号>邮箱>成员编号>证件号>第三方业务系统用户id>登录账号。 2、同时传入authCompany（法人单位）、authUsers（印章管理员）、sealIds（印章ids）时，查询交集印章的授权记录；什么都不传时查询该业务系统下全部印章授权记录。
	AuthUsers []*common.UserInfoRequest `json:"authUsers,omitempty"`
	// 【印章id集合】印章id集合 【作用】 指定查询哪些印章的授权记录 【传参】 1、参数必传其一，传入多个时只按最高优先级查询，优先级为法人单位id>法人单位名称>统一社会信用代码/工商注册号>第三方业务系统法人单位id。 2、同时传入authCompany（法人单位）、authUsers（印章管理员）、sealIds（印章ids）时，查询交集印章的授权记录；什么都不传时查询该业务系统下全部印章授权记录。
	SealIds []string `json:"sealIds,omitempty"`
	// 【授权状态】授权状态 【作用】 查询指定状态的静默签授权记录，不传时查询全部状态的授权记录 【传参】 取值范围：EFFECT（生效中），EXPIRED（已过期），CANCEL（已取消）；不传值默认为：全部。
	Status string `json:"status,omitempty"`
}

func (obj V2AuthSignsilentCompanyRecordRequest) GetUrl() string {
	return "/v2/auth/signsilent/company/record"
}

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