package seal_request

import (
	"private-go-sdk/http"
	"encoding/json"
	"private-go-sdk/model/common"
)

type SealcategoryUpdateRequest struct {
	// <ext>core:true</ext> 【印章类型名称】印章类型名称 【作用】 指定要修改的印章类型 【传参】 最大长度：50（包含）
	SealCategoryName string `json:"sealCategoryName"`
	// <ext>core:true;format:string</ext> 【集团id】集团id 【作用】 指定需要修改的印章类型所属的集团 【传参】 集团id、单位信息、组织信息都可用于指定印章类型的所属集团；均传入时只按最高优先级查询，优先级为集团id>法人单位信息>组织信息；都不传时，默认取平台方集团的印章类型。
	OrgId *int64 `json:"orgId,omitempty"`
	Company *common.CompanyRequest `json:"company,omitempty"`
	Department *common.DepartmentRequest `json:"department,omitempty"`
	// <ext>core:true</ext> 【新印章类型名称】新印章类型名称 【传参】 1、最大长度：50（包含）。 2、不传值则不做修改。
	NewSealCategoryName string `json:"newSealCategoryName,omitempty"`
	// <ext>core:true</ext> 【新上级印章类型名称】新上级印章类型名称 【作用】 若印章类型之间存在层级关系，可通过此参数设置上级类型 【传参】 1、最大长度：50（包含）。 2、不传值则不做修改。
	NewParentSealCategoryName string `json:"newParentSealCategoryName,omitempty"`
	// <ext>core:true</ext> 【更新可用印章形式】更新可用印章形式 【作用】 指定该印章类型可用于哪些形式的印章 【传参】 取值范围：ELECTRONIC（电子印章），PHYSICS（物理印章），UKEY（Ukey印章），MOBILE（移动印章）；不传值则不修改。
	ApplyScope []string `json:"applyScope,omitempty"`
	// <ext>core:true</ext> 【更新状态】更新状态 【传参】 取值范围：NORMAL(启用)，FREEZE(停用)；不传值则不修改。
	Status string `json:"status,omitempty"`
	// <ext>core:true</ext> 【更新允许创建多个印章的印章形式】更新允许创建多个印章的印章形式 【作用】 1、指定哪些印章形式下，此类型的印章可创建多枚 2、若不允许创建多枚，则每个法人单位下，此类型的印章只能生效一枚 【传参】 取值范围：ELECTRONIC（电子印章），PHYSICS（物理印章），UKEY（Ukey印章），MOBILE（移动印章）；传值需在applyScope（可用印章形式）的范围内；不传值则不修改。
	AllowMultiple []string `json:"allowMultiple,omitempty"`
}
func (obj SealcategoryUpdateRequest) GetUrl() string {
    return "/sealcategory/update"
}

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