一个订单 存在不同的删除时机(逻辑删除)
1:客户 在 付款之前 或者 订单审核不同过的 时候可以自行删除
2:订单完成后, 管理员可以删除
在实现这个需求的时候,自己做了区分
也就是说 客户删除 与 管理员删除 被视为两种不同类型的操作
数据库也使用不同字段 记录删除状态
为嘛自己这样做呢?
原因:因为执行删除操作的角色不同,这是业务上来说的
另外数据库中也要记录是谁删除的,那么肯定有一个字段用于记录 执行删除操作的 用户/管理员的 ID ,可是目前系统 管理员和 用户 是两个不同的实体,所以 如果做成同一种操作的话
记录 删除操作执行者的 ID 的值 可能是用户的ID 也可能是 管理员的ID
也是为了杜绝这种情况吧
不知道我这样设计好不好,自认为好。请大家看看 说说自己的看法,谢谢
可以把删除操作封装,调用该自定义的删除操作之前获取实体的Id,你的Id应该可是识别是客户还是管理员吧,然后存到该订单数据库记录中
这个还真不能通过ID 来区分 客户还是 管理员
在数据库中两者是 两个表存放的 且ID 没啥区别
我是有这样一种考虑,,就算是能区分,以后查询的时候也是麻烦事
假如说以后要看 订单是谁删除的,页面上咋地要把 操作人的姓名显示出来吧
那么这个查询的时候 就稍微麻烦点,要通过ID (或者其他标志位)判断删除人的类型
当然了我那样做也是麻烦,同样需要判断是何种删除
哎,无奈啊,不知道该弄更合理(后续操作,比如查询 什么的 更容易一点)
这么一想的话,我那样弄也不好,同样麻烦,只不过蛮烦的方式有点区别而已
该怎么弄好呢?
@算了: 个人觉得从Id获取身份信息的操作也不是特别的麻烦;如果还不行的话,遵循第三范式原则,把Id和身份信息单独作为一个表,其他有冗余的字段也独立出来,,