import _ from "lodash"; import type { IEquityInfoCompanyResponse } from "./IEquityInfoCompanyResponse"; import type { IEquityInfoItemResponse } from "./IEquityInfoItemResponse"; import type { IEquityInfoPledgeeResponse } from "./IEquityInfoPledgeeResponse"; import type { IEquityInfoPledgorResponse } from "./IEquityInfoPledgorResponse"; export interface IEquityInfoResponse { equityInfoId: number; unitName: string; quantity: number; uploader: string; uploadDate: number; /** * 虚拟字段 */ equityInfoItems: IEquityInfoItemResponse[]; equityInfoCompanys: IEquityInfoCompanyResponse[]; equityInfoPledgees: IEquityInfoPledgeeResponse[]; equityInfoPledgors: IEquityInfoPledgorResponse[]; } export class TEquityInfoResponse implements IEquityInfoResponse { equityInfoId: number = 0; unitName: string = ""; quantity: number = 0; uploader: string = ""; uploadDate: number = 0; equityInfoItems: IEquityInfoItemResponse[] = []; equityInfoCompanys: IEquityInfoCompanyResponse[] = []; equityInfoPledgees: IEquityInfoPledgeeResponse[] = []; equityInfoPledgors: IEquityInfoPledgorResponse[] = []; constructor(data: Partial = {}) { if (data) { _.merge(this, _.pick(data, Object.keys(this))); } } }