package others_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 SdkPersonalRequest struct {
	// 【文件主题】文件主题 【作用】 本地签署文件的标题，用于后续标记区分不同的本地签署文件 【传参】 最大长度：500（包含）。
	Subject string `json:"subject,omitempty"`
	// 【第三方业务系统文件id】第三方业务系统文件id 【作用】 可传入业务系统中唯一的文件id，方便后续查询本地签署文件、下载本地签署文件存证报告等 【传参】 最大长度：200（包含）。
	BizId       string                         `json:"bizId,omitempty"`
	FileStream  *common.LocalSignFileStream    `json:"fileStream"`
	Operator    *common.UserInfoRequest        `json:"operator"`
	SealRequest *common.SdkPersonalSealRequest `json:"sealRequest"`
	// 【签署位置】签署位置 【作用】 指定签署位置用于本地静默签署
	Stampers []*common.LocalSignPersonalStamper `json:"stampers"`
}

func (obj SdkPersonalRequest) GetUrl() string {
	return "/sdk/personal"
}

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