dm-web-react
Version:
The DM web client with React.
86 lines (81 loc) • 4.43 kB
text/typescript
import { TableBase } from "./tableBase";
import { CreateTableTemplate } from "../../models/database/createTableTemplate";
import { TableInfo } from "../../models/database/tableInfo";
import { ExchangeImagePrice } from "../../models/entity/table/exchangeImagePrice";
export class ExchangeImagePriceTable extends TableBase {
public static readonly tableName: string = "exchangeImagePrice";
public static readonly version: number = 1;
private readonly columnNames: string[] = [];
constructor() {
super();
this.columnNames.push(this.getColumnName("dataId"));
this.columnNames.push(this.getColumnName("issueDataTime"));
this.columnNames.push(this.getColumnName("bondCode"));
this.columnNames.push(this.getColumnName("bid"));
this.columnNames.push(this.getColumnName("bidValue"));
this.columnNames.push(this.getColumnName("bidVolume"));
this.columnNames.push(this.getColumnName("bidVolumeValue"));
this.columnNames.push(this.getColumnName("ofr"));
this.columnNames.push(this.getColumnName("ofrValue"));
this.columnNames.push(this.getColumnName("ofrVolume"));
this.columnNames.push(this.getColumnName("ofrVolumeValue"));
this.columnNames.push(this.getColumnName("bidSubChinaBond"));
this.columnNames.push(this.getColumnName("bidSubChinaBondValue"));
this.columnNames.push(this.getColumnName("chinaBondSubOfr"));
this.columnNames.push(this.getColumnName("chinaBondSubOfrValue"));
this.columnNames.push(this.getColumnName("bidSubCsIndex"));
this.columnNames.push(this.getColumnName("bidSubCsIndexValue"));
this.columnNames.push(this.getColumnName("csIndexSubOfr"));
this.columnNames.push(this.getColumnName("csIndexSubOfrValue"));
this.columnNames.push(this.getColumnName("tradeSubChinaBond"));
this.columnNames.push(this.getColumnName("tradeSubCsIndex"));
this.columnNames.push(this.getColumnName("recentYtm"));
this.columnNames.push(this.getColumnName("recentVolumn"));
}
private getColumnName(value: keyof ExchangeImagePrice): string {
return value.toString();
}
public getCreateTableTemplate(): CreateTableTemplate {
const createSql = `CREATE TABLE ${ExchangeImagePriceTable.tableName} (
${this.getColumnName("dataId")} VARCHAR(50) PRIMARY KEY,
${this.getColumnName("id")} INTEGER,
${this.getColumnName("issueDataTime")} INTEGER,
${this.getColumnName("bondCode")} VARCHAR(50),
${this.getColumnName("bid")} VARCHAR(50),
${this.getColumnName("bidValue")} DECIMAL(10,4),
${this.getColumnName("bidVolume")} VARCHAR(50),
${this.getColumnName("bidVolumeValue")} DECIMAL(10,4),
${this.getColumnName("ofr")} VARCHAR(50),
${this.getColumnName("ofrValue")} DECIMAL(10,4),
${this.getColumnName("ofrVolume")} VARCHAR(50),
${this.getColumnName("ofrVolumeValue")} DECIMAL(10,4),
${this.getColumnName("bidSubChinaBond")} VARCHAR(50),
${this.getColumnName("bidSubChinaBondValue")} DECIMAL(10,4),
${this.getColumnName("chinaBondSubOfr")} VARCHAR(50),
${this.getColumnName("chinaBondSubOfrValue")} DECIMAL(10,4),
${this.getColumnName("bidSubCsIndex")} VARCHAR(50),
${this.getColumnName("bidSubCsIndexValue")} DECIMAL(10,4),
${this.getColumnName("csIndexSubOfr")} VARCHAR(50),
${this.getColumnName("csIndexSubOfrValue")} DECIMAL(10,4),
${this.getColumnName("tradeSubChinaBond")} VARCHAR(50),
${this.getColumnName("tradeSubCsIndex")} VARCHAR(50)
);
CREATE INDEX IF NOT EXISTS index_${ExchangeImagePriceTable.tableName}_${this.getColumnName("id")} ON ${
ExchangeImagePriceTable.tableName
}(${this.getColumnName("id")});
CREATE INDEX IF NOT EXISTS index_${ExchangeImagePriceTable.tableName}_${this.getColumnName("issueDataTime")} ON ${
ExchangeImagePriceTable.tableName
}(${this.getColumnName("issueDataTime")});`;
const result = new CreateTableTemplate();
result.createSql = createSql;
result.tableName = ExchangeImagePriceTable.tableName;
result.version = ExchangeImagePriceTable.version;
return result;
}
public getTableInfo(): TableInfo {
const result = new TableInfo();
result.tableName = ExchangeImagePriceTable.tableName;
result.columnNames = this.columnNames;
return result;
}
}