import _ from "lodash"; import type { IMortgageInfoBaseInfoResponse } from "./IMortgageInfoBaseInfoResponse"; import type { IMortgageInfoChangeInfoResponse } from "./IMortgageInfoChangeInfoResponse"; import type { IMortgageInfoPawnInfoResponse } from "./IMortgageInfoPawnInfoResponse"; import type { IMortgageInfoPeopleInfoResponse } from "./IMortgageInfoPeopleInfoResponse"; export interface IMortgageInfoResponse { mortgageInfoId: number; unitName: string; quantity: number; uploader: string; uploadDate: number; /** * 虚拟字段 */ mortgageInfoBaseInfos: IMortgageInfoBaseInfoResponse[]; mortgageInfoChangeInfos: IMortgageInfoChangeInfoResponse[]; mortgageInfoPawnInfos: IMortgageInfoPawnInfoResponse[]; mortgageInfoPeopleInfos: IMortgageInfoPeopleInfoResponse[]; } export class TMortgageInfoResponse implements IMortgageInfoResponse { mortgageInfoId: number = 0; unitName: string = ""; quantity: number = 0; uploader: string = ""; uploadDate: number = 0; mortgageInfoBaseInfos: IMortgageInfoBaseInfoResponse[] = []; mortgageInfoChangeInfos: IMortgageInfoChangeInfoResponse[] = []; mortgageInfoPawnInfos: IMortgageInfoPawnInfoResponse[] = []; mortgageInfoPeopleInfos: IMortgageInfoPeopleInfoResponse[] = []; constructor(data: Partial = {}) { if (data) { _.merge(this, _.pick(data, Object.keys(this))); } } }