package contract_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 ContractTransmitRequest struct {
	// <ext>core:true;format:string</ext> 【电子签约文件id】电子签约文件id 【作用】 查询需抄送的电子签约文件。 【传参】 电子签约文件id和第三方业务系统文件id必传其一，均传入以电子签约文件id为准。
	ContractId *int64 `json:"contractId,omitempty"`
	// <ext>core:true</ext> 【第三方业务系统文件id】第三方业务系统文件id 【作用】 查询需抄送的电子签约文件。 【传参】 电子签约文件id和第三方业务系统文件id必传其一，均传入以电子签约文件id为准。
	BizId string `json:"bizId,omitempty"`
	// <ext>core:true</ext> 【抄送人】抄送人 【作用】 用于添加该电子签约文件的抄送人，抄送人将收到文件通知，可查看、下载文件 【传参】 1、参数必传其一（除姓名外），传入多个参数时只按参数中最高优先级查询，优先级为联系方式>成员编号>登录账号。 2、若使用联系方式查询用户，用户不存在时，则使用传入的姓名、联系方式创建用户。
	Transmitters []*common.ContractTransmitBean `json:"transmitters"`
}

func (obj ContractTransmitRequest) GetUrl() string {
	return "/contract/transmit"
}

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