|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- > 需要解决的问题是什么?
-
- 新的总部运营后台适配办公楼版。从数据库来说,老的总部运营后台用到了`authserver`和`hd`这两个数据库。而新的总部运营后台用到了`hd_new`这个数据库。
-
-
-
- 从基础设施层来看,原先所有和`authserver`和`hd`相关的增删改查都要切换到`hd_new`这个数据库。
-
-
-
- > 大致步骤
-
- - 找出所有和`IHeadQuarterRepository`和`IAuthRepository`
- - 替换成`HdContext`上下文下的表
-
-
-
- > 原则
-
- - 不改变接口
- - 做基础设施层
- - 在Application层加上`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`数据库
-
-
-
-
-
- #
-
-
-
|