package contract_request

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

type ContractDetailRequest struct {
	// <ext>core:true</ext> 【返回证书列表】返回证书列表 【作用】 若节点签署完成，可控制是否返回节点所使用的证书列表 【传值】 取值范围：true（返回），false（不返回）；不传值默认为：fasle（不返回）。
	ShowCertValue *bool `json:"showCertValue,omitempty"`
	// <ext>core:true;format:string</ext> 【电子签约文件ID】电子签约文件ID 【作用】 指定需查询详情的电子签约文件 【传参】 电子签约文件id和第三方业务系统文件id必传其一，均传入以电子签约文件id为准。
	ContractId *int64 `json:"contractId,omitempty"`
	// <ext>core:true</ext> 【第三方业务系统文件id】第三方业务系统文件id 【作用】 指定需查询详情的电子签约文件 【传参】 电子签约文件id和第三方业务系统文件id必传其一，均传入以电子签约文件id为准。
	BizId string `json:"bizId,omitempty"`
	// <ext>core:true</ext> 【是否返回图片参数】是否返回图片参数 【作用】 若返回的模板参数中存在图片参数，系统会以Base64格式参数格式返回，可能会导致返回的数据量较大，可根据实际业务选择是否返回图片参数值 【传值】 取值范围：true（返回），false（不返回）；不传值默认为：true（返回）。
	DisplayImageValue string `json:"displayImageValue,omitempty"`
	// 【是否查询签署方用印记录】是否查询签署方用印记录
	CountSeal string `json:"countSeal,omitempty"`
	// <ext>core:true</ext> 【返回文档参数内容】返回文档参数内容 【作用】 若电子签约文件为模板文件，文件中存在需签署方填写的参数，可控制是否返回模板参数内容，内容包括参数名称、填写值、是否必填等信息 【传值】 取值范围：true（返回），false（不返回）；不传值默认为：true（返回）。 【特殊说明】 若文件非模板文件或为模板文件但无模板参数，则返回为空
	ShowParamValue string `json:"showParamValue,omitempty"`
}

func (obj ContractDetailRequest) GetUrl() string {
	return "/contract/detail"
}

func (obj ContractDetailRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewGetHttpParameter()
	parameter.AddParam("showCertValue", obj.ShowCertValue)
	parameter.AddParam("contractId", obj.ContractId)
	parameter.AddParam("bizId", obj.BizId)
	parameter.AddParam("displayImageValue", obj.DisplayImageValue)
	parameter.AddParam("countSeal", obj.CountSeal)
	parameter.AddParam("showParamValue", obj.ShowParamValue)
	return parameter
}
