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 ContractFinishAddattachmentRequest struct {
	// <ext>core:true;format:string;deprecated:false</ext> 【电子签约文件id】电子签约文件id 【作用】 指定需修改强制结束附件的电子签约文件 【传参】 电子签约文件id和第三方业务系统文件id必传其一，均传入以电子签约文件id为准。
	ContractId *int64 `json:"contractId,omitempty"`
	// <ext>core:true;format:string;deprecated:false</ext> 【第三方业务系统文件id】第三方业务系统文件id 【作用】 指定需改强制结束附件的电子签约文件 【传参】 电子签约文件id和第三方业务系统文件id必传其一，均传入以电子签约文件id为准。
	BizId string `json:"bizId,omitempty"`
	// <ext>core:true;inner-type:Json<Attachment[]></ext> 【强制结束附件】强制结束附件列表 【作用】 指定需添加的附件
	Attachment       string               `json:"attachment"`
	AttachmentObject []*common.Attachment `json:"attachmentObject,omitempty"`
}

func (obj ContractFinishAddattachmentRequest) GetUrl() string {
	return "/contract/finish/addattachment"
}

func (obj ContractFinishAddattachmentRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewPostHttpParameter()
	parameter.AddParam("contractId", obj.ContractId)
	parameter.AddParam("bizId", obj.BizId)
	if obj.AttachmentObject != nil {
		jsonBytes, _ := json.Marshal(obj.AttachmentObject)
		parameter.AddParam("attachment", string(jsonBytes))
	} else {
		parameter.AddParam("attachment", obj.Attachment)
	}
	return parameter
}
