From 8ead9cc19425acfb1f64a4e135cdd7d02cb7fe35 Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期六, 05 八月 2023 18:03:03 +0800 Subject: [PATCH] Fixed: [弱掃] p18.1 Bad use of null-like value --- PAMapp/shared/services/appointment.service.ts | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 109 insertions(+), 10 deletions(-) diff --git a/PAMapp/shared/services/appointment.service.ts b/PAMapp/shared/services/appointment.service.ts index a928a4f..2f13c2b 100644 --- a/PAMapp/shared/services/appointment.service.ts +++ b/PAMapp/shared/services/appointment.service.ts @@ -1,6 +1,6 @@ import { http } from "./httpClient"; -import { Appointment, AppointmentDetail, AppointmentMemoInfo, createdMemoInfo, EditAppointmentParams, ToCloseAppointment, ToDoneAppointment, updatedMemoInfo } from "~/shared/models/appointment.model"; +import { Appointment, AppointmentMemoInfo, createdMemoInfo, EditAppointmentParams, InterviewRecordInfo, ToCloseAppointment, ToDoneAppointment, ToInformAppointment, updatedMemoInfo, UpdateInterviewRecordInfo } from "~/shared/models/appointment.model"; class AppointmentService { @@ -16,8 +16,17 @@ } // 憿批��汗�撌望������蝝���孛�API - private viewAllAppointment(): void { - http.post('/consultant/record/allAppointmentsView').then(); + private async viewAllAppointment(): Promise<void> { + try { + const response = await http.post('/consultant/record/allAppointmentsView'); + if (response !== null) { + } else { + throw new Error('http.post returned null-like value.'); + } + } catch (error) { + console.error('An error occurred while viewing all appointments:', error); + throw error; + } } // 霈�������孛�嚗������������ @@ -26,7 +35,7 @@ } // �����蝝啁� - async getAppointmentDetail(appointmentId: number):Promise<AppointmentDetail> { + async getAppointmentDetail(appointmentId: number):Promise<Appointment> { return http.get(`/appointment/getDetail/${appointmentId}`).then((res) => res.data); } @@ -40,25 +49,115 @@ return http.put('/appointment', editAppointmentParams); } - // �憓酉閮� + /** + * �憓酉閮� + * @param memoInfo ���憓酉閮�����隞� + * @returns ���憓�酉閮��� + */ async createMemo(memoInfo: createdMemoInfo): Promise<AppointmentMemoInfo> { - return http.post('/appointment/memo/create', memoInfo).then(res => res.data); + try { + const response = await http.post('/appointment/memo/create', memoInfo); + if (response !== null) { + return response.data; + } else { + throw new Error('http.post returned null-like value.'); + } + } catch (error) { + // �隞亙甇方���隤斗����身�� + console.error('An error occurred while creating memo:', error); + throw error; + } } - // 蝺刻摩閮餉�� + + /** + * 蝺刻摩閮餉�� + * @param memoInfo ��蝺刻摩閮餉������隞� + * @returns ����敺�酉閮��� + */ async updateMemo(memoInfo: updatedMemoInfo): Promise<AppointmentMemoInfo> { - return http.post('/appointment/memo/update', memoInfo).then(res => res.data); + try { + const response = await http.post('/appointment/memo/update', memoInfo); + if (response !== null) { + return response.data; + } else { + throw new Error('http.post returned null-like value.'); + } + } catch (error) { + // �隞亙甇方���隤斗����身�� + console.error('An error occurred while updating memo:', error); + throw error; + } } + // ��閮餉�� deleteMemo(appointmentMemoId: number) { return http.delete(`/appointment/memo/${appointmentMemoId}`) } - // ���蝯�� + /** + * ���蝯��, ��蝯��敦 + * @param appointmentInfo ��蝯������隞� + * @returns ��蝯���� + */ async closeAppointment(appointmentInfo: ToDoneAppointment | ToCloseAppointment) { - return http.post(`/appointment/close`, appointmentInfo).then((res) => res.data); + try { + const response = await http.post(`/appointment/close`, appointmentInfo); + if (response !== null) { + return response.data; + } else { + throw new Error('http.post returned null-like value.'); + } + } catch (error) { + // �隞亙甇方���隤斗����身�� + console.error('An error occurred while closing appointment:', error); + throw error; + } } + + + // 蝝赤� API + async informAppointment(appointmentInformation: ToInformAppointment) { + return http.post(`/notice/send`, appointmentInformation).then((res) => res.data); + } + + // �憓�赤閮�� + async createInterviewRecord(interviewRecordInfo: InterviewRecordInfo) { + try { + const response = await http.post('/interview_record/create', interviewRecordInfo); + if (response !== null) { + return response.data; + } else { + throw new Error('http.post returned null-like value.'); + } + } catch (error) { + console.error('An error occurred while creating interview record:', error); + // �隞亙甇方���隤斗����身�� + throw error; + } + } + + // 靽格蝝赤閮�� + async updateInterviewRecord(updateInterviewRecordInfo: UpdateInterviewRecordInfo) { + return http.post('/interview_record/update', updateInterviewRecordInfo) + } + + // ��蝝赤閮�� + async deleteInterviewRecord(interviewRecordId) { + return http.delete(`/interview_record/${interviewRecordId}`); + } + + // 摰X�������������� + async getNotContactAppointment(): Promise<Appointment> { + return http.get(`/appointment/customer/expiring/newest`).then((res) => res.data); + } + + // 憿批������������ + async getPendingAppointmentSum(): Promise<number> { + return http.get(`/appointment/consultant/pending/sum`).then((res) => res.data) + } + } export default new AppointmentService(); -- Gitblit v1.9.3