package datacenter_client type ( // 公共部分 Pagination struct { Current uint32 `json:"current"` PageSize uint32 `json:"pageSize"` Total uint32 `json:"total"` } AppInfo struct { Id int64 `json:"id"` AppName string `json:"app_name"` ProjectIds []int64 `json:"project_ids"` Secret string `json:"secret"` Status int64 `json:"status"` ExpireAt string `json:"expire_at"` CTime string `json:"c_time"` } ItemHistoryResp struct { ProjectId int `json:"project_id"` ItemName string `json:"item_name"` Val float64 `json:"val"` HTime string `json:"h_time"` } InstrumentCompareData struct { Max float64 `json:"max_val"` Min float64 `json:"min_val"` Avg float64 `json:"avg_val"` } RangeFirstLast struct { First float64 `json:"first"` Last float64 `json:"last"` } WorkingPump struct { Id int64 `json:"id"` ProjectId int64 `json:"project_id"` DeviceCode string `json:"device_code"` FeedPressure float64 `json:"feed_pressure"` OutPressure float64 `json:"out_pressure"` Duration int64 `json:"duration"` Current float64 `json:"current"` Frequency float64 `json:"frequency"` Lift float64 `json:"lift"` Efficiency float64 `json:"efficiency"` RunStatus int64 `json:"run_status"` FaultStatus int64 `json:"fault_status"` CTime string `json:"c_time"` } WorkingChest struct { Id int64 `json:"id"` ProjectId int64 `json:"project_id"` DeviceCode string `json:"device_code"` Switch int64 `json:"switch"` Level float64 `json:"level"` AgitatorStatus int64 `json:"agitator_status"` AgitatorDuration int64 `json:"agitator_duration"` AgitatorFaultStatus int64 `json:"agitator_fault_status"` CTime string `json:"c_time"` } WorkingRo struct { Id int64 `json:"id"` ProjectId int64 `json:"project_id"` DeviceCode string `json:"device_code"` WaterTemperature float64 `json:"water_temperature"` FeedFlow_1St float64 `json:"feed_flow_1st"` ConFlow_1St float64 `json:"con_flow_1st"` ProductFlow_1St float64 `json:"product_flow_1st"` FeedPressure_1St float64 `json:"feed_pressure_1st"` ConPressure_1St float64 `json:"con_pressure_1st"` ProductPressure_1St float64 `json:"product_pressure_1st"` Tmp_1St float64 `json:"tmp_1st"` Flux_1St float64 `json:"flux_1st"` Permeability_1St float64 `json:"permeability_1st"` FeedFlow_2Nd float64 `json:"feed_flow_2nd"` ConFlow_2Nd float64 `json:"con_flow_2nd"` ProductFlow_2Nd float64 `json:"product_flow_2nd"` FeedPressure_2Nd float64 `json:"feed_pressure_2nd"` ConPressure_2Nd float64 `json:"con_pressure_2nd"` ProductPressure_2Nd float64 `json:"product_pressure_2nd"` Tmp_2Nd float64 `json:"tmp_2nd"` Flux_2Nd float64 `json:"flux_2nd"` Permeability_2Nd float64 `json:"permeability_2nd"` FeedFlow_3Th float64 `json:"feed_flow_3th"` ConFlow_3Th float64 `json:"con_flow_3th"` ProductFlow_3Th float64 `json:"product_flow_3th"` FeedPressure_3Th float64 `json:"feed_pressure_3th"` ConPressure_3Th float64 `json:"con_pressure_3th"` ProductPressure_3Th float64 `json:"product_pressure_3th"` Tmp_3Th float64 `json:"tmp_3th"` Flux_3Th float64 `json:"flux_3th"` Permeability_3Th float64 `json:"permeability_3th"` FeedWqTurbidity float64 `json:"feed_wq_turbidity"` FeedWqPh int64 `json:"feed_wq_ph"` ProductWqPh int64 `json:"product_wq_ph"` FeedWqAl float64 `json:"feed_wq_al"` ProductWqAl float64 `json:"product_wq_al"` FeedWqFe float64 `json:"feed_wq_fe"` ProductWqFe float64 `json:"product_wq_fe"` FeedWqMn float64 `json:"feed_wq_mn"` ProductWqMn float64 `json:"product_wq_mn"` FeedWqSio2 float64 `json:"feed_wq_sio_2"` ProductWqSio2 float64 `json:"product_wq_sio_2"` FeedWqCod float64 `json:"feed_wq_cod"` ProductWqCod float64 `json:"product_wq_cod"` FeedWqP float64 `json:"feed_wq_p"` ProductWqP float64 `json:"product_wq_p"` Step int64 `json:"step"` FilterTime float64 `json:"filter_time"` FilterCycle int64 `json:"filter_cycle"` CTime string `json:"c_time"` } WorkingUf struct { Id int64 `json:"id"` ProjectId int64 `json:"project_id"` DeviceCode string `json:"device_code"` WaterTemperature float64 `json:"water_temperature"` FeedFlow float64 `json:"feed_flow"` ConFlow float64 `json:"con_flow"` ProductFlow float64 `json:"product_flow"` FeedPressure float64 `json:"feed_pressure"` ConPressure float64 `json:"con_pressure"` ProductPressure float64 `json:"product_pressure"` Tmp float64 `json:"tmp"` Flux float64 `json:"flux"` Permeability float64 `json:"permeability"` FeedWqTurbidity float64 `json:"feed_wq_turbidity"` FeedWqPh int64 `json:"feed_wq_ph"` ProductWqPh int64 `json:"product_wq_ph"` FeedWqAl float64 `json:"feed_wq_al"` ProductWqAl float64 `json:"product_wq_al"` FeedWqFe float64 `json:"feed_wq_fe"` ProductWqFe float64 `json:"product_wq_fe"` FeedWqMn float64 `json:"feed_wq_mn"` ProductWqMn float64 `json:"product_wq_mn"` FeedWqSio2 float64 `json:"feed_wq_sio_2"` ProductWqSio2 float64 `json:"product_wq_sio_2"` FeedWqCod float64 `json:"feed_wq_cod"` ProductWqCod float64 `json:"product_wq_cod"` FeedWqP float64 `json:"feed_wq_p"` ProductWqP float64 `json:"product_wq_p"` Step int64 `json:"step"` FilterTime float64 `json:"filter_time"` FilterCycle int64 `json:"filter_cycle"` CTime string `json:"c_time"` } DataDescribeInfo struct { Count uint32 `json:"count"` Min float64 `json:"min"` Max float64 `json:"max"` Mean float64 `json:"mean"` StdDev float64 `json:"std_dev"` VarDev float64 `json:"var_dev"` P25 float64 `json:"p25"` P50 float64 `json:"p50"` P75 float64 `json:"p75"` St string `json:"st"` Et string `json:"et"` } RelatedItems struct { Item string `json:"item"` Coefficient float32 `json:"coefficient"` } DataCorrelationInfo struct { RelatedItems map[string]*RelatedItems `json:"related_items"` St string `json:"st"` Et string `json:"et"` } DataDescribeMinAndMaxInfo struct { Min float64 `json:"min"` Max float64 `json:"max"` } ) type ( // 请求参数部分 FindWorkingUfByCycleReq struct { ProjectId int64 DeviceCode string FilterCycle int64 Step int64 FilterTimeStart float64 FilterTimeEnd float64 Limit int64 } DcWorkingReq struct { ProjectId int64 DeviceCode string Stime string Etime string Page int64 PageSize int64 Order string } // 点位最大 and 最小值请求 RangeMaxMinReq struct { ProjectId string ItemName string Stime string Etime string } RangeFirstLastReq struct { ProjectId string ItemName string Stime string Etime string } ItemHistoryReq struct { ProjectId string ItemName string Stime string Etime string } // 点位数据写入结构 ItemHistoryData struct { ProjectId int `json:"project_id"` ItemName string `json:"item_name"` Val float64 `json:"val"` HTime string `json:"h_time"` } // 点位数据写入请求 MultiAddReq struct { List []ItemHistoryData `json:"list"` } ItemHistoryListReq struct { ProjectId int ItemName string Stime string Etime string Size int Interval string // 时间单位 minute,h,day,s Aggregator string // 聚合方式 min,max,avg,sum,realtime, new MaxVal float64 `json:"max_val"` MinVal float64 `json:"min_val"` } FindAppListReq struct { ProjectId int64 `json:"project_id"` Page int64 `json:"page"` PageSize int64 `json:"page_size"` Order string `json:"order"` } GetAppInfoReq struct { ProjectId int64 `json:"project_id"` AppName string `json:"app_name"` } CreateAppInfoReq struct { ProjectId int64 `json:"project_id"` AppName string `json:"app_name"` ProjectIds []int64 `json:"project_ids"` Expire int64 `json:"expire"` } RemoveAppInfoReq struct { ProjectId int64 `json:"project_id"` AppName string `json:"app_name"` } DisableAppInfoReq struct { ProjectId int64 `json:"project_id"` AppName string `json:"app_name"` } EnableAppInfoReq struct { ProjectId int64 `json:"project_id"` AppName string `json:"app_name"` } ResetAppSecretReq struct { ProjectId int64 `json:"project_id"` AppName string `json:"app_name"` } ExpireAppSecretReq struct { ProjectId int64 `json:"project_id"` AppName string `json:"app_name"` Expire int64 `json:"expire"` } ResetAppProjectReq struct { ProjectId int64 `json:"project_id"` AppName string `json:"app_name"` ProjectIds []int64 `json:"project_ids"` } FindDataDescribeReq struct { ProjectId int64 Items []string Stime string Etime string } FindDataCorrelationReq struct { ProjectId int64 Items []string Stime string Etime string } FindDataMinAndMaxReq struct { ProjectId int64 Items []string Stime string Etime string } ) type ( // 响应结构部分 GetWorkingPumpByCodeResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { List []WorkingPump `json:"list"` } `json:"data"` } GetWorkingChestByCodeResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { List []WorkingChest `json:"list"` } `json:"data"` } GetWorkingRoByCodeResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { List []WorkingRo `json:"list"` } `json:"data"` } FindWorkingUfByCycleResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { List []WorkingUf `json:"list"` } `json:"data"` } GetWorkingUfByCodeResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { List []WorkingUf `json:"list"` } `json:"data"` } RangeMaxMinResp struct { Code int `json:"code"` Msg string `json:"msg"` Data *InstrumentCompareData `json:"data"` } RangeFirstLastResp struct { Code int `json:"code"` Msg string `json:"msg"` Data *RangeFirstLast `json:"data"` } ItemHistoryRespList struct { List []ItemHistoryResp } ItemHistoryListResp struct { Name string `json:"name"` Htime string `json:"htime_at"` Val float64 `json:"val"` } ItemHistoryListRespList struct { List []ItemHistoryListResp } MultiAddBody struct { Code int `json:"code"` Msg string `json:"msg"` } ItemHistoryBody struct { Code int `json:"code"` Msg string `json:"msg"` Data ItemHistoryRespList `json:"data"` } ItemHistoryListBody struct { Code int `json:"code"` Msg string `json:"msg"` Data ItemHistoryListRespList `json:"data"` } FindAppListResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { List []*AppInfo `json:"list"` Pagination *Pagination `json:"pagination"` } `json:"data"` } GetAppInfoResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { AppInfo *AppInfo `json:"app_info"` } `json:"data"` } CreateAppInfoResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { AppInfo *AppInfo `json:"app_info"` } `json:"data"` } RemoveAppInfoResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { Ok bool `json:"ok"` } `json:"data"` } DisableAppInfoResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { Ok bool `json:"ok"` } `json:"data"` } EnableAppInfoResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { Ok bool `json:"ok"` } `json:"data"` } ResetAppSecretResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { Secret string `json:"secret"` } `json:"data"` } ExpireAppSecretResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { ExpireAt string `json:"expire_at"` } `json:"data"` } ResetAppProjectResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { RemoveProjectIds []int64 `json:"remove_project_ids"` } `json:"data"` } FindDataDescribeResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { List map[string]*DataDescribeInfo `json:"list"` } `json:"data"` } FindDataCorrelationResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { DataCorrelationInfo List map[string]*DataCorrelationInfo `json:"list"` } `json:"data"` } FindDataMinAndMaxResp struct { Code int `json:"code"` Msg string `json:"msg"` Data struct { DataCorrelationInfo List map[string]*DataDescribeMinAndMaxInfo `json:"list"` } `json:"data"` } ) type ( // DcAPI 在这里定义了数据中心接口, 具体实现在版本目录中(目前只有v1) DcAPI interface { // GetItemHistory 查询历史点位数据 GetItemHistory(req ItemHistoryReq) (resp []ItemHistoryResp, err error) // MultiAddData 点位数据写入 MultiAddData(req MultiAddReq) (err error) // ObtainRangeMaxMin 查询最大最小值 ObtainRangeMaxMin(req *RangeMaxMinReq) (resp *InstrumentCompareData, err error) // ObtainRangeMaxMin 查询最大最小值 ObtainRangeFirstLast(req *RangeFirstLastReq) (resp *RangeFirstLast, err error) // GetWorkingUfByCode 获得uf工况数据 GetWorkingUfByCode(DcWorkingReq) (*GetWorkingUfByCodeResp, error) // FindWorkingUfByCycle 查询uf工况数据, 按周期进行过滤 FindWorkingUfByCycle(FindWorkingUfByCycleReq) (*FindWorkingUfByCycleResp, error) // GetWorkingRoByCode 查询ro工况数据 GetWorkingRoByCode(DcWorkingReq) (*GetWorkingRoByCodeResp, error) // GetWorkingChestByCode 查询液体容器类工况数据 GetWorkingChestByCode(DcWorkingReq) (*GetWorkingChestByCodeResp, error) // GetWorkingPumpByCode 查询泵类工况数据 GetWorkingPumpByCode(DcWorkingReq) (*GetWorkingPumpByCodeResp, error) // 平替双胞胎图表接口(时间区间内按要求聚合) GetItemHistoryList(ItemHistoryListReq) (resp []ItemHistoryListResp, err error) FindAppList(FindAppListReq) (*FindAppListResp, error) GetAppInfo(GetAppInfoReq) (*GetAppInfoResp, error) CreateAppInfo(CreateAppInfoReq) (*CreateAppInfoResp, error) RemoveAppInfo(RemoveAppInfoReq) (*RemoveAppInfoResp, error) DisableAppInfo(DisableAppInfoReq) (*DisableAppInfoResp, error) EnableAppInfo(EnableAppInfoReq) (*EnableAppInfoResp, error) ResetAppSecret(ResetAppSecretReq) (*ResetAppSecretResp, error) ExpireAppSecret(ExpireAppSecretReq) (*ExpireAppSecretResp, error) ResetAppProject(ResetAppProjectReq) (*ResetAppProjectResp, error) // FindDataDescribe 拉取数据分析结果, 某一个时间段内的数据, 该时间段不会跨段 FindDataDescribe(FindDataDescribeReq) (*FindDataDescribeResp, error) // FindDataCorrelation 拉取数据相关性列表 FindDataCorrelation(FindDataCorrelationReq) (*FindDataCorrelationResp, error) // FindDataMinAndMax 拉取数据分析结果, 时间段内的最小与最大值 FindDataMinAndMax(FindDataMinAndMaxReq) (*FindDataMinAndMaxResp, error) } )