|
|
@@ -122,36 +122,39 @@ export function parseReceivePush(quotationData: any) {
|
|
|
setQuoteTikFieldByByte(goodsQuoteTik, key, value);
|
|
|
}
|
|
|
const quoteDayInfo = APP.getRef('quoteDayInfo');
|
|
|
- const itemQuote = quoteDayInfo.value.find((el: QueryQuoteDayRsp) => el.goodscode === goodsQuoteTik.goodscode);
|
|
|
+ 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
|
|
|
+ });
|
|
|
// debugger
|
|
|
if (itemQuote) {
|
|
|
const goods = getGoodsByCode(itemQuote.goodscode);
|
|
|
if (goods) {
|
|
|
- console.log('goodsQuoteTik', goodsQuoteTik)
|
|
|
- // 判断是一下行情时间是否比现在的要早
|
|
|
- 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) {
|
|
|
+ // 处理报价小数为
|
|
|
+ const decimalplace = goods.decimalplace
|
|
|
+ const num = Math.pow(10, decimalplace)
|
|
|
+ const fn = (value: number) => +(value / num).toFixed(decimalplace)
|
|
|
+ //
|
|
|
+ // 处理 报价小数位
|
|
|
+ const handleDeimalplace = (key: string) => {
|
|
|
+ return goodsQuoteTik[key] ? fn(goodsQuoteTik[key]) : itemQuote[key]
|
|
|
+ }
|
|
|
+ // 处理 如果有值则更新值,没有的话,则取上次的值
|
|
|
+ const handleNoneValue = (key: string) => {
|
|
|
+ return goodsQuoteTik[key] ? goodsQuoteTik[key] : itemQuote[key]
|
|
|
+ }
|
|
|
+
|
|
|
+ const changeValue = () => {
|
|
|
// 实时行情由于行情源的问题可能不会下发现量,这时用盘面的总量来计算
|
|
|
if (!goodsQuoteTik.lastvolume) {
|
|
|
if (itemQuote.totalvolume) {
|
|
|
itemQuote.lastvolume = goodsQuoteTik.totalvolume - itemQuote.totalvolume;
|
|
|
}
|
|
|
}
|
|
|
+ // console.log('goodsQuoteTik', goodsQuoteTik)
|
|
|
// mergeObj(itemQuote, goodsQuoteTik);
|
|
|
- // 处理报价小数为
|
|
|
- const decimalplace = goods.decimalplace
|
|
|
- const num = Math.pow(10, decimalplace)
|
|
|
- const fn = (value: number) => +(value / num).toFixed(decimalplace)
|
|
|
- //
|
|
|
- // 处理 报价小数位
|
|
|
- const handleDeimalplace = (key: string) => {
|
|
|
- return goodsQuoteTik[key] ? fn(goodsQuoteTik[key]) : itemQuote[key]
|
|
|
- }
|
|
|
- // 处理 如果有值则更新值,没有的话,则取上次的值
|
|
|
- const handleNoneValue = (key: string) => {
|
|
|
- return goodsQuoteTik[key] ? goodsQuoteTik[key] : itemQuote[key]
|
|
|
- }
|
|
|
+
|
|
|
// 处理价格
|
|
|
itemQuote.decimalplace = decimalplace
|
|
|
itemQuote.last = handleDeimalplace('last')
|
|
|
@@ -254,6 +257,20 @@ export function parseReceivePush(quotationData: any) {
|
|
|
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()
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
// goodsQuoteTik.averageprice = goodsQuoteTik.averageprice ? (fn(goodsQuoteTik.averageprice)) : '--'
|
|
|
// goodsQuoteTik.grepmarketprice = goodsQuoteTik.grepmarketprice ? (fn(goodsQuoteTik.grepmarketprice)) : '--'
|
|
|
@@ -297,7 +314,8 @@ export function parseReceivePush(quotationData: any) {
|
|
|
// }
|
|
|
} else {
|
|
|
// 此处 待优化(存在字段变化问题)
|
|
|
- quoteDayInfo.push(itemQuote);
|
|
|
+ // console.log('itemQuote', itemQuote)
|
|
|
+ // quoteDayInfo.value.push(itemQuote);
|
|
|
}
|
|
|
}
|
|
|
}
|