package file_request

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

type FileVerifyBatchStartRequest struct {
	// <ext>core:true;format:string</ext>  【签署文档id】签署文档id  【作用】  查询需要获取签名信息的文档。
	DocumentIds []int64 `json:"documentIds"`
	// <ext>core:true</ext>   【是否生成验签结果文件】是否生成验签结果文件   【作用】   可配置是否生成验签结果的统计报表和每份文档的验签报告文件，若选择生成则将在验签完成后返回文件的下载链接，若选择不生成则仅可通过返回参数获取验签结果  【传参】  取值范围：true（生成），false（不生成）；不传值默认为：false（不生成）。
	GenerateResultFiles *bool `json:"generateResultFiles,omitempty"`
	// <ext>core:true</ext>   【验签结果保留时机】验签结果保留时机 【作用】   批量验签将会生成统计表和每份文件的验签报告，会占用存储空间。可选择下载一次以后就清空或永久保留。 【传参】  1、取值范围：DELETE_AFTER_DOWNLOADING_ONCE（下载一次后删除），PERMANENT_SAVE（永久保留）；不传值默认为：DELETE_AFTER_DOWNLOADING_ONCE（下载一次后删除）。 2、该参数仅在 generateResultFiles（是否生成验签结果文件）传值为true时生效
	SaveType string `json:"saveType,omitempty"`
}

func (obj FileVerifyBatchStartRequest) GetUrl() string {
	return "/file/verify/batch/start"
}

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