package seal_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 SealApplyFinishV2Request struct {
	// <ext>core:true</ext> 【用印申请id】用印申请id 【作用】 查询需强制完成的物理用印申请
	BusinessId string                  `json:"businessId"`
	UserInfo   *common.UserInfoRequest `json:"userInfo"`
	// <ext>core:true</ext> 【结束原因】结束原因 【作用】 记录强制结束的原因 【传参】 最大长度500字符。
	Reason string `json:"reason,omitempty"`
	// 【印章使用次数】印章使用次数 【作用】 当用印的印章未绑定任何印控设备时，可在强制完成用印时传入印章和对应的使用次数，电子签章系统将记录对应的用印次数用于留痕。
	SealUsedCounts []*common.SealApplyFinishV2SealUsedCountsRequest `json:"sealUsedCounts,omitempty"`
}

func (obj SealApplyFinishV2Request) GetUrl() string {
	return "/seal/apply/finish/v2"
}

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