图书借阅流程
2017-02-18 17:37:22 0 举报
图书借阅流程
作者其他创作
大纲/内容
是
以acct_no查询账户路由表并更新A表sharding_id和target_sharding_id,若查不到数据则直接报错
遍历列表算出sharding_id
展示图书信息
根据funds_compute_sharding_id查询funds_account扫描最后结束的id
有
查出freeze_account_id
调用收单的wrapQueryAcquireOrder获取下单时间orderCreateTime。并缓存10秒
以表名查询funds_compute_sharding_id查询扫描最后结束的id
否
选择图书或退出
执行完毕后将最后的id(一般和上一个id差距是200,但是程序挂了可能存在非200)插入funds_compute_sharding_id
用订单号查询es是否有记录
无
以user_no查询路由表
有无订单入账的单子
是否是特殊表
根据扫描出的id,去表A取大于id的200条数据
赋值订单入账的bizFinishTime为下单时间,并缓存10秒
ga_multi_daily_detail
- user_no 商户号- offline_id 网点id- offline_name 网点名称- account_type 账户类型- sub_biz_type 一本账类型- income 本日收入- income_count 收入笔数- expend 本日支出- expend_count 支出笔数- account_date 日期
sharding_id和target_sharding_id记录到商户号路由表中,账户路由表中,更新A表
funds_freeze_account_log
理论不存在事件,打error日志
记录到路由表中
商户路由表是否有数据
账户路由表是否有数据
apollo捞取需要修改的表
其他表
执行完毕后将id插入funds_compute_sharding_id
查出acct_no
若取出的user_no的sharding_id>0则跳过计算
用订单号查询mysql中是否有订单入账的单子
调用收单的wrapQueryAcquireOrder获取下单时间orderCreateTime,并缓存10秒
查出原付款账号
找路由表
是否恶意提交订单
是不是funds_account表
返回主页
以user_no查询商户路由表并更新A表sharding_id,若查不到数据则直接报错
用订单号查询收单是否有记录
funds_pay_refund
若取出的acct_no的sharding_id>0则跳过计算
取大客表重的sharding_id的值为target_sharding_id
点击图书
生成分片键
根据user_no去更新需要修改的表的sharding_id
根据扫描出的id,去funds_account取大于id的200条数据
查funds_freeze_account中的acct_no
账务信息
判断表A是否只有user_no字段
是否提交图书订单
funds_compute_sharding_id
- id:主键-created_at:创建时间-updated_at:更新时间-current_id:更新条数-table_name:表名
是否是订单入账
记录到账号路由表中,更新A表
不是
funds_big_user_no_sharding_id
- id:主键-created_at:创建时间-updated_at:更新时间-use_no:商户号-sharding_id:分片键
根据apollo读取需要刷数据的表A+是否只有user_no字段+是否是特殊表
hash一下user_no为sharding_id
更新sharding_id,target_sharding_id
是否是大客表
0 条评论
回复 删除
下一页