package seal_request

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

type SealApplyFinishRequest struct {
	// 用印申请ID 【作用】 需要强制结束的物理用印申请；默认结束申请中的所有印章，若指定了具体印章，则只结束指定的印章
	BusinessId *int64 `json:"businessId"`
	// 章筒识别码 【作用】 通过印章绑定的章筒的识别码来指定印章，结束申请中该印章的用印； 指定印章时，章筒识别码、印章ID、印章名称任意传入1项即可 【特殊说明】   章管家章筒的识别码取章筒蓝牙地址即可
	DeviceNo string `json:"deviceNo,omitempty"`
	// 印章ID 【作用】 通过印章ID来指定印章，结束申请中该印章的用印 指定印章时，章筒识别码、印章ID、印章名称任意传入1项即可
	SealId *float64 `json:"sealId,omitempty"`
	// 印章名称  【作用】 通过印章名称来指定印章，结束申请中该印章的用印 指定印章时，章筒识别码、印章ID、印章名称任意传入1项即可 【特殊说明】 使用印章名称指定时，请传入印章所属法人单位名称
	SealName string `json:"sealName,omitempty"`
	// 印章所属法人单位名称 【作用】  在该单位中查询印章名称 【特殊说明】  使用印章名称指定时，请传入印章所属法人单位名称
	OwnerName string `json:"ownerName,omitempty"`
	// 结束人联系方式 【作用】 根据联系方式查询系统用户，作为强制结束的操作人。 【传参方式】  联系方式允许使用：手机号、电子邮箱 【特殊说明】 联系方式与员工编号二选一必传
	Contact string `json:"contact,omitempty"`
	// 结束人员工编号 【作用】 根据员工编号查询系统用户，作为强制结束的操作人。 【特殊说明】 联系方式与员工编号二选一必传
	Number string `json:"number,omitempty"`
	// 结束原因 【作用】 记录强制结束的原因
	Reason string `json:"reason"`
}

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

func (obj SealApplyFinishRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewPostHttpParameter()
	parameter.AddParam("businessId", obj.BusinessId)
	parameter.AddParam("deviceNo", obj.DeviceNo)
	parameter.AddParam("sealId", obj.SealId)
	parameter.AddParam("sealName", obj.SealName)
	parameter.AddParam("ownerName", obj.OwnerName)
	parameter.AddParam("contact", obj.Contact)
	parameter.AddParam("number", obj.Number)
	parameter.AddParam("reason", obj.Reason)
	return parameter
}
