收藏
回答

云数据库事务如何生成及发起执行事务?

现在我想实现一个功能,提交订单时把订单中所需产品的数量库存锁定,然后待支付后再去执行减少库存操作;

这样做的目的是为了避免用户到支付那一步,产品的库存量少于下单量导致订单要返回修改缺少库存的商品数量。

我现在的思路是,

1、提交订单,然后调用云函数发起一个 startTransaction事务;然后返回事务的句柄;

2、支付成功后,再用一个执行事务云函数去执行事务;执行事务云函数接收一个变量,变量为发起startTransaction事务返回的句柄

不知道这样的流程是对的不?

下面是我测试的代码

发起事务代码

执行事务代码

测试时发现是错误的 …………

还请大神们指点下;万分感谢

回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    2020-02-25

    我第一次见事务是这么玩的

    2020-02-25
    有用
    回复 5
    • จุ๊บ L
      จุ๊บ L
      2020-02-25
      请问下,要怎么实现,锁库存?大哥给个思路;我现在的方向已经错了;但不知道要怎么往那入手;
      2020-02-25
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-02-25回复จุ๊บ L
      云开发的不知道怎么弄。java的知道
      2020-02-25
      回复
    • จุ๊บ L
      จุ๊บ L
      2020-02-25
      java是怎么处理的?  
      我刚刚想了个折中的方法;
      支付前先生成一个预订单,扣减相关产品的库存,支付状态为未支付;待发起支付后,成功就修改预订单状态,流程完成;
      如果支付失败或者放弃支付就把订单中相关产品的库存返还,流程完成;
      但存在个问题,这样操作相当损耗云数据库的资源
      2020-02-25
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-02-25回复จุ๊บ L
      https://zhuanlan.zhihu.com/p/85660050  看下这个文章
      2020-02-25
      回复
    • จุ๊บ L
      จุ๊บ L
      2020-02-25
      嗯 好的  谢谢
      2020-02-25
      回复
登录 后发表内容
问题标签