0%

水管问题-TODO

  • 起因
  • 需求场景
  • 思路-TODO
  • 解决方案-TODO

Cause

过滤水机售卖,充值4元后进行灌水,当剩余水量0.1L时,再充值2元。此时面板上剩余的水量会变成6元的水量,触发BUG

Scenes

类似于游泳池一边放水一边加水问题。

如何保证水管仍然持续出水的情况下,第二次充值时,单次通信情况下水量正确增加同时因为水管仍放水,继续正确扣减水量

Thought

Condition

  • 水一直出水,需要持续扣减
  • 不能通过暂停出水方式避免误差
  • 充值后,出水Client只能对后端请求一次,且机能问题无法使用长轮训及Ajax请求
  • 后端不能通过后台修正,否则会造成Client端与服务端剩余水量问题
  • 尽可能减少充值与减少时的误差

How To FIX?

更改逻辑

摩拜单车方式

  • 扫码启动机器—3分钟内未接水/主动点击关闭功能进行中断—生成计费账单

    解决:

    持续费用扣减,误差缩小,不需修正,没有时差

    遗留问题:

    需多一次IO