审核状态与数据设计

版权声明:转载请注明出处 https://blog.csdn.net/lvhonglei1987/article/details/88208203

需求:

在日常开发过程中,经常会遇到这样的需求,需要保存草稿或者改变数据以后需要审核,这个时候就会出现一下几种场景:

1.待审核数据和审核通过数据同时存在

2.审核不通的数据和审核通过的数据同时存在

状态流转如上图,这个时候需要思考如下问题:

1.存一条数据,这么解决上面的问题?

先说说我这两天的总结,存一条数据,是可以解决上面的问题,但是适合单表操作,设计如下:

字段中添加一个快照字段,用来存储当前这条数据的快照,用json格式

1.先创建一条数据,为待审核数据,并更新当前这条数据的快照字段(为了以后查询方便)

2.审核通过,快照数据覆盖当前数据,然后,删除快照数据

3.审核失败,有两种场景,第一种是审核通过以后,再修改,这个时候审核失败,不能影响已审核的数据,只对快照数据进行操作

第二种场景创建以后,审核失败,这个时候可以修改当前数据和快照数据

2.存多条数据,状态流转,效果和上面一样,但是数据是多条,这样做适合查询和有多个表的数据

1.先创建一条数据,为待审核状态

2.审核通过,复制待审核数据,新建一条,状态为审核通过,原有待审核状态数据可以删除,也可以改为审核历史数据

3.审核通过以后修改,新建一条,改为待审核

4.审核失败,把待审核数据改为审核失败

5.审核失败修改,把数据改为待审核

数据审核,通过以上两种方式,基本可以解决,剩下的就是具体的问题具体分析了

猜你喜欢

转载自blog.csdn.net/lvhonglei1987/article/details/88208203