本帖最后由 qtcxc 于 2021-7-21 18:44 编辑
你的难点是校验逻辑和保存订单动作要分开,但是逻辑天然矛盾的,所以我的思路是拆分保存订单(或应该叫提交订单)和编辑订单校验规则的动作.
具体如下:
订单做一个 前置的订单临时表和订单产品包装材料临时表,选择包装材料的动作时就记录到临时表保存.
最后订单提交时做你所需要的校验,确认校验通过了,可以提交的时候,再将临时表的记录抄到正式的订单表中和正式的订单商品包装材料表 中生成正式的订单
目前 我做的很多校验逻辑非常复杂,想在一个动作中全部完成不了的 都用以上方式,拆分步骤,做临时存储表,浪费一点存储空间来拆分校验逻辑和提交订单的逻辑.(这样做坏处是设计起来麻烦些,好处是,编辑订单的过程可以临时保存,后续进来继续修改,等全部填好校验都没问题后才提交订单,甚至可以定时保存订单临时信息,就是突然宕机也不会都是所有订单编辑过程中已录入保存的记录,减少以外情况重新录入的工作量,特别是非常复杂涉及到产品很多的很大的订单)
只要有一定复杂度的订单逻辑我目前能想到的就是这类办法,也想看看官方有没有更好的解决办法.不知道这个思路是不是能解决你的问题.
|