###用户
-
角色 管理员,商户,流量运营专员,话费运营专员
-
登录类型 前台用户登录,流量商户登录,话费商户登录,所有商户登录,所有用户登录
###商户
- 商户 使用该系统充值的用户
- 商户产品分配 将某些产品分配给该商户
- 产品售价配置信息 给商户的产品设置售价
- 商户规则 给该商户分配商品时的规格,(权重,价格最低)
###供应商 向上游供应商发送请求进行充值
###商品 话费商品,流量商品
###系统
-
接单系统: 对外暴露一个接口,接收下级的充值请求
-
转发系统: 暴露一个接口,获取一些未处理的订单,进行订单的转发。 查询商品价格
-
回调系统: 提供上游回调的接口
-
定时任务系统: 定时查询一些没有收到回调的系统,然后去上游查询该订单,根据相应的结果处理订单。 定时处理一些需要向下游回调的订单,向下游回调订单充值结果 处理异步回调失败的订单,重新发起回调
-
扩展服务系统: 提供给下游查询订单状态的接口 提供个下游查询账户余额的接口
-
后台管理系统 订单的查询 产品管理 商户管理 供应商管理 系统管理 话费流量报表
###业务 ####接单业务
- 判断接收到的参数是否为空 100异常
- 判断接收到的数据格式是否为json 400异常
- 解析字符串,获取参数
- 黑名单检查 122异常
- 话费充值限制(每天单个号码最多充值10次)
- 参数非空校验 100异常
- 安全校验 时间校验:参数中的时间不能比服务器时间提前10s,晚5min 301 302异常 重复订单校验:参数中的订单号不能重复 111异常 商户身份校验 112 113 114 115异常 商户签名校验 101异常 商户余额校验 102 103 110异常 校验系统中最大缓存收单数量 303异常
- 匹配手机号段信息 104 107异常 如果匹配手机号段出现自定义异常,则从外部接口查询,如果出现其他异常,则从数据库读取
- 联通号码充值限制 121异常 120异常
- 判断商户该省份价格信息是否存在 118 119异常
- 检查商户是否配置规则 118 异常 103异常
- 接收订单到生成订单是否超过40s 303异常
- 保存订单
- 根据返回的结果,发送队列消息扣款
- 检查是否需要发送余额提醒,需要发送。
###转发订单业务
-
获取上一次执行查询的时间与当前时间做对比,如果小于3s则不进行查询操作。
-
开启线程
-
查询一定数量的待转发的订单
-
判断拉取订单消耗的时间是否大于3s,如果大于3s则放弃此次的查询。
-
循环多个订单,每个订单开启一个线程处理
-
如果返回FAILED,发送队列消息,回款