fix(ai-pick): complete quote handling and component organization
This commit is contained in:
@@ -1,21 +1,31 @@
|
||||
import { AbsRowData, RowData, TableData } from '@b2b/hq_table';
|
||||
import { TableRequestClient } from '@b2c/lib_baseui';
|
||||
import { TableConstants, TableRequestClient } from '@b2c/lib_baseui';
|
||||
import { RequestHelper, StuffTableStruct } from '@kernel/lib_communication';
|
||||
import {
|
||||
QuoteCustomSettingManager,
|
||||
StandardPriceType,
|
||||
StandardPriceTypeHelper,
|
||||
applyStandardPriceToTableData,
|
||||
} from 'biz_quote';
|
||||
import {
|
||||
CardData,
|
||||
PickContractItem,
|
||||
PickTabData,
|
||||
} from '../../ai-pick/AiPickModels';
|
||||
import { getUniqueContracts } from '../../ai-pick/AiPickUtils';
|
||||
import { TableConstants } from '../../market-ranking/TableConstants';
|
||||
|
||||
const FRAME_ID = 2201;
|
||||
const PAGE_ID = 4106;
|
||||
const FIELD_IDS: number[] = [
|
||||
TableConstants.DATA_ID_CODE_4,
|
||||
TableConstants.DATA_ID_PRICE,
|
||||
TableConstants.DATA_ID_ZF,
|
||||
TableConstants.DATA_ID_ZD,
|
||||
TableConstants.DATA_ID_MARKET,
|
||||
TableConstants.DATA_ID_ZF_YTD,
|
||||
TableConstants.DATA_ID_MARKET_OLD,
|
||||
StandardPriceTypeHelper.FIELD_ZUO_SHOU,
|
||||
StandardPriceTypeHelper.FIELD_JIN_KAI,
|
||||
StandardPriceTypeHelper.FIELD_ZUO_JIE,
|
||||
];
|
||||
|
||||
interface AiPickQuote {
|
||||
@@ -48,7 +58,8 @@ class AiPickTableRequestClient extends TableRequestClient {
|
||||
RequestHelper.build().base(this.frameId, this.pageId, this, this.requestParams).request();
|
||||
}
|
||||
|
||||
protected afterParserModel(tableData: TableData, _structData: StuffTableStruct): void {
|
||||
protected afterParserModel(tableData: TableData, structData: StuffTableStruct): void {
|
||||
applyStandardPriceToTableData(tableData, structData, FIELD_IDS);
|
||||
const quoteMap: Map<string, AiPickQuote> = this.toQuoteMap(tableData);
|
||||
const nextCardData: CardData = this.mergeQuoteData(quoteMap);
|
||||
this.sourceCardData = nextCardData;
|
||||
@@ -71,7 +82,7 @@ class AiPickTableRequestClient extends TableRequestClient {
|
||||
}
|
||||
const quote: AiPickQuote = {
|
||||
price: this.getNumber(row, TableConstants.DATA_ID_PRICE),
|
||||
priceChg: this.getNumber(row, TableConstants.DATA_ID_ZF_YTD),
|
||||
priceChg: this.getNumber(row, TableConstants.DATA_ID_ZF),
|
||||
};
|
||||
quoteMap.set(`${codeValue}_${marketValue}`, quote);
|
||||
});
|
||||
@@ -148,12 +159,15 @@ export class AiPickHqRequestClient {
|
||||
}
|
||||
|
||||
private buildRequestParams(contracts: PickContractItem[]): string {
|
||||
const computeMode: StandardPriceType =
|
||||
QuoteCustomSettingManager.getInstance().getStandardPriceType();
|
||||
return `\r\nsortid=-1\r\n` +
|
||||
`sortorder=0\r\n` +
|
||||
`push=1\r\n` +
|
||||
`dataitem=${FIELD_IDS.map((fieldId: number): string => `${fieldId},`).join('')}\r\n` +
|
||||
`codelist=${this.formatCodeList(contracts)}\r\n` +
|
||||
`update=1\r\n` +
|
||||
`computemode=${computeMode}\r\n` +
|
||||
`scenario=qht_qihuo_sort\r\n` +
|
||||
`precision=1\r\n` +
|
||||
`pushtime=2.5\r\n`;
|
||||
|
||||
Reference in New Issue
Block a user