数据回收站功能实现
• 发表于:2022-07-27 18:12:32 • 更新于:2023-12-27 00:31:31
832
实例背景:
做项目时客户经常提出在删除一条数据时,如果在其他数据中已使用这条数据,则将这条数据禁用,为此可以设置一个回收站的功能,禁用后将数据放入回收站,可以随时恢复数据来使用。
逻辑思路:
以“删除产品”为例,首先在产品中添加一个“状态”的属性,用来记录数据状态,在创建数据时将状态标记为“启用”,在其他地方使用产品数据时,必须筛选“状态”为“启用”的产品,以此避免将数据放入回收站后还可继续使用该数据。
删除功能逻辑:
用户只能选择“状态”为“启用”的数据进行删除,删除前需判断在“产品明细”数据表中是否存在该“产品”数据,如果存在,则不允许删除,将数据标记为“禁用”,并放入回收站。
具体实现:
1、选择“状态”为“启用”的产品数据。
2、从数据库中获取一条该产品的“产品明细”数据,以此数据是否存在来判断产品是否已被使用。
3、在判断步骤中判断上一步获取的“产品明细”数据中的“_id”属性不为空(说明数据存在,即选择产品已被使用)。
4、在判断步骤的“不符合条件”分支中添加“交互-提示”步骤,告知用户“删除后将无法恢复,请慎重操作”。然后添加删除步骤,将选择的产品数据删除。
5、在判断步骤的“符合条件”分支中添加“交互-提示”步骤,告知用户“该产品已被使用,不允许删除,继续操作将移入回收站。”,添加“关联获取”步骤,将选择的产品数据中的“状态”更改为“禁用”。
回收站中显示所有“状态”为“禁用”的产品数据即可。
恢复功能逻辑:用户选择一条“状态”为“禁用”的产品数据,将其“状态”更改为“启用”。