package index

import "github.com/rdlucklib/rdluck_tools/paging"

type GetBusinessDataReq struct {
	CurrentIndex int    `json:"current_index" form:"current_index" binding:"required"  description:"当前页码"`
	PageSize     int    `json:"page_size" form:"page_size" binding:"required"  description:"单页条数,自己填,一页要多少条,最大2000条"`
	IndexCode    string `json:"index_code" form:"index_code" description:"指标编码"`
	IndexPkgCode string `json:"index_pkg_code" form:"index_pkg_code" description:"指标包编码,与指标编码二选一填写"`
	DataDate     string `json:"data_date" form:"data_date" description:"指定数据日期,数据日期格式为2024-05-15"`
	StartDate    string `json:"start_date" form:"start_date" description:"启始时间,格式 YYYY-MM-DD 如:2024-05-15;不为空时,将过滤出数据日期>=startDate 的数据行"`
	EndDate      string `json:"end_date" form:"end_date" description:"结束时间,格式 YYYY-MM-DD 如:2024-05-15;不为空时,将过滤出数据日期<=endDate 的数据行"`
	//Sort                      string `json:"sort" description:"排序字段,默认为0正序;按数据日期字段排序,0为正序 1为倒序"`
	DataSourceType            string `json:"data_source_type" form:"data_source_type"  description:"内部来源系统参数,可只获取对应数据源数据,不传则默认获取所有数据源信息;参数含义:① CY产研平台;② RPA;③ KSF 金仕达;④CRM参数例子: CY,RPA,KSF,CRM  (参数传递字符串列表,通过逗号分隔)"`
	InfoLastUpdateStartTime   string `json:"info_last_update_start_time" form:"info_last_update_start_time" description:"资产信息数据落到数仓时间,参数:YYYY-MM-DD HH24:MI:SS 如:2024-05-15 10:16:52不为空时,将过滤出 资产信息入库时间>=infoLastUpdateStartTime 的数据行"`
	InfoLastUpdateEndTime     string `json:"info_last_update_end_time" form:"info_last_update_end_time" description:"资产信息数据落到数仓时间,参数:YYYY-MM-DD HH24:MI:SS 如:2024-05-15 10:16:52不为空时,将过滤出 资产信息入库时间<=infoLastUpdateStartTime 的数据行"`
	DetailLastUpdateStartTime string `json:"detail_last_update_start_time" form:"detail_last_update_start_time" description:"明细数据落到数仓启始时间,参数:YYYY-MM-DD HH24:MI:SS 如:2024-05-15 10:16:52不为空时,将过滤出 资产详细信息入库时间>=detailLastUpdateStartTime 的数据行,建议延迟15分钟抽取"`
	DetailLastUpdateEndTime   string `json:"detail_last_update_end_time" form:"detail_last_update_end_time" description:"明细数据落到数仓结束时间,参数:YYYY-MM-DD HH24:MI:SS 如:2024-05-15 10:16:52不为空时,将过滤出 资产详细信息入库时间<=detailLastUpdateStartTime 的数据行,建议延迟15分钟抽取"`
}

type GetBusinessDataResp struct {
	List   []PushBusinessIndex
	Paging *paging.PagingItem `description:"分页数据"`
}

// PushBusinessIndex
// @Description:  添加外部指标(商家)请求
type PushBusinessIndex struct {
	IndexCode            string            `description:"指标编码"`
	IndexName            string            `description:"指标名称"`
	Unit                 string            `description:"单位"`
	Frequency            string            `description:"频度"`
	SourceName           string            `description:"数据来源名称"`
	Remark               string            `description:"备注字段"`
	DetailDataCreateTime string            `description:"明细数据入库时间"`
	DataList             []AddBusinessData `description:"指标数据"`
}

// AddBusinessData
// @Description: 外部指标(商家系统)数据
type AddBusinessData struct {
	Value float64 `description:"值"`
	Date  string  `description:"日期"`
}