50ETF點掌期權項目開發的業務設計

技術架構:mybatis、springboot1.5.X、redis、mysql、quartz、springcloud eurekamysql

交易

1:委託買入

參數:

委託價格、委託數量、委託方式【市價、限價】、價格類型、合約代碼、合約名稱、用戶的紅包標識redis

邏輯:

  • 參數校驗
  • 判斷交易時間是否合乎規定
  • 根據合約代碼獲取該合約最新的行情,判斷委託單的委託類型,設置委託價格
  • 計算手續費,抵扣紅包金額,平臺用戶的資金處理【判斷、凍結可用餘額、生成資金記錄】
  • 按照必定的權重刷選三方劵商的信息
  • 登陸劵商帳號獲取token,獲得劵商的資金信息,判斷可用餘額是否充足
  • 發送委託單數據,獲取三方的委託實體模型【回填的委託單編號和委託單引用】
  • 更新委託單的狀態、設置委託單的委託編號和委託引用
  • 添加委託單到數據庫
  • 將委託單對象存放到redis緩存中【下單結束。。。。。】

委託賣出【以什麼樣的委託方式買進了就以什麼樣的委託方式賣出】

參數

委託數量、委託價格、持倉單標識、價格類型spring

邏輯:

  • 參數校驗
  • 根據持倉單的標識判斷該持倉是否存在
  • 判斷交易時間是否合乎規定
  • 根據合約代碼獲取最新的行情信息
  • 建立委託賣出單對象
  • 調用service層的方法【參數:委託賣出單、行情、持倉對象】
  • 判斷委託方式,獲取委託賣出價格
  • 計算手續費,平臺用戶資金處理
  • 登陸三方劵商的帳戶,獲取token,發送數據獲取委託實體模型
  • 初始化委託賣出單的字段並修改狀態
  • 添加委託賣出單,修改持倉可賣數量
  • 將委託賣出單存放到緩存中【賣單結束。。。。】

定時器

包含的定時器:一、從數據庫中查詢中處於交易中的委託單【買入和賣出】,加入緩存中;二、同步實盤買入委託單任務調度;三、同步實盤賣出委託單任務調度;三、定時查詢劵商下面的委託單信息存放到緩存中;四、定時查詢劵商下面的成交明細並存放到緩存中;五、平倉定時通知短信和到時間點強制平倉;六、遞延費收取和不足給予短信提醒【通知找出一筆點買額度最小盈利最多的直接強制平倉】;七、定時分傭結算sql

相關文章
相關標籤/搜索