Files
platforms/backend/api/internal/models/product_info.go
czl231 3ef33b531d 已完成用户APP首期功能开发
交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
2026-09-13 00:57:32 +08:00

32 lines
3.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 功能实体产品档案、当前归属及明确的厂商设备映射版本1.1.0。
package models
import (
"time"
"git.apinb.com/bsm-sdk/core/database"
)
// ProductInfo 对应 product_info保存一物一码的实体产品档案。
type ProductInfo struct {
Entity // 公共实体字段
ProductStatus int `gorm:"column:product_status;not null;default:10;index" json:"product_status"` // 产品业务状态
Code string `gorm:"column:code;type:varchar(64);not null;uniqueIndex" json:"code"` // 产品唯一标识
Name string `gorm:"column:name;type:varchar(128);not null" json:"name"` // 产品名称
DeviceKind string `gorm:"column:device_kind;type:varchar(16);not null;default:'unknown';comment:设备分类unknown=未分类valve=智能阀alarm=报警器cylinder=钢瓶" json:"device_kind"` // 由后台明确分类,不按名称猜测
VendorDeviceID string `gorm:"column:vendor_device_id;type:varchar(16);not null;default:'';comment:厂商16位十进制设备编号空表示未建立物联网映射" json:"vendor_device_id"` // 平台档案到厂商设备的映射
ProducerAccountID uint64 `gorm:"column:producer_account_id;not null;default:0;index" json:"producer_account_id"` // 生产商自增主键;历史数据迁移前可为 0新建和编辑必须关联有效生产商
ProductTypeID uint64 `gorm:"column:product_type_id;not null;index" json:"product_type_id"` // 产品类型自增主键
Params string `gorm:"column:params;type:text;not null;default:'{}'" json:"params"` // 产品参数 JSON 对象文本
WarehouseID uint64 `gorm:"column:warehouse_id;not null;default:0;index" json:"warehouse_id"` // 当前实际库房自增主键
GasBasicID uint64 `gorm:"column:gas_basic_id;not null;default:0;index" json:"gas_basic_id"` // 当前归属气站自增主键
DeliveryBasicID uint64 `gorm:"column:delivery_basic_id;not null;default:0;index" json:"delivery_basic_id"` // 当前归属配送站自增主键
UserAccountID uint64 `gorm:"column:user_account_id;not null;default:0;index" json:"user_account_id"` // 当前归属用户自增主键
DeviceGroupID uint64 `gorm:"column:device_group_id;not null;default:0;index;comment:当前用户设备分组内部主键0表示未分组产品归属变化时清空" json:"-"` // 当前用户自定义分组,不对平台资源接口公开
ProducedAt time.Time `gorm:"column:produced_at;type:timestamptz;not null" json:"produced_at"` // 生产时间
EnabledAt *time.Time `gorm:"column:enabled_at;type:timestamptz" json:"enabled_at"` // 首次启用时间
}
func init() { database.AppendMigrate(&ProductInfo{}) }
func (table *ProductInfo) TableName() string { return "product_info" }