0e42f0e417
- 项目目录结构:backend/ deploy/ schema/ migrations/ - 数据库 Schema:所有建表 SQL,含 hotel_id 多租户隔离 - Go 后端:config、model、handler、service、middleware、router - 认证:账号密码登录 + JWT(Access + Refresh Token) - 许可证:HMAC-SHA256 激活码生成 + 设备绑定验证 - 业务模块:商品、仓库、往来单位、入库、出库、库存、盘点 - 库存事务:入库/出库审核时原子更新库存 + 流水记录 - 数据导入:Excel/CSV 批量导入商品、往来单位 - Docker Compose:本地 MySQL + Adminer Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
22 lines
859 B
Go
22 lines
859 B
Go
package model
|
|
|
|
type User struct {
|
|
TenantBase
|
|
Username string `gorm:"size:50;uniqueIndex:uk_hotel_username" json:"username"`
|
|
PasswordHash string `gorm:"size:255" json:"-"`
|
|
RealName string `gorm:"size:50" json:"real_name"`
|
|
Phone string `gorm:"size:30" json:"phone"`
|
|
Role string `gorm:"type:enum('admin','operator');default:'operator'" json:"role"`
|
|
IsActive bool `gorm:"default:true" json:"is_active"`
|
|
CustomFields JSON `gorm:"type:json" json:"custom_fields,omitempty"`
|
|
}
|
|
|
|
type OAuthProvider struct {
|
|
Base
|
|
UserID uint64 `gorm:"not null;index" json:"user_id"`
|
|
Provider string `gorm:"type:enum('wechat','google','apple')" json:"provider"`
|
|
ProviderUserID string `gorm:"size:255" json:"provider_user_id"`
|
|
AccessToken string `gorm:"type:text" json:"-"`
|
|
RefreshToken string `gorm:"type:text" json:"-"`
|
|
}
|