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 SealWarningRecordQueryRequest struct {
	SealMultipleRequest *common.SealMultipleRequest `json:"sealMultipleRequest"`
	// <ext>core:true</ext> 【预警规则ID】预警规则ID 【作用】 查询触发了该预警规则的风险预警
	RuleId string `json:"ruleId,omitempty"`
	// <ext>core:true</ext> 【预警处理进度】预警处理进度 【作用】 查询指定进度的风险预警 【传参】 取值范围：TODO（待处理），IGNORE（已忽略），COMPLETE（已处理）；不传值默认为全部。
	Progress string `json:"progress,omitempty"`
	// <ext>core:true</ext> 【风险程度】风险程度 【传参】 取值范围：HIGH（高危），CRITICAL（严重），IMPORTANT（重要），NORMAL（普通）；不传值默认为：NORMAL（普通）。
	Level string `json:"level,omitempty"`
	// <ext>core:true</ext> 【记录开始时间】记录开始时间 【作用】 查询该时间之后新增的风险预警记录 【传参】 1、日期格式：yyyy-MM-dd HH:mm:ss。 2、不传则开始时间不限制。
	StartTime string `json:"startTime,omitempty"`
	// <ext>core:true</ext> 【记录结束时间】记录结束时间 【作用】 查询该时间之前新增的风险预警记录 【传参】 1、日期格式：yyyy-MM-dd HH:mm:ss。 2、不传则结束时间不限制。
	EndTime string `json:"endTime,omitempty"`
	// <ext>core:true</ext> 【查询开始位置】查询开始位置 【作用】 指定从哪条数据开始查询 【传参】 最小值：0（包含）。最大值：无限制。不传值默认为：0。
	SelectOffset *int64 `json:"selectOffset,omitempty"`
	// <ext>core:true</ext> 【查询限制条数】查询限制条数 【作用】 限制本次查询返回的最大条数 【传参】 最小值：0（包含）。最大值：100。不传值默认为：全部
	SelectLimit *int64 `json:"selectLimit,omitempty"`
}

func (obj SealWarningRecordQueryRequest) GetUrl() string {
	return "/seal/warning/record/query"
}

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