feature/IO-3357-Reynolds-and-Reynolds-DMS-API-Integration - Enhance logging
This commit is contained in:
@@ -177,16 +177,20 @@ const rrMultiCustomerSearch = async ({ bodyshop, job, socket, redisHelpers }) =>
|
||||
for (const { q, fromVin } of queriesList) {
|
||||
try {
|
||||
CreateRRLogEvent(socket, "DEBUG", `{RR-SEARCH} Executing ${q.kind} query`, { q });
|
||||
const res = await rrCombinedSearch(bodyshop, q);
|
||||
|
||||
const multiResponse = await rrCombinedSearch(bodyshop, q);
|
||||
|
||||
CreateRRLogEvent(socket, "SILLY", "Multi Customer Search - raw combined search", { response: multiResponse });
|
||||
|
||||
if (fromVin) {
|
||||
const blocks = Array.isArray(res?.data) ? res.data : Array.isArray(res) ? res : [];
|
||||
ownersSet = ownersFromVinBlocks(blocks, job?.v_vin);
|
||||
const multiBlocks = Array.isArray(multiResponse?.data) ? multiResponse.data : [];
|
||||
ownersSet = ownersFromVinBlocks(multiBlocks, job?.v_vin);
|
||||
try {
|
||||
await redisHelpers.setSessionTransactionData(
|
||||
socket.id,
|
||||
getTransactionType(job.id),
|
||||
RRCacheEnums.VINCandidates,
|
||||
blocks,
|
||||
multiBlocks,
|
||||
defaultRRTTL
|
||||
);
|
||||
} catch {
|
||||
@@ -194,7 +198,7 @@ const rrMultiCustomerSearch = async ({ bodyshop, job, socket, redisHelpers }) =>
|
||||
}
|
||||
}
|
||||
|
||||
const norm = normalizeCustomerCandidates(res, { ownersSet });
|
||||
const norm = normalizeCustomerCandidates(multiResponse, { ownersSet });
|
||||
merged.push(...norm);
|
||||
} catch (e) {
|
||||
CreateRRLogEvent(socket, "WARN", "Multi-search subquery failed", { kind: q.kind, error: e.message });
|
||||
@@ -220,24 +224,29 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
|
||||
CreateRRLogEvent(socket, "DEBUG", "rr-lookup-combined: begin", { jobid, params });
|
||||
|
||||
const res = await rrCombinedSearch(bodyshop, params || {});
|
||||
const response = await rrCombinedSearch(bodyshop, params || {});
|
||||
|
||||
CreateRRLogEvent(socket, "SILLY", "rr-lookup-combined: received response", {
|
||||
response
|
||||
});
|
||||
|
||||
let ownersSet = null;
|
||||
|
||||
if ((params?.kind || "").toLowerCase() === "vin") {
|
||||
const blocks = Array.isArray(res?.data) ? res.data : Array.isArray(res) ? res : [];
|
||||
const blocks = Array.isArray(response?.data) ? response.data : [];
|
||||
ownersSet = ownersFromVinBlocks(blocks);
|
||||
}
|
||||
|
||||
const normalized = sortVehicleOwnerFirst(normalizeCustomerCandidates(res, { ownersSet }));
|
||||
const normalized = sortVehicleOwnerFirst(normalizeCustomerCandidates(response, { ownersSet }));
|
||||
const rid = resolveJobId(jobid, { jobid }, null);
|
||||
const decorated = normalized.map((c) => (c.vinOwner != null ? c : { ...c, vinOwner: !!c.isVehicleOwner }));
|
||||
|
||||
cb?.({ jobid: rid, data: decorated });
|
||||
|
||||
socket.emit("rr-select-customer", decorated);
|
||||
|
||||
CreateRRLogEvent(socket, "DEBUG", "rr-lookup-combined: emitted rr-select-customer", {
|
||||
count: decorated.length,
|
||||
res
|
||||
count: decorated.length
|
||||
});
|
||||
} catch (e) {
|
||||
CreateRRLogEvent(socket, "ERROR", "RR combined lookup error", { error: e.message, jobid });
|
||||
@@ -291,10 +300,13 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
|
||||
// 2) Fetch + cache when no cache or forced refresh
|
||||
if (!result) {
|
||||
const live = await rrGetAdvisors(bodyshop, { departmentType: requestedDept });
|
||||
result = Array.isArray(live) ? live : [];
|
||||
const getAdvisorsCall = await rrGetAdvisors(bodyshop, { departmentType: requestedDept });
|
||||
result = Array.isArray(getAdvisorsCall?.data) ? getAdvisorsCall.data : [];
|
||||
try {
|
||||
await redisHelpers.setProviderCache(ns, field, result, ADVISORS_CACHE_TTL);
|
||||
CreateRRLogEvent(socket, "SILLY", "rr-get-advisors: fetched live data", {
|
||||
getAdvisorsCall
|
||||
});
|
||||
CreateRRLogEvent(socket, "DEBUG", "rr-get-advisors: cache populated", {
|
||||
ns,
|
||||
field,
|
||||
@@ -440,22 +452,25 @@ const registerRREvents = ({ socket, redisHelpers }) => {
|
||||
try {
|
||||
const vehQ = makeVehicleSearchPayloadFromJob(job);
|
||||
if (vehQ && vehQ.kind === "vin" && job?.v_vin) {
|
||||
const resVin = await rrCombinedSearch(bodyshop, vehQ);
|
||||
const blocksVin = Array.isArray(resVin?.data) ? resVin.data : Array.isArray(resVin) ? resVin : [];
|
||||
const vinResponse = await rrCombinedSearch(bodyshop, vehQ);
|
||||
|
||||
CreateRRLogEvent(socket, "SILLY", `VIN owner pre-check response`, { response: vinResponse });
|
||||
|
||||
const vinBlocks = Array.isArray(vinResponse?.data) ? vinResponse.data : [];
|
||||
|
||||
try {
|
||||
await redisHelpers.setSessionTransactionData(
|
||||
socket.id,
|
||||
ns,
|
||||
RRCacheEnums.VINCandidates,
|
||||
blocksVin,
|
||||
vinBlocks,
|
||||
defaultRRTTL
|
||||
);
|
||||
} catch {
|
||||
//
|
||||
}
|
||||
|
||||
const ownersSet = ownersFromVinBlocks(blocksVin, job.v_vin);
|
||||
const ownersSet = ownersFromVinBlocks(vinBlocks, job.v_vin);
|
||||
|
||||
if (ownersSet?.size) {
|
||||
const sel = String(selectedCustNo);
|
||||
|
||||
Reference in New Issue
Block a user