一.大体流程

1.用户预定下单:生成订单,new一个order,注入order信息(商家id,用户id之类的),把订单状态设置未待支付,然后addOrder(order)

2.支付押金和订单价格:支付成功之后,把订单状态设置为待确认,计算平台抽取的服务费,剩下的给商家(注意这里还没快直接把钱给他们,只是记录)

3.商家接单确认订单,把订单状态改成已确认,在这块押金审核,订单状态为已确认就代表商家已经审核通过,订单状态还在待确认就是商家未对押金进行审核处理

2.用户到店签到,订单设置未已入住

3.用户离店签到:这里完成了订单,设置订单状态为已完成,将服务费和商家该拿的钱打给他们

额外随时可能出现的就是取消订单:这里判断订单状态是否支付,未支付不退钱,已支付退钱,然后不管那种,都把订单状态设置为已取消

二.监控押金状态和订单状态

1.超过xx时间商家未处理押金审核自动退押金

这块设置一个定时器,每小时检查一次需要自动回退的押金,定时器下内容:

a.获取当前时间,查询所有需要自动回退的押金list(条件1:当前时间-订单创建时间>xx时间。条件2:订单状态为待确认),循环llist将押金状态设置为待自动退款

b.查询所有待自动退款的订单,进行退款

2.在订单服务层设置定时器,每30分钟检查一次未支付的订单和已完成订单订单

订单下单超过30分钟未支付设置订单韦已取消,或者直接删除订单

检查已完成的订单,奖励用户/商户(分销佣金那快)