package v2seal_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 V2SealOperateLogRequest struct {
	SealMultipleRequest *common.SealMultipleRequest `json:"sealMultipleRequest"`
	// <ext>core:true</ext> 【操作类型】操作类型 【作用】 查询指定操作类型的操作日志 【传参】 取值范围：ADD（创建操作），UPDATE（修改操作），VIEW（查看操作）；不传值默认为：所有操作类型。
	OperationBaseType string `json:"operationBaseType,omitempty"`
	// <ext>core:true;format:date</ext> 【记录开始时间】记录开始时间 【作用】 查询该时间之后新增的操作记录 【传参】 1、日期格式：yyyy-MM-dd HH:mm:ss。 2、不传则开始时间不限制。
	StartTime string `json:"startTime,omitempty"`
	// <ext>core:true;format:date</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 V2SealOperateLogRequest) GetUrl() string {
	return "/v2/seal/operate/log"
}

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