merge: 合并代码20241018
This commit is contained in:
71
features/pm/kpi_c_report/model.go
Normal file
71
features/pm/kpi_c_report/model.go
Normal file
@@ -0,0 +1,71 @@
|
||||
package kpi_c_report
|
||||
|
||||
import (
|
||||
"database/sql/driver"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"time"
|
||||
)
|
||||
|
||||
type KpiCVal struct {
|
||||
KPIID string `json:"kpi_id" gorm:"column:kpi_id"`
|
||||
Value float64 `json:"value" gorm:"column:value"`
|
||||
Err string `json:"err" gorm:"column:err"`
|
||||
}
|
||||
|
||||
type KpiCValues []KpiCVal
|
||||
|
||||
type KpiCReport struct {
|
||||
ID int `gorm:"column:id;primary_key;auto_increment" json:"id"`
|
||||
NeType *string `gorm:"column:ne_type;default:NULL" json:"neType,omitempty"`
|
||||
NeName *string `gorm:"column:ne_name;default:" json:"neName,omitempty"`
|
||||
RmUID *string `gorm:"column:rm_uid;default:NULL" json:"rmUid,omitempty"`
|
||||
Date string `gorm:"column:date" json:"date"` // time.Time `gorm:"column:date" json:"date"`
|
||||
StartTime *string `gorm:"column:start_time;default:NULL" json:"startTime,omitempty"`
|
||||
EndTime *string `gorm:"column:end_time;default:NULL" json:"endTime,omitempty"`
|
||||
Index int16 `gorm:"column:index" json:"index"`
|
||||
Granularity *int8 `gorm:"column:granularity;default:60" json:"granularity,omitempty"` //Time granualarity: 5/10/.../60/300 (second)
|
||||
KpiValues KpiCValues `gorm:"column:kpi_values;type:json" json:"kpiValues,omitempty"`
|
||||
CreatedAt *time.Time `gorm:"column:created_at;default:current_timestamp()" json:"createdAt,omitempty"`
|
||||
}
|
||||
|
||||
type KpiCReportQuery struct {
|
||||
NeType string `json:"neType" form:"neType" binding:"required"`
|
||||
NeID string `json:"neId" form:"neId" binding:"required"`
|
||||
RmUID string `json:"rmUID" form:"rmUID"`
|
||||
StartTime string `json:"startTime" form:"startTime"`
|
||||
EndTime string `json:"endTime" form:"endTime"`
|
||||
UserName string `json:"userName" form:"userName"`
|
||||
SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=created_at"` // 排序字段,填写结果字段
|
||||
SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"` // 排序升降序,asc desc
|
||||
PageNum int `json:"pageNum" form:"pageNum"`
|
||||
PageSize int `json:"pageSize" form:"pageSize"`
|
||||
}
|
||||
|
||||
type KpiCReport2FE struct {
|
||||
NeType string `json:"neType" gorm:"column:ne_type"`
|
||||
NeId string `json:"neId"`
|
||||
NeName string `json:"neName" gorm:"column:ne_name"`
|
||||
RmUID string `json:"rmUid" gorm:"column:rm_uid"`
|
||||
TimeGroup string `json:"timeGroup"`
|
||||
StartIndex int16 `json:"startIndex" gorm:"column:index"`
|
||||
Granularity int8 `json:"granularity" gorm:"column:granularity"`
|
||||
}
|
||||
|
||||
func TableName() string {
|
||||
return "kpi_c_report"
|
||||
}
|
||||
|
||||
// 将 KpiCValues 转换为 JSON 字节
|
||||
func (k KpiCValues) Value() (driver.Value, error) {
|
||||
return json.Marshal(k)
|
||||
}
|
||||
|
||||
// 从字节中扫描 KpiCValues
|
||||
func (k *KpiCValues) Scan(value interface{}) error {
|
||||
b, ok := value.([]byte)
|
||||
if !ok {
|
||||
return fmt.Errorf("failed to scan value: %v", value)
|
||||
}
|
||||
return json.Unmarshal(b, k)
|
||||
}
|
||||
Reference in New Issue
Block a user