package models

import (
	"gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/domain"
	"time"
)

type User struct {
	tableName string `pg:"users.user,alias:user"`
	// 用户Id 用户唯一标识
	UserId int64 `pg:",pk"  comment:"用户Id"`
	// 企业id
	CompanyId int64 `comment:"企业id"`
	// 用户基础数据id
	UserBaseId int64 `comment:"用户基础数据id"`
	// 用户类型  1:企业内部用户(内部添加) 2:共创用户   1024:企业注册用户(注册添加)
	UserType int `comment:"用户类型  1:企业内部用户(内部添加) 2:共创用户   1024:企业注册用户(注册添加"`
	// 用户编号 企业内标识
	UserCode string `comment:"用户编号"`
	// 组织机构
	OrganizationId int64 `comment:"组织机构"`
	// 所属部门
	DepartmentId int64 `comment:"所属部门"`
	// 用户信息 (冗余,数据存在userBase里面)
	//UserInfo *domain.UserInfo
	// 用户关联的组织
	UserOrg []*domain.Org `pg:",array" comment:"用户关联的组织"`
	// 用户关联的角色
	UserRole []*domain.Role `pg:",array" comment:"用户关联的角色"`
	// 收藏的菜单(工作台)(菜单编码列表)
	FavoriteMenus []string `pg:",array"  comment:"收藏的菜单"`
	// 共创信息 (共创用户有效)
	CooperationInfo *domain.CooperationInfo `comment:"共创信息 (共创用户有效)"`
	// 状态(1:启用  2:禁用  3:注销)
	EnableStatus int `comment:" 状态(1:启用  2:禁用  3:注销)"`
	// 扩展数据
	Ext *domain.Ext `comment:"扩展数据"`
	// 创建时间
	CreatedAt time.Time `comment:"创建时间"`
	// 更新时间
	UpdatedAt time.Time `comment:"更新时间"`
}