26 lines
2.3 KiB
Go
26 lines
2.3 KiB
Go
// 功能:保存设备的日用气统计事实,供用户端查询与平台维护;版本:1.0.0。
|
||
package models
|
||
|
||
import (
|
||
"time"
|
||
|
||
"git.apinb.com/bsm-sdk/core/database"
|
||
)
|
||
|
||
// DevUsageStat 对应dev_usage_stat,每条记录表示单个设备一个自然日的已校验用气量。
|
||
type DevUsageStat struct {
|
||
Entity // 公共实体字段
|
||
ProductInfoID uint64 `gorm:"column:product_info_id;not null;index;uniqueIndex:ux_dev_usage_stat_day;comment:统计所属实体设备内部主键" json:"product_info_id"` // 实体设备内部主键
|
||
StatDate time.Time `gorm:"column:stat_date;type:date;not null;uniqueIndex:ux_dev_usage_stat_day;comment:统计日期,按用户服务时区划分" json:"stat_date"` // 统计自然日
|
||
UsageKg float64 `gorm:"column:usage_kg;type:numeric(12,3);not null;default:0;comment:当日用气量,单位千克,不得为负数" json:"usage_kg"` // 当日用气量
|
||
BreakfastKg float64 `gorm:"column:breakfast_kg;type:numeric(12,3);not null;default:0;comment:早餐时段用气量,单位千克" json:"breakfast_kg"` // 早餐时段用气量
|
||
LunchKg float64 `gorm:"column:lunch_kg;type:numeric(12,3);not null;default:0;comment:午餐时段用气量,单位千克" json:"lunch_kg"` // 午餐时段用气量
|
||
DinnerKg float64 `gorm:"column:dinner_kg;type:numeric(12,3);not null;default:0;comment:晚餐时段用气量,单位千克" json:"dinner_kg"` // 晚餐时段用气量
|
||
Source string `gorm:"column:source;type:varchar(32);not null;comment:数据来源:meter=计量表,device=设备上报,manual=人工导入" json:"source"` // 统计数据来源
|
||
CalcVersion string `gorm:"column:calc_version;type:varchar(32);not null;comment:生成该统计的计算口径版本" json:"calc_version"` // 计算口径版本
|
||
CalculatedAt time.Time `gorm:"column:calculated_at;type:timestamptz;not null;comment:统计计算完成时间" json:"calculated_at"` // 统计计算时间
|
||
}
|
||
|
||
func init() { database.AppendMigrate(&DevUsageStat{}) }
|
||
func (table *DevUsageStat) TableName() string { return "dev_usage_stat" }
|