From e07039b5171faef6b89f2d0e87315585ec2ad5fe Mon Sep 17 00:00:00 2001 From: Kane Wang Date: Wed, 8 Nov 2023 09:56:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E8=BF=9B=E5=BA=A6=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/web/task_schedule/src/utils/BIReport.ts | 53 +++++++++++++++++++- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/code/web/task_schedule/src/utils/BIReport.ts b/code/web/task_schedule/src/utils/BIReport.ts index c0c5f61..25096a8 100644 --- a/code/web/task_schedule/src/utils/BIReport.ts +++ b/code/web/task_schedule/src/utils/BIReport.ts @@ -7,7 +7,7 @@ * * Copyright (c) ${2023} by Kane, All Rights Reserved. */ -import { service as instance, service } from "./api/request.js"; +import { service as instance } from "./api/request.js"; import { API_URL } from "./api/config.js"; import { type AxiosResponse } from "axios"; interface BIReportType @@ -78,8 +78,17 @@ interface BITelsalerRenewalRateRecord 环比: number; } +interface QueryBITelsalerRenewalRateReportResponse +{ + success: boolean; + message: string; + records: BITelsalerRenewalRateRecord[]; +} + type ImportBIReportResponseHandler = ( response: ImportBIReportResponse, error: any ) => void; type QueryBITelsalerAttachingRateDataHandler = ( response: QueryBITelsalerAttachingRateReportResponse, error: any ) => void; +type QueryBITelsalerRenewalRateDataHandler = ( response: QueryBITelsalerRenewalRateReportResponse, error: any ) => void; + /** * * @param request 请求参数 @@ -151,6 +160,43 @@ function queryBITelsalerAttachingRateData( handler: QueryBITelsalerAttachingRate }); } +/** + * 请求BI坐席续保率数据 + * @param handler 调用者提供的处理请求结果的函数。 + */ +function queryBITelsalerRenewalData( handler: QueryBITelsalerRenewalRateDataHandler ): void +{ + const queryResponse: QueryBITelsalerRenewalRateReportResponse = { + success: false, + message: "", + records: [], + }; + + instance.request({ + url: API_URL.URL_BI_TELSALER_RENEWALRATE, + method: "post", + }) + .then(( response: AxiosResponse ): void => + { + const data = response.data ?? {}; + + queryResponse.success = data.success ?? false; + queryResponse.message = data.message ?? ""; + queryResponse.records = data.records ?? []; + + handler( queryResponse, null ); + }) + .catch(( error: any ): void => + { + queryResponse.success = false; + queryResponse.message = "查询BI坐席续保率数据失败,请查看控制台!"; + + console.log( error ); + + handler( queryResponse, error ); + }); +} + export { type BIReportType, type ImportBIReportRequest, @@ -159,7 +205,10 @@ export { type BITelsalerAttachingRateRecord, type QueryBITelsalerAttachingRateReportResponse, type QueryBITelsalerAttachingRateDataHandler, + type QueryBITelsalerRenewalRateDataHandler, type BITelsalerRenewalRateRecord, + type QueryBITelsalerRenewalRateReportResponse, importBIReport, - queryBITelsalerAttachingRateData + queryBITelsalerAttachingRateData, + queryBITelsalerRenewalData };