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 SealApplyCompleteRequest struct {
	// <ext>core:true</ext> 【用印申请id】用印申请id 【作用】 查询需结束用印的物理用印申请，结束指定印章或全部印章的用印
	BusinessId  string                               `json:"businessId"`
	SealRequest *common.SealApplyCompleteSealRequest `json:"sealRequest,omitempty"`
	// <ext>core:true</ext> 【印章使用次数】印章使用次数 【作用】 1、当用印的印章未绑定任何印控设备时，可在结束用章用印时传入印章使用次数，电子签章系统将记录留痕。 2、若印章己绑定智能设备，则传入的信息不生效 3、若传入的印章使用次数大于申请的用印次数，则传入信息不生效
	UsedCount *int64                  `json:"usedCount,omitempty"`
	UserInfo  *common.UserInfoRequest `json:"userInfo"`
	// <ext>core:true</ext> 【结束原因】结束原因 【作用】 记录结束用印的原因 【传参】 最大长度500字符。
	Reason string `json:"reason,omitempty"`
}

func (obj SealApplyCompleteRequest) GetUrl() string {
	return "/seal/apply/complete"
}

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