package v2template_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"
	"os"
)

type V2TemplateUpdateRequest struct {
	// <ext>inner-type:Json<UpdateTemplateInfo>;core:true</ext> 【模板信息】模板信息
	TemplateInfo string `json:"templateInfo"`
	// <ext>core:true</ext> 【模板文件】模板文件 【作用】 传入需更新的模板文件 【传参】 1、若修改HTML模板的文件，仅支持传入契约锁系统导出html模板时生成的txt、json格式的文件。 2、若修改PDF模板的文件，仅支持传入PDF格式的模板文件。 3、若修改Word模板，仅支持传入docx等格式的模板文件。
	TemplateFile       *os.File                   `json:"templateFile,omitempty"`
	TemplateInfoObject *common.UpdateTemplateInfo `json:"templateInfoObject,omitempty"`
}

func (obj V2TemplateUpdateRequest) GetUrl() string {
	return "/v2/template/update"
}

func (obj V2TemplateUpdateRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewPostHttpParameter()
	parameter.AddFiles("templateFile", obj.TemplateFile)
	if obj.TemplateInfoObject != nil {
		jsonBytes, _ := json.Marshal(obj.TemplateInfoObject)
		parameter.AddParam("templateInfo", string(jsonBytes))
	} else {
		parameter.AddParam("templateInfo", obj.TemplateInfo)
	}
	return parameter
}
