关于项目结构设计

需求:因为项目启动的时候的,某欧客户对项目做成什么样子也不清楚,对于一些字段数据没法定下来,或者定下来后,又要新增或者修改或者删除。

以往设计:每个业务字段在数据库里面都有一个业务字段。但是在客户没法定下来具体需要哪些字段的这种情况。使用这种设计的话,每次新增或者删除字段,需要对实体类进行改动,以及删除字段的时候,给下游传值那块业务也要改动,和某条产品数据从产品开发到产品发行也要删除。前端页面的字段也需要改动,改动非常大。

所以我们对这块设计进行抽象化。 希望页面需要哪些字段可以在数据库保存。当需要新增的时候,在数据库插入,当需要删除字段的时候,在数据库标记一下前端页面就不显示了。

基于这个需求:我们的表设计改成了 三个表 element表 :主要保存页面元素的表,

字段主要有

1:elementId主键id 元素类型(前端需要把这个元素渲染成什么控件);

2:后端变量名;

3:前端显示的label名  

4:取值范围标识

5:是否开启

step表:主要存储前端页签之前的关系,里面的数据关系是一个树形结构

字段主要有:

1: stepId 主键

2:页签标识

3:父级页签

4:是否开启

5:页签类型(进去这个页签是抽屉框、扩展页签)

config表:主要配置元素和页签的关系

字段主要有:

1:主键id

2:  元素主键

3:步奏标识

4:取值范围标识(比如有些下拉框是有取值范围的)

5:是否开启

6:是否必填(发送给下游服务的时候,进行校验)

7:sort(页面上元素的排序)

配置表主要有这些

存储信息的表:

分两种:

文本信息: 1:主键,2:步奏id,3: configId 4:inputValue 用户输入数据 ,5 逻辑删除

附件信息: 1:主键,2:步奏id, 3:configId 4:文件名称 ,5 :文件路径  ,逻辑删除

 

posted @ 2022-07-17 11:28  爱摇头的封三  阅读(45)  评论(0编辑  收藏  举报