import _ from "lodash"; import type { IHolderCapitalActlResponse } from "./IHolderCapitalActlResponse"; import type { IHolderCapitalResponse } from "./IHolderCapitalResponse"; import type { IHolderItemResponse } from "./IHolderItemResponse"; export interface IHolderResponse { holderId: number; unitName: string; quantity: number; uploader: string; uploadDate: number; /** * 虚拟字段 */ holderItems: IHolderItemResponse[]; holderCapitals: IHolderCapitalResponse[]; holderCapitalActls: IHolderCapitalActlResponse[]; } export class THolderResponse implements IHolderResponse { holderId: number = 0; unitName: string = ""; quantity: number = 0; uploader: string = ""; uploadDate: number = 0; holderItems: IHolderItemResponse[] = []; holderCapitals: IHolderCapitalResponse[] = []; holderCapitalActls: IHolderCapitalActlResponse[] = []; constructor(data: Partial = {}) { if (data) { _.merge(this, _.pick(data, Object.keys(this))); } } }