ca7595b113
- summaryBounds:本月/近30天滚动双口径(stock-in/out Summary ?window=rolling30) - security(SEC-001):新增 ownership.go ensureShopRef 写入侧防线(stock-in/out/finance/ 盘点建单的 warehouse/partner/product 外键归属校验);读取侧全部 Preload 补 shop_id 作用域,finance Summary JOIN 补租户条件;回归测试 CrossTenantRefs - security(SEC-002):release 模式 JWT 密钥为空/默认值时拒绝启动 - gofmt 对齐若干 model/cmd 文件 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JJ1g8XV1YhhmHRzhwWEW7o
22 lines
1.1 KiB
Go
22 lines
1.1 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// ErrorReport 客户端错误上报记录(系统级,不做多租户隔离)
|
|
type ErrorReport struct {
|
|
ID uint64 `gorm:"primaryKey;autoIncrement" json:"id"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
ErrorType string `gorm:"size:30;not null;index" json:"error_type"` // flutter_error / zone_error / caught_exception
|
|
AppVersion string `gorm:"size:30" json:"app_version"`
|
|
Platform string `gorm:"size:20" json:"platform"` // ios/android/web/windows/macos
|
|
Username string `gorm:"size:50;index" json:"username"`
|
|
ShopID uint64 `gorm:"index" json:"shop_id"`
|
|
ShopNo string `gorm:"size:50" json:"shop_no"`
|
|
Role string `gorm:"size:20" json:"role"`
|
|
ProductInfo string `gorm:"size:200" json:"product_info"`
|
|
ClientIP string `gorm:"size:60" json:"client_ip"`
|
|
ErrorMsg string `gorm:"type:text;not null" json:"error_msg"`
|
|
StackTrace string `gorm:"type:text" json:"stack_trace"`
|
|
OccurredAt time.Time `json:"occurred_at"`
|
|
}
|