package document_request

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

type DocumentDownloadRequest struct {
	// <ext>core:true;format:string;deprecated:false</ext> 【操作人联系方式】操作人联系方式 【作用】 通过操作人联系方式查询对应的用户，记录为业务系统中下载签署文档的操作人，方便后期追溯 【传参】 1、可传入手机号或邮箱，但必须在电子签章系统存在且具有签署文档下载权限，否则报错。 2、手机号允许使用大陆、港澳台、国际手机号，手机号格式为：区号+空格+手机号，例：852 9xxxxxxx ，大陆手机号可以不传区号。 3、邮箱需传入符合格式的字符串，例：xxxxxxxx@163.com。 4、传入此参数，name（操作人姓名）无效。若contract（操作人联系方式）、name（操作人姓名）均未传入，日志记录调用此接口的应用名称
	Contact string `json:"contact,omitempty"`
	// <ext>core:true;format:string;deprecated:false</ext> 【操作人姓名】操作人姓名 【作用】 若操作人联系方式未传入，可传入业务系统中下载文件的操作人姓名，用于日志记录 【传参】 1、可传入操作人姓名例如张三 2、传入contract（操作人联系方式），则此参数无效。若contract（操作人联系方式）、name（操作人姓名）均未传入，日志记录调用此接口的应用名称
	Name string `json:"name,omitempty"`
	// <ext>core:true;format:string;deprecated:false</ext> 【签署文档id】签署文档id 【作用】 查询需下载的签署文档
	DocumentId *int64 `json:"documentId,omitempty"`
	// <ext>core:true;format:string;deprecated:false</ext> 【黑白文件】黑白文件 【作用】 调用创建签署文档时，若进行了文件脱敏设置，可在此处设置是否需下载文档脱敏后的格式 【传参】 PDF_BLACK_SEAL（PDF黑白黑章文件），OFD_BLACK_SEAL（OFD黑白黑章文件）；未传值默认为：根据【用印流程-高级配置-文件下载设置-签署文件下载类型默认值】中勾选值返回对应类型，若勾选了“签署完成后文件（黑白格式）”且文件签署完成的情况下，返回黑白文件
	DocumentFormat string `json:"documentFormat,omitempty"`
}

func (obj DocumentDownloadRequest) GetUrl() string {
	return "/document/download"
}

func (obj DocumentDownloadRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewGetHttpParameter()
	parameter.AddParam("contact", obj.Contact)
	parameter.AddParam("name", obj.Name)
	parameter.AddParam("documentId", obj.DocumentId)
	parameter.AddParam("documentFormat", obj.DocumentFormat)
	return parameter
}
