|
|
@@ -9,6 +9,7 @@ import Long from 'long';
|
|
|
import moment from 'moment';
|
|
|
import { SubscribeInfoType } from '../interface';
|
|
|
import { byteArrayToUInt, subscribeInfosToByteArrary } from './byteUtils';
|
|
|
+import { throttle } from '@/utils/time'
|
|
|
|
|
|
/**
|
|
|
* 构建行情订阅请求包
|
|
|
@@ -121,214 +122,218 @@ export function parseReceivePush(quotationData: any) {
|
|
|
// 缓存值
|
|
|
setQuoteTikFieldByByte(goodsQuoteTik, key, value);
|
|
|
}
|
|
|
- const quoteDayInfo = APP.getRef('quoteDayInfo');
|
|
|
- const itemQuote = quoteDayInfo.value.find((el: QueryQuoteDayRsp) => {
|
|
|
- const goodcode = el.refgoodscode || el.goodscode
|
|
|
- // console.log(el.goodscode, el.refgoodscode, goodsQuoteTik.goodscode)
|
|
|
- return goodcode === goodsQuoteTik.goodscode
|
|
|
- });
|
|
|
- if (itemQuote) {
|
|
|
- const goods = getGoodsByCode(itemQuote.goodscode);
|
|
|
- if (goods) {
|
|
|
- // console.log('goodsQuoteTik', goodsQuoteTik)
|
|
|
- // 处理报价小数为
|
|
|
- const decimalplace = goods.decimalplace
|
|
|
- const num = Math.pow(10, decimalplace)
|
|
|
- const fn = (value: number) => +(value / num).toFixed(decimalplace)
|
|
|
- //
|
|
|
- // 处理 报价小数位
|
|
|
- const handleDeimalplace = (key: string) => {
|
|
|
- return Reflect.has(goodsQuoteTik, key) ? fn(goodsQuoteTik[key]) : itemQuote[key]
|
|
|
- }
|
|
|
- // 处理 如果有值则更新值,没有的话,则取上次的值
|
|
|
- // 注意: 0 也是有效数字
|
|
|
- const handleNoneValue = (key: string) => {
|
|
|
- return Reflect.has(goodsQuoteTik, key) ? goodsQuoteTik[key] : itemQuote[key]
|
|
|
- }
|
|
|
|
|
|
- const changeValue = () => {
|
|
|
- // 实时行情由于行情源的问题可能不会下发现量,这时用盘面的总量来计算
|
|
|
- if (!goodsQuoteTik.lastvolume) {
|
|
|
- if (itemQuote.totalvolume) {
|
|
|
- itemQuote.lastvolume = goodsQuoteTik.totalvolume - itemQuote.totalvolume;
|
|
|
- }
|
|
|
+ // 节流优化,降低推送频率,防止页面渲染更新太快导致cpu占用率过高
|
|
|
+ throttle(() => {
|
|
|
+ const quoteDayInfo = APP.getRef('quoteDayInfo');
|
|
|
+ const itemQuote = quoteDayInfo.value.find((el: QueryQuoteDayRsp) => {
|
|
|
+ const goodcode = el.refgoodscode || el.goodscode
|
|
|
+ // console.log(el.goodscode, el.refgoodscode, goodsQuoteTik.goodscode)
|
|
|
+ return goodcode === goodsQuoteTik.goodscode
|
|
|
+ });
|
|
|
+ if (itemQuote) {
|
|
|
+ const goods = getGoodsByCode(itemQuote.goodscode);
|
|
|
+ if (goods) {
|
|
|
+ // console.log('goodsQuoteTik', goodsQuoteTik)
|
|
|
+ // 处理报价小数为
|
|
|
+ const decimalplace = goods.decimalplace
|
|
|
+ const num = Math.pow(10, decimalplace)
|
|
|
+ const fn = (value: number) => +(value / num).toFixed(decimalplace)
|
|
|
+ //
|
|
|
+ // 处理 报价小数位
|
|
|
+ const handleDeimalplace = (key: string) => {
|
|
|
+ return Reflect.has(goodsQuoteTik, key) ? fn(goodsQuoteTik[key]) : itemQuote[key]
|
|
|
}
|
|
|
- // 处理 最高最低价
|
|
|
- if (Reflect.has(goodsQuoteTik, 'last')) {
|
|
|
- const last = itemQuote.last = handleDeimalplace('last')
|
|
|
- if (last < itemQuote.lowest) {
|
|
|
- itemQuote.lowest = handleDeimalplace('last')
|
|
|
- } else if (itemQuote.lowest === 0) {
|
|
|
- // 处理成交的时候,最低价为的情况,需要把最新价赋值给最低价
|
|
|
- itemQuote.lowest = handleDeimalplace('last')
|
|
|
- } else if (last > itemQuote.highest) {
|
|
|
- itemQuote.highest = handleDeimalplace('last')
|
|
|
- }
|
|
|
+ // 处理 如果有值则更新值,没有的话,则取上次的值
|
|
|
+ // 注意: 0 也是有效数字
|
|
|
+ const handleNoneValue = (key: string) => {
|
|
|
+ return Reflect.has(goodsQuoteTik, key) ? goodsQuoteTik[key] : itemQuote[key]
|
|
|
}
|
|
|
|
|
|
- // 处理价格
|
|
|
- itemQuote.decimalplace = decimalplace
|
|
|
+ const changeValue = () => {
|
|
|
+ // 实时行情由于行情源的问题可能不会下发现量,这时用盘面的总量来计算
|
|
|
+ if (!goodsQuoteTik.lastvolume) {
|
|
|
+ if (itemQuote.totalvolume) {
|
|
|
+ itemQuote.lastvolume = goodsQuoteTik.totalvolume - itemQuote.totalvolume;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 处理 最高最低价
|
|
|
+ if (Reflect.has(goodsQuoteTik, 'last')) {
|
|
|
+ const last = itemQuote.last = handleDeimalplace('last')
|
|
|
+ if (last < itemQuote.lowest) {
|
|
|
+ itemQuote.lowest = handleDeimalplace('last')
|
|
|
+ } else if (itemQuote.lowest === 0) {
|
|
|
+ // 处理成交的时候,最低价为的情况,需要把最新价赋值给最低价
|
|
|
+ itemQuote.lowest = handleDeimalplace('last')
|
|
|
+ } else if (last > itemQuote.highest) {
|
|
|
+ itemQuote.highest = handleDeimalplace('last')
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- itemQuote.ask = handleDeimalplace('ask')
|
|
|
- itemQuote.ask2 = handleDeimalplace('ask2')
|
|
|
- itemQuote.ask3 = handleDeimalplace('ask3')
|
|
|
- itemQuote.ask4 = handleDeimalplace('ask4')
|
|
|
- itemQuote.ask5 = handleDeimalplace('ask5')
|
|
|
- itemQuote.ask6 = handleDeimalplace('ask6')
|
|
|
- itemQuote.ask7 = handleDeimalplace('ask7')
|
|
|
- itemQuote.ask8 = handleDeimalplace('ask8')
|
|
|
- itemQuote.ask9 = handleDeimalplace('ask9')
|
|
|
- itemQuote.ask10 = handleDeimalplace('ask10')
|
|
|
- itemQuote.bid = handleDeimalplace('bid')
|
|
|
- itemQuote.bid2 = handleDeimalplace('bid2')
|
|
|
- itemQuote.bid3 = handleDeimalplace('bid3')
|
|
|
- itemQuote.bid4 = handleDeimalplace('bid4')
|
|
|
- itemQuote.bid5 = handleDeimalplace('bid5')
|
|
|
- itemQuote.bid6 = handleDeimalplace('bid6')
|
|
|
- itemQuote.bid7 = handleDeimalplace('bid7')
|
|
|
- itemQuote.bid8 = handleDeimalplace('bid8')
|
|
|
- itemQuote.bid9 = handleDeimalplace('bid9')
|
|
|
- itemQuote.averageprice = handleDeimalplace('averageprice')
|
|
|
- itemQuote.grepmarketprice = handleDeimalplace('grepmarketprice')
|
|
|
+ // 处理价格
|
|
|
+ itemQuote.decimalplace = decimalplace
|
|
|
|
|
|
- itemQuote.iep = handleDeimalplace('iep')
|
|
|
- itemQuote.limitdown = handleDeimalplace('limitdown')
|
|
|
- itemQuote.limitup = handleDeimalplace('limitup')
|
|
|
+ itemQuote.ask = handleDeimalplace('ask')
|
|
|
+ itemQuote.ask2 = handleDeimalplace('ask2')
|
|
|
+ itemQuote.ask3 = handleDeimalplace('ask3')
|
|
|
+ itemQuote.ask4 = handleDeimalplace('ask4')
|
|
|
+ itemQuote.ask5 = handleDeimalplace('ask5')
|
|
|
+ itemQuote.ask6 = handleDeimalplace('ask6')
|
|
|
+ itemQuote.ask7 = handleDeimalplace('ask7')
|
|
|
+ itemQuote.ask8 = handleDeimalplace('ask8')
|
|
|
+ itemQuote.ask9 = handleDeimalplace('ask9')
|
|
|
+ itemQuote.ask10 = handleDeimalplace('ask10')
|
|
|
+ itemQuote.bid = handleDeimalplace('bid')
|
|
|
+ itemQuote.bid2 = handleDeimalplace('bid2')
|
|
|
+ itemQuote.bid3 = handleDeimalplace('bid3')
|
|
|
+ itemQuote.bid4 = handleDeimalplace('bid4')
|
|
|
+ itemQuote.bid5 = handleDeimalplace('bid5')
|
|
|
+ itemQuote.bid6 = handleDeimalplace('bid6')
|
|
|
+ itemQuote.bid7 = handleDeimalplace('bid7')
|
|
|
+ itemQuote.bid8 = handleDeimalplace('bid8')
|
|
|
+ itemQuote.bid9 = handleDeimalplace('bid9')
|
|
|
+ itemQuote.averageprice = handleDeimalplace('averageprice')
|
|
|
+ itemQuote.grepmarketprice = handleDeimalplace('grepmarketprice')
|
|
|
|
|
|
+ itemQuote.iep = handleDeimalplace('iep')
|
|
|
+ itemQuote.limitdown = handleDeimalplace('limitdown')
|
|
|
+ itemQuote.limitup = handleDeimalplace('limitup')
|
|
|
|
|
|
- itemQuote.opened = handleDeimalplace('opened')
|
|
|
- itemQuote.lastturnover = handleDeimalplace('lastturnover')
|
|
|
- itemQuote.nontotalturnover = handleDeimalplace('nontotalturnover')
|
|
|
- itemQuote.lastturnover = handleDeimalplace('lastturnover')
|
|
|
- itemQuote.preclose = handleDeimalplace('preclose')
|
|
|
- itemQuote.settle = handleDeimalplace('settle')
|
|
|
- itemQuote.totalturnover = handleDeimalplace('totalturnover')
|
|
|
|
|
|
- itemQuote.askorderid = handleNoneValue('askorderid')
|
|
|
- itemQuote.askorderid2 = handleNoneValue('askorderid2')
|
|
|
- itemQuote.askorderid3 = handleNoneValue('askorderid3')
|
|
|
- itemQuote.askorderid4 = handleNoneValue('askorderid4')
|
|
|
- itemQuote.askorderid5 = handleNoneValue('askorderid5')
|
|
|
- itemQuote.askordervolume = handleNoneValue('askordervolume')
|
|
|
- itemQuote.askordervolume2 = handleNoneValue('askordervolume2')
|
|
|
- itemQuote.askordervolume3 = handleNoneValue('askordervolume3')
|
|
|
- itemQuote.askordervolume4 = handleNoneValue('askordervolume4')
|
|
|
- itemQuote.askordervolume5 = handleNoneValue('askordervolume5')
|
|
|
- itemQuote.askordervolume6 = handleNoneValue('askordervolume6')
|
|
|
- itemQuote.askordervolume7 = handleNoneValue('askordervolume7')
|
|
|
- itemQuote.askordervolume8 = handleNoneValue('askordervolume8')
|
|
|
- itemQuote.askordervolume9 = handleNoneValue('askordervolume9')
|
|
|
- itemQuote.askqueueinfo = handleNoneValue('askqueueinfo')
|
|
|
- itemQuote.askvolume = handleNoneValue('askvolume')
|
|
|
- itemQuote.askvolume2 = handleNoneValue('askvolume2')
|
|
|
- itemQuote.askvolume3 = handleNoneValue('askvolume3')
|
|
|
- itemQuote.askvolume4 = handleNoneValue('askvolume4')
|
|
|
- itemQuote.askvolume5 = handleNoneValue('askvolume5')
|
|
|
- itemQuote.askvolume6 = handleNoneValue('askvolume6')
|
|
|
- itemQuote.askvolume7 = handleNoneValue('askvolume7')
|
|
|
- itemQuote.askvolume8 = handleNoneValue('askvolume8')
|
|
|
- itemQuote.askvolume9 = handleNoneValue('askvolume9')
|
|
|
+ itemQuote.opened = handleDeimalplace('opened')
|
|
|
+ itemQuote.lastturnover = handleDeimalplace('lastturnover')
|
|
|
+ itemQuote.nontotalturnover = handleDeimalplace('nontotalturnover')
|
|
|
+ itemQuote.lastturnover = handleDeimalplace('lastturnover')
|
|
|
+ itemQuote.preclose = handleDeimalplace('preclose')
|
|
|
+ itemQuote.settle = handleDeimalplace('settle')
|
|
|
+ itemQuote.totalturnover = handleDeimalplace('totalturnover')
|
|
|
|
|
|
- itemQuote.bidorderid = handleNoneValue('bidorderid')
|
|
|
- itemQuote.bidorderid2 = handleNoneValue('bidorderid2')
|
|
|
- itemQuote.bidorderid3 = handleNoneValue('bidorderid3')
|
|
|
- itemQuote.bidorderid4 = handleNoneValue('bidorderid4')
|
|
|
- itemQuote.bidorderid5 = handleNoneValue('bidorderid5')
|
|
|
- itemQuote.bidordervolume = handleNoneValue('bidordervolume')
|
|
|
- itemQuote.bidordervolume2 = handleNoneValue('bidordervolume2')
|
|
|
- itemQuote.bidordervolume3 = handleNoneValue('bidordervolume3')
|
|
|
- itemQuote.bidordervolume4 = handleNoneValue('bidordervolume4')
|
|
|
- itemQuote.bidordervolume5 = handleNoneValue('bidordervolume5')
|
|
|
- itemQuote.bidordervolume6 = handleNoneValue('bidordervolume6')
|
|
|
- itemQuote.bidordervolume7 = handleNoneValue('bidordervolume7')
|
|
|
- itemQuote.bidordervolume8 = handleNoneValue('bidordervolume8')
|
|
|
- itemQuote.bidordervolume9 = handleNoneValue('bidordervolume9')
|
|
|
- itemQuote.bidqueueinfo = handleNoneValue('bidqueueinfo')
|
|
|
- itemQuote.bidvolume = handleNoneValue('bidvolume')
|
|
|
- itemQuote.bidvolume2 = handleNoneValue('bidvolume2')
|
|
|
- itemQuote.bidvolume3 = handleNoneValue('bidvolume3')
|
|
|
- itemQuote.bidvolume4 = handleNoneValue('bidvolume4')
|
|
|
- itemQuote.bidvolume5 = handleNoneValue('bidvolume5')
|
|
|
- itemQuote.bidvolume6 = handleNoneValue('bidvolume6')
|
|
|
- itemQuote.bidvolume7 = handleNoneValue('bidvolume7')
|
|
|
- itemQuote.bidvolume8 = handleNoneValue('bidvolume8')
|
|
|
- itemQuote.bidvolume9 = handleNoneValue('bidvolume9')
|
|
|
- itemQuote.calloptionpremiums = handleNoneValue('calloptionpremiums')
|
|
|
- itemQuote.calloptionpremiums2 = handleNoneValue('calloptionpremiums2')
|
|
|
- itemQuote.calloptionpremiums3 = handleNoneValue('calloptionpremiums3')
|
|
|
- itemQuote.calloptionpremiums4 = handleNoneValue('calloptionpremiums4')
|
|
|
- itemQuote.calloptionpremiums5 = handleNoneValue('calloptionpremiums5')
|
|
|
- itemQuote.holdincrement = handleNoneValue('holdincrement')
|
|
|
- itemQuote.holdvolume = handleNoneValue('holdvolume')
|
|
|
- itemQuote.inventory = handleNoneValue('inventory')
|
|
|
- itemQuote.lastlot = handleNoneValue('lastlot')
|
|
|
- itemQuote.nontotalholdervolume = handleNoneValue('nontotalholdervolume')
|
|
|
- itemQuote.nontotallot = handleNoneValue('nontotallot')
|
|
|
- itemQuote.nontotalvolume = handleNoneValue('nontotalvolume')
|
|
|
- itemQuote.totallot = handleNoneValue('totallot')
|
|
|
- itemQuote.totalvolume = handleNoneValue('totalvolume')
|
|
|
- }
|
|
|
+ itemQuote.askorderid = handleNoneValue('askorderid')
|
|
|
+ itemQuote.askorderid2 = handleNoneValue('askorderid2')
|
|
|
+ itemQuote.askorderid3 = handleNoneValue('askorderid3')
|
|
|
+ itemQuote.askorderid4 = handleNoneValue('askorderid4')
|
|
|
+ itemQuote.askorderid5 = handleNoneValue('askorderid5')
|
|
|
+ itemQuote.askordervolume = handleNoneValue('askordervolume')
|
|
|
+ itemQuote.askordervolume2 = handleNoneValue('askordervolume2')
|
|
|
+ itemQuote.askordervolume3 = handleNoneValue('askordervolume3')
|
|
|
+ itemQuote.askordervolume4 = handleNoneValue('askordervolume4')
|
|
|
+ itemQuote.askordervolume5 = handleNoneValue('askordervolume5')
|
|
|
+ itemQuote.askordervolume6 = handleNoneValue('askordervolume6')
|
|
|
+ itemQuote.askordervolume7 = handleNoneValue('askordervolume7')
|
|
|
+ itemQuote.askordervolume8 = handleNoneValue('askordervolume8')
|
|
|
+ itemQuote.askordervolume9 = handleNoneValue('askordervolume9')
|
|
|
+ itemQuote.askqueueinfo = handleNoneValue('askqueueinfo')
|
|
|
+ itemQuote.askvolume = handleNoneValue('askvolume')
|
|
|
+ itemQuote.askvolume2 = handleNoneValue('askvolume2')
|
|
|
+ itemQuote.askvolume3 = handleNoneValue('askvolume3')
|
|
|
+ itemQuote.askvolume4 = handleNoneValue('askvolume4')
|
|
|
+ itemQuote.askvolume5 = handleNoneValue('askvolume5')
|
|
|
+ itemQuote.askvolume6 = handleNoneValue('askvolume6')
|
|
|
+ itemQuote.askvolume7 = handleNoneValue('askvolume7')
|
|
|
+ itemQuote.askvolume8 = handleNoneValue('askvolume8')
|
|
|
+ itemQuote.askvolume9 = handleNoneValue('askvolume9')
|
|
|
|
|
|
- // 判断是一下行情时间是否比现在的要早
|
|
|
- if (goodsQuoteTik.lasttime) {
|
|
|
- const quoteTime = moment(goodsQuoteTik.lasttime, 'YYYY-MM-DD HH:mm:ss')
|
|
|
- const localTime = moment(itemQuote.lasttime, 'YYYY-MM-DD HH:mm:ss')
|
|
|
- if (quoteTime >= localTime) {
|
|
|
+ itemQuote.bidorderid = handleNoneValue('bidorderid')
|
|
|
+ itemQuote.bidorderid2 = handleNoneValue('bidorderid2')
|
|
|
+ itemQuote.bidorderid3 = handleNoneValue('bidorderid3')
|
|
|
+ itemQuote.bidorderid4 = handleNoneValue('bidorderid4')
|
|
|
+ itemQuote.bidorderid5 = handleNoneValue('bidorderid5')
|
|
|
+ itemQuote.bidordervolume = handleNoneValue('bidordervolume')
|
|
|
+ itemQuote.bidordervolume2 = handleNoneValue('bidordervolume2')
|
|
|
+ itemQuote.bidordervolume3 = handleNoneValue('bidordervolume3')
|
|
|
+ itemQuote.bidordervolume4 = handleNoneValue('bidordervolume4')
|
|
|
+ itemQuote.bidordervolume5 = handleNoneValue('bidordervolume5')
|
|
|
+ itemQuote.bidordervolume6 = handleNoneValue('bidordervolume6')
|
|
|
+ itemQuote.bidordervolume7 = handleNoneValue('bidordervolume7')
|
|
|
+ itemQuote.bidordervolume8 = handleNoneValue('bidordervolume8')
|
|
|
+ itemQuote.bidordervolume9 = handleNoneValue('bidordervolume9')
|
|
|
+ itemQuote.bidqueueinfo = handleNoneValue('bidqueueinfo')
|
|
|
+ itemQuote.bidvolume = handleNoneValue('bidvolume')
|
|
|
+ itemQuote.bidvolume2 = handleNoneValue('bidvolume2')
|
|
|
+ itemQuote.bidvolume3 = handleNoneValue('bidvolume3')
|
|
|
+ itemQuote.bidvolume4 = handleNoneValue('bidvolume4')
|
|
|
+ itemQuote.bidvolume5 = handleNoneValue('bidvolume5')
|
|
|
+ itemQuote.bidvolume6 = handleNoneValue('bidvolume6')
|
|
|
+ itemQuote.bidvolume7 = handleNoneValue('bidvolume7')
|
|
|
+ itemQuote.bidvolume8 = handleNoneValue('bidvolume8')
|
|
|
+ itemQuote.bidvolume9 = handleNoneValue('bidvolume9')
|
|
|
+ itemQuote.calloptionpremiums = handleNoneValue('calloptionpremiums')
|
|
|
+ itemQuote.calloptionpremiums2 = handleNoneValue('calloptionpremiums2')
|
|
|
+ itemQuote.calloptionpremiums3 = handleNoneValue('calloptionpremiums3')
|
|
|
+ itemQuote.calloptionpremiums4 = handleNoneValue('calloptionpremiums4')
|
|
|
+ itemQuote.calloptionpremiums5 = handleNoneValue('calloptionpremiums5')
|
|
|
+ itemQuote.holdincrement = handleNoneValue('holdincrement')
|
|
|
+ itemQuote.holdvolume = handleNoneValue('holdvolume')
|
|
|
+ itemQuote.inventory = handleNoneValue('inventory')
|
|
|
+ itemQuote.lastlot = handleNoneValue('lastlot')
|
|
|
+ itemQuote.nontotalholdervolume = handleNoneValue('nontotalholdervolume')
|
|
|
+ itemQuote.nontotallot = handleNoneValue('nontotallot')
|
|
|
+ itemQuote.nontotalvolume = handleNoneValue('nontotalvolume')
|
|
|
+ itemQuote.totallot = handleNoneValue('totallot')
|
|
|
+ itemQuote.totalvolume = handleNoneValue('totalvolume')
|
|
|
+ }
|
|
|
+
|
|
|
+ // 判断是一下行情时间是否比现在的要早
|
|
|
+ if (goodsQuoteTik.lasttime) {
|
|
|
+ const quoteTime = moment(goodsQuoteTik.lasttime, 'YYYY-MM-DD HH:mm:ss')
|
|
|
+ const localTime = moment(itemQuote.lasttime, 'YYYY-MM-DD HH:mm:ss')
|
|
|
+ if (quoteTime >= localTime) {
|
|
|
+ changeValue()
|
|
|
+ itemQuote.lasttime = handleNoneValue('lasttime')
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 委托单 没有 行情变更时间
|
|
|
changeValue()
|
|
|
- itemQuote.lasttime = handleNoneValue('lasttime')
|
|
|
}
|
|
|
- } else {
|
|
|
- // 委托单 没有 行情变更时间
|
|
|
- changeValue()
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
|
|
- // goodsQuoteTik.averageprice = goodsQuoteTik.averageprice ? (fn(goodsQuoteTik.averageprice)) : '--'
|
|
|
- // goodsQuoteTik.grepmarketprice = goodsQuoteTik.grepmarketprice ? (fn(goodsQuoteTik.grepmarketprice)) : '--'
|
|
|
- // goodsQuoteTik.highest = goodsQuoteTik.highest ? (fn(goodsQuoteTik.highest)) : '--'
|
|
|
- // goodsQuoteTik.iep = goodsQuoteTik.iep ? (fn(goodsQuoteTik.iep)) : '--'
|
|
|
- // goodsQuoteTik.limitdown = goodsQuoteTik.limitdown ? (fn(goodsQuoteTik.limitdown)) : '--'
|
|
|
- // goodsQuoteTik.limitup = goodsQuoteTik.limitup ? (fn(goodsQuoteTik.limitup)) : '--'
|
|
|
- // goodsQuoteTik.lowest = goodsQuoteTik.lowest ? (fn(goodsQuoteTik.lowest)) : '--'
|
|
|
- // goodsQuoteTik.opened = goodsQuoteTik.opened ? (fn(goodsQuoteTik.opened)) : '--'
|
|
|
- // goodsQuoteTik.preclose = goodsQuoteTik.preclose ? (fn(goodsQuoteTik.preclose)) : '--'
|
|
|
- // goodsQuoteTik.settle = goodsQuoteTik.settle ? (fn(goodsQuoteTik.settle)) : '--'
|
|
|
- // goodsQuoteTik.strikeprice = goodsQuoteTik.strikeprice ? (fn(goodsQuoteTik.strikeprice)) : '--'
|
|
|
+ // goodsQuoteTik.averageprice = goodsQuoteTik.averageprice ? (fn(goodsQuoteTik.averageprice)) : '--'
|
|
|
+ // goodsQuoteTik.grepmarketprice = goodsQuoteTik.grepmarketprice ? (fn(goodsQuoteTik.grepmarketprice)) : '--'
|
|
|
+ // goodsQuoteTik.highest = goodsQuoteTik.highest ? (fn(goodsQuoteTik.highest)) : '--'
|
|
|
+ // goodsQuoteTik.iep = goodsQuoteTik.iep ? (fn(goodsQuoteTik.iep)) : '--'
|
|
|
+ // goodsQuoteTik.limitdown = goodsQuoteTik.limitdown ? (fn(goodsQuoteTik.limitdown)) : '--'
|
|
|
+ // goodsQuoteTik.limitup = goodsQuoteTik.limitup ? (fn(goodsQuoteTik.limitup)) : '--'
|
|
|
+ // goodsQuoteTik.lowest = goodsQuoteTik.lowest ? (fn(goodsQuoteTik.lowest)) : '--'
|
|
|
+ // goodsQuoteTik.opened = goodsQuoteTik.opened ? (fn(goodsQuoteTik.opened)) : '--'
|
|
|
+ // goodsQuoteTik.preclose = goodsQuoteTik.preclose ? (fn(goodsQuoteTik.preclose)) : '--'
|
|
|
+ // goodsQuoteTik.settle = goodsQuoteTik.settle ? (fn(goodsQuoteTik.settle)) : '--'
|
|
|
+ // goodsQuoteTik.strikeprice = goodsQuoteTik.strikeprice ? (fn(goodsQuoteTik.strikeprice)) : '--'
|
|
|
+
|
|
|
+ // goodsQuoteTik.lasttime = moment(goodsQuoteTik.date + goodsQuoteTik.time, 'YYYYMMDDHHmmss').format('YYYY-MM-DD HH:mm:ss')
|
|
|
+
|
|
|
+ // // 实时行情由于行情源的问题可能不会下发现量,这时用盘面的总量来计算
|
|
|
+ // if (!goodsQuoteTik.lastvolume) {
|
|
|
+ // if (itemQuote.totalvolume) {
|
|
|
+ // goodsQuoteTik.lastvolume = goodsQuoteTik.totalvolume - itemQuote.totalvolume;
|
|
|
+ // } else {
|
|
|
+ // goodsQuoteTik.lastvolume = "--";
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // !goodsQuoteTik.holdvolume && (goodsQuoteTik.holdvolume = '--')
|
|
|
+ // !goodsQuoteTik.holdincrement && (goodsQuoteTik.holdincrement = '--')
|
|
|
+ // !goodsQuoteTik.totalturnover && (goodsQuoteTik.totalturnover = '--')
|
|
|
+ // console.log('goodsQuoteTik', goodsQuoteTik)
|
|
|
+ // mergeObj(itemQuote, goodsQuoteTik);
|
|
|
+ } else {
|
|
|
+ console.warn(`行情推送的商品goods:${itemQuote.goodscode}在商品列表里不存在`)
|
|
|
+ }
|
|
|
|
|
|
- // goodsQuoteTik.lasttime = moment(goodsQuoteTik.date + goodsQuoteTik.time, 'YYYYMMDDHHmmss').format('YYYY-MM-DD HH:mm:ss')
|
|
|
+ // 注意:此处已 go 服务查询出来的盘面数据为基准,查询盘面 先修改成go 服务,第一次进入项目时候回查询一次所有盘面
|
|
|
+ // 之前是 通过 websocket 查询的,故 可能存在字段发生变化问题,如遇到,则进行优化处理
|
|
|
|
|
|
- // // 实时行情由于行情源的问题可能不会下发现量,这时用盘面的总量来计算
|
|
|
- // if (!goodsQuoteTik.lastvolume) {
|
|
|
- // if (itemQuote.totalvolume) {
|
|
|
- // goodsQuoteTik.lastvolume = goodsQuoteTik.totalvolume - itemQuote.totalvolume;
|
|
|
- // } else {
|
|
|
- // goodsQuoteTik.lastvolume = "--";
|
|
|
- // }
|
|
|
+ // 判断是一下行情时间是否比现在的要早
|
|
|
+ // const quoteTime = moment(goodsQuoteTik.lasttime, 'YYYY-MM-DD HH:mm:ss')
|
|
|
+ // const localTime = moment(itemQuote.lasttime, 'YYYY-MM-DD HH:mm:ss')
|
|
|
+ // if (quoteTime >= localTime) {
|
|
|
+ // mergeObj(itemQuote, goodsQuoteTik);
|
|
|
// }
|
|
|
- // !goodsQuoteTik.holdvolume && (goodsQuoteTik.holdvolume = '--')
|
|
|
- // !goodsQuoteTik.holdincrement && (goodsQuoteTik.holdincrement = '--')
|
|
|
- // !goodsQuoteTik.totalturnover && (goodsQuoteTik.totalturnover = '--')
|
|
|
- // console.log('goodsQuoteTik', goodsQuoteTik)
|
|
|
- // mergeObj(itemQuote, goodsQuoteTik);
|
|
|
} else {
|
|
|
- console.warn(`行情推送的商品goods:${itemQuote.goodscode}在商品列表里不存在`)
|
|
|
+ // 此处 待优化(存在字段变化问题)
|
|
|
+ // console.log('itemQuote', itemQuote)
|
|
|
+ // quoteDayInfo.value.push(itemQuote);
|
|
|
}
|
|
|
-
|
|
|
- // 注意:此处已 go 服务查询出来的盘面数据为基准,查询盘面 先修改成go 服务,第一次进入项目时候回查询一次所有盘面
|
|
|
- // 之前是 通过 websocket 查询的,故 可能存在字段发生变化问题,如遇到,则进行优化处理
|
|
|
-
|
|
|
- // 判断是一下行情时间是否比现在的要早
|
|
|
- // const quoteTime = moment(goodsQuoteTik.lasttime, 'YYYY-MM-DD HH:mm:ss')
|
|
|
- // const localTime = moment(itemQuote.lasttime, 'YYYY-MM-DD HH:mm:ss')
|
|
|
- // if (quoteTime >= localTime) {
|
|
|
- // mergeObj(itemQuote, goodsQuoteTik);
|
|
|
- // }
|
|
|
- } else {
|
|
|
- // 此处 待优化(存在字段变化问题)
|
|
|
- // console.log('itemQuote', itemQuote)
|
|
|
- // quoteDayInfo.value.push(itemQuote);
|
|
|
- }
|
|
|
+ }, 300, goodsQuoteTik.goodscode)
|
|
|
}
|
|
|
}
|
|
|
|