Added API for externalAPI, added env for clients

This commit is contained in:
SepehrYahyaee
2026-06-13 11:26:33 +03:30
parent cb47069e90
commit 3abbd45fac
13 changed files with 335 additions and 161 deletions

View File

@@ -40,40 +40,49 @@ export class SandHubService {
return this.systemSettingsService.isSandHubLiveEnabled();
}
/** Tenant-specific company fields for mocked external inquiries (MOCK_INQUIRY_COMPANY_*). */
private getMockInquiryCompanyId(): string {
return process.env.CLIENT_ID ?? "15";
}
private getMockInquiryCompanyName(): string {
return process.env.CLIENT_NAME ?? "بیمه سامان";
}
/** Fixed plate/insurance inquiry payload used everywhere we mock block-inquiry style APIs. */
private getDefaultMockPlateInquiryRaw(): Record<string, unknown> {
return {
PrntPlcyCmpDocNo: "1403/1143-70591/200/35",
MapTypNam: "پرايد هاچ بک -111",
MtrNum: "5215907",
ShsNum: "NAS431100E5798656",
DisFnYrNum: "0",
DisLfYrNum: "0",
DisPrsnYrNum: "0",
DisPrsnYrPrcnt: "0",
DisFnYrPrcnt: "0",
DisLfYrPrcnt: "0",
vin: "IRPC941V2BD798656",
PrntPlcyCmpDocNo: "1404/1143-70591/200/123",
MapTypNam: "فائو ( FAW )",
MtrNum: "TZ196XYAP223A210074",
ShsNum: "LFP8C7PC3R1K12157",
DisFnYrNum: null,
DisLfYrNum: null,
DisPrsnYrNum: null,
DisPrsnYrPrcnt: null,
DisFnYrPrcnt: "5",
DisLfYrPrcnt: "5",
vin: "LFP8C7PC3R1K12157",
MapVehicleSystemName: "ثبت نشده",
LfCvrCptl: 0,
FnCvrCptl: 0,
PrsnCvrCptl: 0,
VehicleSystemCode: 1,
EdrsJson: '[{"id":1,"Dsc":" الحاقيه توضيحات ندارد"}]',
EdrsJson: "",
PersonCvrCptl: 12000000000,
LifeCvrCptl: 16000000000,
FinancialCvrCptl: 4000000000,
CarGroupCode: 3,
CylCnt: 4,
LastCompanyDocumentNumber: "03/1031/2835/1001/662",
LastCompanyDocumentNumber: "31/3100/03/18350",
UsageCode: "8",
MapUsageCode: 1,
MapUsageName: "شخصي",
Plk1: 59,
Plk2: 16,
Plk3: 419,
PlkSrl: 78,
PrintEndorsCompanyDocumentNumber: "بيمه نامه الحاقيه ندارد.",
Plk1: 16,
Plk2: 12,
Plk3: 498,
PlkSrl: 60,
PrintEndorsCompanyDocumentNumber: "",
EndorseDate: null,
InsuranceFullName: null,
SystemField: "سايپا",
@@ -81,12 +90,12 @@ export class SandHubService {
UsageField: "سواري",
MainColorField: "سفيد",
SecondColorField: "سفيد شيري",
ModelField: "1394",
ModelField: "2024",
CapacityField: "جمعا 4 نفر",
CylinderNumberField: "4",
EngineNumberField: "5215907",
ChassisNumberField: "NAS431100E5798656",
VinNumberField: "IRPC941V2BD798656",
ChassisNumberField: "LFP8C7PC3R1K12157",
VinNumberField: "LFP8C7PC3R1K12157",
InstallDateField: "1403/03/01",
AxelNumberField: "2",
WheelNumberField: "4",
@@ -107,7 +116,7 @@ export class SandHubService {
SystemCodeCii: 0,
SystemNameCii: "ثبت نشده",
TypeCodeCii: 12189,
TypeNameCii: "پرايد هاچ بک -111",
TypeNameCii: "فائو ( FAW )",
UsageNameCii: "سواري",
UsageCodeCii: 1,
ModelCii: 1394,
@@ -116,6 +125,47 @@ export class SandHubService {
};
}
private getDefaultMockCarBodyInquiryRaw(
userDetail: SandHubDetailDto,
): Record<string, unknown> {
const companyId = Number(this.getMockInquiryCompanyId());
return {
data: {
id: 70016075946,
printNumber: "1405/1143-70591/220/1/0",
companyId: Number.isNaN(companyId) ? 15 : companyId,
companyName: this.getMockInquiryCompanyName(),
beginDate: "1405/01/17",
endDate: "1406/01/17",
issueDate: "1405/01/16",
hasEndorsement: null,
motorNumber: "TZ196XYAP223A210074",
chassisNumber: "LFP8C7PC3R1K12157",
vin: "LFP8C7PC3R1K12157",
plateTypeId: 9,
plateTypeTitle: "پلاک قدیمی",
platePartOne: 16,
plateSerialNumber: 60,
plateLetterid: 12,
plateLetterTitle: "م ",
vehicleSystemTitle: "فائو ( FAW )",
vehicleGroupId: 2,
vehicleGroupTitle: "سواری چهار سیلندر",
insurerNationalCode: userDetail.nationalCodeOfInsurer,
insurerName: "هانيه کارخانهء",
ownerNationalCode: userDetail.nationalCodeOfInsurer,
previousId: 70006331822,
noLossYearsCount: 4,
platePartThree: 498,
lossDocuments: [],
},
isSuccess: true,
statusCode: 200,
message: "عملیات با موفقیت انجام شد",
};
}
/**
* Bodies returned from `makeSandHubRequest` in mock mode (same shape callers expect from real API).
*/
@@ -401,30 +451,7 @@ export class SandHubService {
this.logger.debug(
`[MOCK] getTejaratCarBodyInquiry plate=${JSON.stringify(requestPayload)}`,
);
raw = {
data: {
printNumber: "MOCK-BADANE-001",
companyId: 34,
companyName: "بیمه تجارت نو",
beginDate: "1404/06/15",
endDate: "1405/06/15",
issueDate: "1404/06/13",
hasEndorsement: null,
motorNumber: "MOCK-ENGINE",
chassisNumber: "MOCK-CHASSIS",
vin: "MOCK-VIN",
vehicleSystemTitle: "سایپا",
vehicleGroupTitle: "سواری چهار سیلندر",
insurerNationalCode: userDetail.nationalCodeOfInsurer,
insurerName: "نام آزمایشی",
ownerNationalCode: userDetail.nationalCodeOfInsurer,
noLossYearsCount: 0,
lossDocuments: [],
},
isSuccess: true,
statusCode: 200,
message: "mock-ok",
};
raw = this.getDefaultMockCarBodyInquiryRaw(userDetail);
}
const mapped = this.mapCarBodyInquiryResponse(raw);