二期配资概要设计
2019-05-30 10:27:58 0 举报
AI智能生成
概要设计
作者其他创作
大纲/内容
统计报表
公司运营报表(gray)
表结构:公司ID/公司名称/运营中心ID/日期/注册数/期初余额/期间入金/期间出金/额度调整/平仓盈亏/派息/手续费/利息/收益分成/期末余额
统计维度: 公司+日期(天)
统计范围: 交易数据+业务数据
客户成交报表(super)
表结构:客户交易账号ID/公司ID/营运中心ID/用户编号/产品ID/订单类型/订单方向/订单号/母订单号/交易方向/订单状态/委托价格/委托数量/成交均价/成交数量/撤销数量/货币单位/开仓手续费(市场货币)/开仓手续费(账户货币)/订单号/下单时间/更新时间
统计范围: 订单记录与成交记录
统计维度: 公司+用户+母订单号+日期(天)
订单明细:查询客户成交报表与t_item_deal明细表
收益分成报表(greet)
表结构:公司ID/营运中心ID/日期(天)/手续费(总)/利息(总)/手续费(公司)/利息(公司)/手续费(顶层)/利息(顶层)/手续费(营运中心)/利息(营运中心)/更新时间
统计范围: 用户交易明细数据
统计维度: 公司+日期(天)
备注: 1. 收益总额=手续费+利息费
2. 此报表要计算分成, 将分成规则通过日志打印
2. 此报表要计算分成, 将分成规则通过日志打印
手续费收益报表(greet)
表结构: 客户交易账号ID/客户编号/公司ID/营运中心ID/开仓时间/订单ID/交易记录ID/产品ID/开仓成交均价/开仓数量/货币单位/固定手续费/固定手续费(USD)/公司分成/营运中心分成/顶层公司分成
统计范围: 用户交易数据表, 交易类型为开仓的数据
统计维度: 公司+交易账户ID+母订单号
备注: 1. 产品名称等信息从缓存读取
2. 分成计算规则打印日志追踪
2. 分成计算规则打印日志追踪
利息收益报表(greet)
表结构: 客户交易账号ID/客户编号/公司ID/营运中心ID/持仓金额峰值/固定利息/公司分成/营运中心分成/顶层公司分成/统计日期
统计维度: 公司+交易账户ID+日期(天)
统计范围: 用户交易记录, 交易类型为利息的数据
备注: 1. 产品名称等信息从缓存读取
2. 分成计算规则打印日志追踪
3. 持仓金额峰值取交易记录表的src_open_price字段
2. 分成计算规则打印日志追踪
3. 持仓金额峰值取交易记录表的src_open_price字段
客户账户报表(allen)
表结构:公司ID/客户编号/交易账户ID/账户组/运营中心ID/日期/期初余额/期间入金/期间出金/额度调整/派息/平仓盈亏/交易手续费/利息/期末余额
统计维度: 公司+交易账户ID+日期(天)
统计范围: 交易记录与业务数据
注意:
1. 按日期范围检索, 以统计维度的字段做GROUP BY汇集,每个用户一条, 求和统计结果
2. 按日期范围检索, 期末余额取结束日期的期初余额
1. 按日期范围检索, 以统计维度的字段做GROUP BY汇集,每个用户一条, 求和统计结果
2. 按日期范围检索, 期末余额取结束日期的期初余额
公司账户报表(射单)allen
表结构:公司ID/客户编号(B端)/交易账户ID(B端)/账户组/运营中心ID/日期/期初余额/期间入金/期间出金/额度调整/派息/平仓盈亏/交易手续费/利息/期末余额
统计维度:交易账户ID(B端)+日期(天)
统计范围: 交易记录与业务数据
注意:
1. 按日期范围检索, 以统计维度的字段做Group By汇集,每个用户一条, 求和统计结果
2. 按日期范围检索, 期末余额取结束日期的期初余额
1. 按日期范围检索, 以统计维度的字段做Group By汇集,每个用户一条, 求和统计结果
2. 按日期范围检索, 期末余额取结束日期的期初余额
客户盈亏报表(ray)
表结构: 公司ID/客户编号/交易账户ID/运营中心ID/产品ID/平仓时间/订单号ID/交易记录ID/开仓方向/持仓成本均价/平仓成交均价/平仓数量/货币单位/平仓盈亏/平仓盈亏(USD)/创建时间
统计维度: 公司+交易账户ID+母订单号+平仓
统计范围:交易记录表, 交易类型为平仓的记录数据
公司盈亏报表(射单)ray
表结构:公司ID/客户编号(B端)/ 交易账户ID(B端)/ 运营中心ID/平仓时间/订单号ID/交易记录ID/产品ID/开仓方向/持仓成本均价/平仓成交均价/平仓数量/货币单位/平仓盈亏/平仓盈亏(USD)/创建时间
统计维度: 交易账户ID(B端)+ 母订单号+平仓
统计范围:交易记录表(GW平台), 交易类型为平仓的记录数据
手续费收益报表(射单)gray
表结构:公司ID/客户编号(B端)/交易账号ID(B端)/营运中心ID/开仓时间/订单号ID/交易记录ID/产品ID/开仓成交均价/开仓数量/货币单位/固定手续费/固定手续费(USD)
统计维度: 交易账户ID(B端)+母订单号
统计范围: 交易记录表, 开仓记录
利息收益报表(射单)gray
表结构: 公司ID/客户编号(B端)/交易账号ID(B端)/营运中心ID/持仓金额峰值/固定利息
统计维度: 交易账户ID(B端)+日期(天)
统计范围: 交易记录表, 类型为利息记录数据
IX移植
客户出入金报表优化
系统管理
用户维护
按活动后台权限模块移植
角色维护
按活动后台权限模块移植
权限分配
按活动后台权限模块移植
日志管理
按活动后台权限模块移植
公司管理
公司配置
1. 存款配置:界面呈现交互改变, 原有接口逻辑不变
2. 取款配置, 交互更改, 接口逻辑不变
3. 其他配置, 交互更改, 接口逻辑不变
新增子公司
1. 新建B端公司
2. 新建运营中心
表结构
营运中心:ID/ 名称/联系人/联系电话/创建人/创建时间
营运中心与公司关联 :ID/营运中心ID/公司ID
3. 需根据角色做数据过滤, 营运中心角色登陆,只可看到自己下属的公司 (只能查看, 无其他操作权限)
分成模板
表结构
1. 分成模板表:ID/模板名称/GW分成比例/营运中心分成比例/状态/修改时间/操作人
3. 分成模板明细表:ID/分成模板表ID/市场/类型/百分比
业务规则
1. 一个分成模板可以对应多条模板明细规则
2. 分成模板的操作要记录至系统操作日志
射单账号管理
表结构
1. 射单账号表: ID/营运中心ID/公司ID/射单账号/射单密码/修改时间/操作人
业务规则
1. 射单总额与射单次数: 查询LP射单交易汇总表
汇率管理
按原功能移植
客户管理
客户维护
客户明细
交易平台:
1. 资金信息实时交易部分数据从pika获取
2. 持仓信息的浮动盈亏调用ixpnl接口获取
3. 委托单信息查找t_item_order表获取
1. 资金信息实时交易部分数据从pika获取
2. 持仓信息的浮动盈亏调用ixpnl接口获取
3. 委托单信息查找t_item_order表获取
银行卡信息: 读取原IX接口
历史交易信息: 读取trade记录
资金流水: 从交易记录查询接口获取(appGetTradeReportPage)
列表: 参照原型移植
客户组别设置
1. 创建BO业务账户组, 通过客户组类别, 关联对应交易账户组
2. 整合原IX账户组存款设置信息, 支持存款额度设置
客服用户信息
1. 客服用户信息改为客户操作日志
注册提案
按原功能移植
上传文件审核
1. 名称改为文件审批
转组审批
按原功能移植
销户审核
按原功能移植
开户黑名单设置
1. 名称改为开户黑名单
消息管理
验证码
1. 名称改为查询验证码
短信发送记录
短信模板管理
短信账号管理
邮件发送记录
邮件模板管理
发送邮箱账号管理
1. 名称改为邮箱账号管理
消息模板
1. 名称改为站内信模板
内部消息管理
1. 名称改为站内信管理
用户消息中心
1.名称改为站内信记录
内容发布
1. 名称改为发布资讯
资金管理
入金管理
以原型为主, 列表字段做相应调整
出金管理
按原功能移植
额度调整
名称修改为资金调整
额度记录
名称修改为资金流水
股票分红派息
新功能, 接口剥离
新增表结构
营运中心:ID/ 名称/联系人/联系电话/创建人/创建时间
营运中心与公司关联 :ID/营运中心ID/公司ID
射单账号表: ID/营运中心ID/公司ID/射单账号/射单密码/修改时间/操作人
分成模板表:ID/模板名称/GW分成比例/营运中心分成比例/状态/修改时间/操作人
分成模板明细表:ID/分成模板表ID/市场/类型/百分比
LP射单交易汇总表:ID/射单账号表ID/交易账号(B端)/公司ID/日期(天)/手续费/利息/派息/保证金余额/交易总金额/交易次数/交易成功次数
LP射单交易明细表: ID/射单账号表ID/交易账号(B端)/公司ID/订单号/母订单号/订单类型/订单数量/成交单号/成交均价/成交数量/成交状态/汇率/买卖方向/成交状态
LP持仓汇总表:ID/射单账号表ID/交易账号(B端)/公司ID/日期(天)/产品/持仓数量/开仓价格/止盈/止损/浮动盈亏/买卖方向/佣金/利息
分红派息
表结构 除权强平撤单登记表:ID/状态/股票市场/股票代码/投资者账号/类型(强平或撤单)/持仓量/成本均价/强平价格/货币单位/除权日/强平日/强平时间/委托方向/交易类型/委托数量/委托价格
除权派息表: ID/公司ID/提案状态/执行状态/执行完成数量/执行总数/股票市场/股票代码/行动类型/执行方式/每股派发金额/货币单位/除权日/强平日/登记日/派息日/配置同步状态/提案人/审批人/更新时间/备注
派息登记表:ID/公司ID/除权派息表ID/状态/股票市场/股票代码/投资者账号/持仓数量/每股派发金额/派发总金额/货币单位/除权日/登记日/派息日 【唯一索引:股票代码/除权日/登记记录编号/投资者账号】
分红流程(greet前端提案功能)
1. 新增提案, 设定登记日与派息日 (时间必须在当前时间之后), 选择日期后, 时间通过对应产品的结算时间自动带出
2. 修改: 待审批的提案,所有属性都可修改; 已审批的提案, 只能修改派息日和每股派发金额, 取消提案操作只针对待审批的提案, 取消后, 只有查看功能
3. 执行操作:【执行派息】, 执行状态改为待派息,必须为已登记状态才能执行派息, 不触发【用户分红处理流程】; 【取消派息】, 撤回待派息状态(如果是登记, 为已登记)
4. 定时任务服务调度(每15分钟轮询)除权派息表, 过滤审批通过且待登记的记录, 取出登记日时间, 执行【用户仓位登记处理流程】
5. 定时任务服务调度(每15分钟轮询)除权派息表, 过滤审批通过,且待执行的记录, 执行【用户分红处理流程】
6. 除权日: 精确到天; 登记日: 精确到秒, 但用户只能选择天, 时间由结算日带出; 强平日: 精确到秒, 完全由用户选择。 以上三个日期选择, 必须大于当前时间点
强平/撤单处理流程(greet)
1. 行动类型为拆股/合股/配股/送股时, 进入此流程
2. 填写强平日点击审批通过后,不可修改
3. 审批操作, 需检测该产品对应市场的交易时间, 必须满足两个条件:
a) 设置的时间必须大于当前时间半小时以上
b) 设置的时间, 必须在交易时间范围之内
c) 交易时间由产品提供固定的模板, 每个市场有对应的交易时间范围
a) 设置的时间必须大于当前时间半小时以上
b) 设置的时间, 必须在交易时间范围之内
c) 交易时间由产品提供固定的模板, 每个市场有对应的交易时间范围
4. 定时任务调度(每3分钟轮询)查询除权派息表, 检测已审批通过且执行状态是待强平的记录;
调用交易服务器接口(需判断是否到达提案的强平时间), 发送产品,执行记录编号,强平日等配置信息,返写执行状态;
如果失败, 进入下次任务调度, 超过强平日当天, 不再执行, 发送邮件预警。(增加调用次数记录, 每次执行记录更新时间)
调用交易服务器接口(需判断是否到达提案的强平时间), 发送产品,执行记录编号,强平日等配置信息,返写执行状态;
如果失败, 进入下次任务调度, 超过强平日当天, 不再执行, 发送邮件预警。(增加调用次数记录, 每次执行记录更新时间)
5. 交易服务器处理逻辑:
a) 根据产品检索所有持仓(撤单)信息, 在指定的强平时间点执行强平(撤单)动作;
b) 返写交易记录表, 加上对应执行类型, 强平时间, 执行记录编号,执行状态,强平价等信息;
c) 交易服务器支持f..f(fx) = f(x) 幂等调用, 如果休市, 取结算价强平。
a) 根据产品检索所有持仓(撤单)信息, 在指定的强平时间点执行强平(撤单)动作;
b) 返写交易记录表, 加上对应执行类型, 强平时间, 执行记录编号,执行状态,强平价等信息;
c) 交易服务器支持f..f(fx) = f(x) 幂等调用, 如果休市, 取结算价强平。
6. 后台从交易记录表读取数据, 展示强平与撤单记录
SUB-用户仓位登记处理流程(super)
1. 读取ix_trade的t_item_position表记录, 找出产品对应的所有用户的有效持仓, 写入派息登记表, 派发金额不写入
2. 返写除权派息表,将待登记状态改为已登记
3. 登记失败或出现异常, 发送预警
4. 事务控制
SUB-用户分红处理流程(super)
1. 根据除权派息表ID查找派息登记表所有记录,放至MAP缓存, 分500一批处理(每批创建一个事务)
2. 根据产品货币与账户货币, 去虚拟产品里查找对应配置的汇率
3. 返写该批次记录的每股派发金额, 派发总金额
4. 传递该批次记录(非单条), 执行额度调整方法,写入对应调整的额度类型
5. 执行成功后, 提交整个事务(--fescar分布式事务)
6. 失败记录, 后台增加“重做”按钮, 重新执行派息与额度调整, 核心逻辑注意封装复用, 可以勾选, 支持多条重做,如果勾选10条, 其中3条失败, 不应阻塞
执行记录展示(Paul)
包含: 派息记录/强平记录/撤单记录
交易服务器逻辑
1. 接口传递参数: 行动类型, 执行方式, 提案ID, 强平时间(精确到时间点),执行记录编号, 除权日, 产品
2. 交易服务器接收成功或失败, BO返写标记状态, BO在提案上增加重新执行强平操作, 如果接收失败, 重新发送交易服务器执行。
3. 交易服务器逻辑: 交易服务器根据强平时间, 执行强平处理, 如果强平时间是在结算日之前, 取结算价; 如果是在结算日之后, 取第二天的第一口报价。
4. 交易服务器做强平或撤单, 需要返写执行记录编号。
5. 交易服务器如果某个账户强平失败, 需要支持重新检测, 自动执行
1. 接口传递参数: 行动类型, 执行方式, 提案ID, 强平时间(精确到时间点),执行记录编号, 除权日, 产品
2. 交易服务器接收成功或失败, BO返写标记状态, BO在提案上增加重新执行强平操作, 如果接收失败, 重新发送交易服务器执行。
3. 交易服务器逻辑: 交易服务器根据强平时间, 执行强平处理, 如果强平时间是在结算日之前, 取结算价; 如果是在结算日之后, 取第二天的第一口报价。
4. 交易服务器做强平或撤单, 需要返写执行记录编号。
5. 交易服务器如果某个账户强平失败, 需要支持重新检测, 自动执行
同步服务
BO同步服务改造
Data_Monitor改造-super
1. 去除kafka及sync_consume服务
2 . 需要同步的表做成可配置形式, 目标表和来源表的表名称可以支持映射,
例如(item_symbol->t_item_symbol, item_deal->gw_item_deal)
例如(item_symbol->t_item_symbol, item_deal->gw_item_deal)
3. 从Canal监听获取批次数据, 直接持久化对应数据表, 按事务处理
4. 判断监听数据类型, 如果是交易数据, 需要保存游标信息,纳入同一事务处理
5. 数据处理异常, 加入预警通知
交易报表改造(T_TRADE)-allen
1. 通过游标方式处理,记录相关事件, 剥离至BO_TASK工程处理
发送消息通知 -allen
1. 剥离消息服务至BO_TASK发送处理, 通过消息状态控制逻辑处理
GW同步服务 -super
1. 复用上面改造后的Data_Monitor服务, 流程基本一致, 独立运行
2. 只配置需要的交易信息表, 和射单报表相关的数据, 核心三张(order,position, deal)交易表, 不必要的表不用同步
3. 游标信息表复用, 通知类型要加以区分
0 条评论
下一页