package seal_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 SealWarningRuleOperateRequest struct {
	// <ext>core:true</ext> 【预警规则名称】预警规则名称 【作用】 指定要修改状态的预警规则 【传参】 预警规则名称和预警规则ID至少传一个，均传入时以预警规则ID为准
	RuleName string `json:"ruleName,omitempty"`
	// <ext>core:true</ext> 【预警规则ID】预警规则ID 【作用】 指定要修改状态的预警规则 【传参】 预警规则名称和预警规则ID至少传一个，均传入时以预警规则ID为准
	Id string `json:"id,omitempty"`
	// <ext>core:true</ext> 【集团id】集团id 【作用】 指定当前印章预警规则所属集团 【传参】 集团id、单位信息、组织信息都可用于指定印章预警规则的所属集团；均传入时只按最高优先级查询，优先级为集团id>法人单位信息>组织信息；都不传时，默认创建在平台方集团内。
	OrgId      string                    `json:"orgId,omitempty"`
	Company    *common.CompanyRequest    `json:"company,omitempty"`
	Department *common.DepartmentRequest `json:"department,omitempty"`
	// <ext>core:true</ext> 【修改方式】修改方式 【作用】 指定本次需要执行的状态修改操作： 1、启用：规则启用后才会触发风险预警 2、停用：停用后不会触发风险预警，但可随时启用 3、删除：删除后不会触发风险预警，且无法恢复 【传参】 取值范围：ENABLE（启用），DISABLE（停用），DELETE（删除）。
	OperateType string `json:"operateType"`
}

func (obj SealWarningRuleOperateRequest) GetUrl() string {
	return "/seal/warning/rule/operate"
}

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