需要解决的问题是什么?
新的总部运营后台适配办公楼版。从数据库来说,老的总部运营后台用到了authserver
和hd
这两个数据库。而新的总部运营后台用到了hd_new
这个数据库。
从基础设施层来看,原先所有和authserver
和hd
相关的增删改查都要切换到hd_new
这个数据库。
大致步骤
IHeadQuarterRepository
和IAuthRepository
HdContext
上下文下的表原则
TODO
或自己改
authserver
数据库
aspnetusers
:用户表-- UserName:在办公楼版中是手机号
-- ProjectIds:通常用来表示用户属于哪个项目,但在办公楼版的后期没有用到,用户和项目的关系放在了projectuserroles表
-- RemarkName:被用做了办公楼版的昵称
-- Avator:被用做了办公楼版的头像
aspnetroles
: 角色表与办公楼版有关的几个角色,分别是:
-- HdDg:表示总部电工,也叫做办公楼版的超级管理员。总部电工/超级管理员登录办公楼版APP的时候,在"我的"里面可以选择项目下的某个公司,然后向这个公司的某个人A(想成为OfficeAdmin的那个人)展示二维码,扫描二维码以后,A就成为新朋友,然后总部电工/超级管理员在新朋友列表中找到A,点击同意,把他设置成公司管理员,即OfficeAdmin。其中相关的表用到了:office_demo中的companyusers,和authserver中的projectuserroles表
-- OfficeAdmin:表示办公楼版的管理员。在办公楼版中,一个项目下有多个公司,每个公司只能有1个管理员,但是管理员可以在多个公司。
-- OfficeGuest:表是办公楼版的游客。当某个注册用户,即在authserver中的aspnetusers表中有记录的用户扫描二维码,他的默认角色就是OfficeGuest
-- OfficeOperator: 表示办公楼版的操作员。操作员不仅可以查看信息,还可以修改开关名称,控制开关,延时断电。
aspnetuserroles
:用户角色中间表,后期没有用到。把用户、角色与项目和公司的关系放到了projectuserroles
表中projectuserroles
表:用来存放用户、角色与项目和公司的关系,具体什么时候用到表,要看具体业务逻辑。
hd
数据库
projects
表:有关项目groups
表:集团macprojects
: 模块和项目的关系banners
表示项目的banner管理industries
表是行业warningpolicies
表示报警策略
hd_new
数据库