package document_request

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

type DocumentOnlinecompareRequest struct {
	// <ext>core:true;format:string</ext> 【签署文档id】签署文档id 【作用】 支持将系统内签署完成的文件作为原文件进行比对 【传参】 签署文档id与线下文件至少传入一个，均传入时优先签署文档id。
	DocumentId *float64 `json:"documentId,omitempty"`
	// <ext>deprecated:true</ext> 【线下文件】线下文件 【作用】 支持上传线下文件作为原文件进行比对 【传参】 1、签署文档id与线下文件至少传入一个，均传入时优先签署文档id。 2、支持的文件格式：pdf。 3、大小不超过50M。
	OrignFile *os.File `json:"orignFile,omitempty"`
	// <ext>deprecated:true</ext> 【比对文件】比对文件 【作用】 上传需要比对的文件 【传参】 1、支持的文件格式：pdf。 2、大小不超过50M。
	ComPareFile *os.File `json:"comPareFile,omitempty"`
	// <ext>core:true</ext> 【线下文件】线下文件 【作用】 支持上传线下文件作为原文件进行比对。文件上传后系统将自动将文件转换为PDF格式，传入多份即按传入顺序拼接合成一份PDF文件进行比对 【传参】 1、签署文档id与线下文件至少传入一个，均传入时优先签署文档id。 2、支持的文件格式：pdf，png，jpg，jpeg。 3、文件大小总和不超过50M。
	OrignFiles []*os.File `json:"orignFiles,omitempty"`
	// <ext>core:true</ext> 【比对文件】比对文件 【作用】 上传需比对的文件。文件上传后系统将自动将文件转换为PDF格式，传入多份即按传入顺序拼接合成一份PDF文件进行比对 【传参】 1、支持的文件格式：pdf，png，jpg，jpeg。 2、文件大小总和不超过50M。
	ComPareFiles []*os.File `json:"comPareFiles,omitempty"`
	// <ext>core:true</ext> 【链接有效期】链接有效期 【作用】 1、用于设置获取到的链接在多长时间后过期 2、参数不传值时，链接有效期取电子签章管理后台设置的“接口页面默认有效期 3、参数传入时长超过电子签章管理后台设置的“接口页面最大有效期天数”时，将以后台设置的有效期为准 【传参】 最小值：1。单位：秒。
	ExpireTime *int64 `json:"expireTime,omitempty"`
	// <ext>core:true;format:string</ext> 【签署文档id】签署文档id 【作用】 支持将系统内签署完成的文件作为被比对文件进行比对 【传参】 签署文档id与线下文件至少传入一个，均传入时优先签署文档id。
	ComPareDocumentId *float64 `json:"comPareDocumentId,omitempty"`
}

func (obj DocumentOnlinecompareRequest) GetUrl() string {
	return "/document/onlineCompare"
}

func (obj DocumentOnlinecompareRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewPostHttpParameter()
	parameter.AddParam("documentId", obj.DocumentId)
	parameter.AddParam("expireTime", obj.ExpireTime)
	parameter.AddParam("comPareDocumentId", obj.ComPareDocumentId)
	parameter.AddFiles("orignFile", obj.OrignFile)
	parameter.AddFiles("comPareFile", obj.ComPareFile)
	parameter.AddListFiles("orignFiles", obj.OrignFiles)
	parameter.AddListFiles("comPareFiles", obj.ComPareFiles)
	return parameter
}
