股票點買3.0交易系統接口設計思路

1、點買【市價委託】

參數:

股票代碼:symbol、股票名稱、委託方式:style(2市價)、委託價格:buyPrice、委託數量:buyNum、漲停價、跌停價、持倉時間:holdingTime、止盈線:stopProfitLine、止損線:stopLossLine、抵扣卷id:discountId、槓桿:multiple
複製代碼

邏輯:

  • 參數校驗
  • 履約保證金的計算
  • 從緩存中獲取手動接單和自動接單配置
  • 初始化訂單的接單類型【自動接單還須要初始化投資人信息】
  • 將初始化的訂單做爲參數,調用service層方法
  • 履約保證金+交易綜合費,判斷用戶帳戶的可用餘額是否充足
  • 如果自動接單,判斷投資人的可用餘額是否充足,登陸三方接口獲取token,查看三方劵商的可用餘額是否充足,發送委託單數據及token獲取委託訂單model,手動接單則不須要
  • 資金處理:凍結履約保證金和交易綜合費,在交易綜合費中扣除抵扣卷,抵扣卷金額大於交易綜合費,則將交易綜合費置爲0,抵扣卷直接置爲已使用並添加抵扣卷使用記錄。
  • 生成資金凍結記錄
  • 插入訂單【委託狀態交易中】,手動接單的狀態是匹配中,自動接單的狀態是交易中
  • 訂單放入redis隊列中(push、標誌:訂單的前綴+委託單的uuid):隊列名稱分爲手動和自動的隊列

同步成交定時器設計redis

  • 獲取redis自動接單隊列,經過隊列的名稱彈出(pop)訂單對象
  • 將隊列中的訂單對象當作參數,調用service層方法
  • 校驗訂單的委託狀態:只有交易中的才能夠進行同步成交操做。
  • 從緩存中獲取自動交易訂單的model,判斷返回狀態是已成交仍是部分紅交。
  • 處理扣除資金的流程: 獲取成交時候的。。。。。。【待續】

點賣

描述:相似於期權中的持倉中,在點買中的同步成交系統中生成持倉中的點賣訂單。

平倉:

根據點買規定的持倉時間,建立一個定時器,定時查找點賣列表,經過根據建立時間與持倉時間,判斷是否到了平倉的時間,須要給會員發送短信提醒平倉的時間到了。若到了時間點尚未平倉則強制平倉。緩存

追加保證金

保證金不足,短信提醒,會員本身手動追加保證金,若沒有追加保證金,不夠則強制平倉。ui

修改止盈止損

穿倉

委託中

結算中

管理端投資人手動搶單【手動接單的匹配】

流單定時刷選

相關文章
相關標籤/搜索