From 60dc6e178e4ab05ea8f62f7baa1dd72a5c20f93c Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期一, 13 十二月 2021 16:10:13 +0800
Subject: [PATCH] fixed#132096: 查看完聯絡清單(或登出後再登入),顧問清單的黃點並不會消失

---
 PAMapp/assets/ts/api/consultant.ts |  131 +++++++++++++++++++++++++------------------
 1 files changed, 75 insertions(+), 56 deletions(-)

diff --git a/PAMapp/assets/ts/api/consultant.ts b/PAMapp/assets/ts/api/consultant.ts
index 1d8909c..2cf639b 100644
--- a/PAMapp/assets/ts/api/consultant.ts
+++ b/PAMapp/assets/ts/api/consultant.ts
@@ -1,53 +1,45 @@
-import { service } from '~/assets/ts/api/share';
 import { AxiosResponse } from 'axios';
 import { AppointmentDetail } from '../models/AppointmentDetail';
 import { ConsultantLoginInfo } from '../models/ConsultantLoginInfo';
 import _ from 'lodash';
 import { UserSetting } from '../models/account.model';
+import { Consultant } from '~/assets/ts/models/consultant.model';
+import { http } from '../services/httpClient';
 
 // 憿批恥��(TODO: OTP隤����� ���蝙�)
 export function login(user: any) {
-    return service.post('/authenticate', user)
+    return http.post('/authenticate', user)
 }
 
 // 憿批恥��-��TP
 export function sendOtp(loginInfo: LoginRequest) {
-    return service.post<OtpInfo>('/otp/sendOtp', loginInfo).then(res => res.data)
+    return http.post<OtpInfo>('/otp/sendOtp', loginInfo).then(res => res.data)
 }
 
 // 憿批恥��-撽�tp銝衣�
 export function loginVerify(loginVerify: LoginVerify) {
-    return service.post('/otp/verify', loginVerify)
+    return http.post('/otp/verify', loginVerify)
 }
 
 // 憿批恥閮餃��
 export function register(registerInfo: RegisterInfo) {
-    return service.post('/otp/register', registerInfo)
+    return http.post('/otp/register', registerInfo)
 }
 
 // ��靽憿批��
 export function recommend() {
-    return service.get<Consultants[]>('/consultant/recommend')
-            .then(res => res.data);
-}
-
-// ���“���
-export function getFavoriteConsultant() {
-    const headers = {
-        Authorization: 'Bearer ' + localStorage.getItem('id_token')
-    }
-    return service.get<Consultants[]>('/consultant/favorite', {headers})
+    return http.get<Consultant[]>('/consultant/recommend')
             .then(res => res.data);
 }
 
 // 敹恍�祟�
 export function fastQuery(data: FastQueryParams) {
-    return service.post('/consultant/fastQuery', data)
+    return http.post('/consultant/fastQuery', data)
 }
 
 // ������
 export function strictQuery(data:StrictQueryParams):Promise<AxiosResponse<AgentOfStrictQuery[]>>{
-    return service.post('/consultant/strictQuery', data)
+    return http.post('/consultant/strictQuery', data)
 }
 
 // ��憿批��
@@ -55,7 +47,7 @@
     const headers = {
         Authorization: 'Bearer ' + localStorage.getItem('id_token')
     }
-    return service.post('/consultant/favorite', {agentNoList}, {headers})
+    return http.post('/consultant/favorite', {agentNoList}, {headers})
 }
 
 // ����岷���
@@ -63,12 +55,12 @@
     const headers = {
         Authorization: 'Bearer ' + localStorage.getItem('id_token')
     }
-    return service.post('/appointment/customer/create', data, {headers})
+    return http.post('/appointment/customer/create', data, {headers})
 }
 
 //憿批�底蝝啗���
 export function getConsultantDetail(agentNo:string){
-    return service.get('/consultant/detail', {params:{agentNo:agentNo}})
+    return http.get('/consultant/detail', {params:{agentNo:agentNo}})
 }
 
 // 蝘駁憿批��
@@ -76,12 +68,12 @@
     const headers = {
         Authorization: 'Bearer ' + localStorage.getItem('id_token')
     }
-    return service.delete('/consultant/favorite/'+agentId, {headers})
+    return http.delete('/consultant/favorite/'+agentId, {headers})
 }
 
 // �����Ⅳ����
 export function getImgOfVerification():Promise<string>{
-  return service.get('/login/validate/get_img_code',{ responseType : 'arraybuffer' })
+  return http.get('/login/validate/get_img_code',{ responseType : 'arraybuffer' })
     .then(response=>{
       const toBase64 = window.btoa(_.reduce(new Uint8Array(response.data),(data,byte)=>data + String.fromCharCode(byte),''));
       const imgSrc = `data:image/jpeg;base64,${toBase64}`;
@@ -91,12 +83,12 @@
 
 // 撽�Ⅳ 撽��
 export function getVerificationStatus(imgCode:string):Promise<AxiosResponse<boolean>>{
-  return service.get('/login/validate/verify_img_code/'+imgCode);
+  return http.get('/login/validate/verify_img_code/'+imgCode);
 }
 
 // 憿批��
 export function logInToConsultant(consultantDto:ConsultantLoginInfo):Promise<AxiosResponse<RequestOfLoginSuccess>>{
-    return service.post('/eService/authenticate',consultantDto);
+    return http.post('/eService/authenticate',consultantDto);
 }
 
 // �����蝝啁�
@@ -104,7 +96,7 @@
     const headers = {
         Authorization: 'Bearer ' + localStorage.getItem('id_token')
     }
-    return service.get('/appointment/getDetail/'+apointmentId, {headers})
+    return http.get('/appointment/getDetail/'+apointmentId, {headers})
 }
 
 //���蝙��董�����
@@ -112,7 +104,7 @@
     const headers = {
         Authorization: 'Bearer ' + localStorage.getItem('id_token')
     }
-    return service.get<UserSetting>('/customer/info', {headers}).then(res => res.data);
+    return http.get<UserSetting>('/customer/info', {headers}).then(res => res.data);
 }
 
 //��雿輻�董�����
@@ -120,23 +112,32 @@
     const headers = {
         Authorization: 'Bearer ' + localStorage.getItem('id_token')
     }
-    return service.put('/customer/info', params ,{headers}).then(res => res.data);
+    return http.put('/customer/info', params ,{headers}).then(res => res.data);
 }
 
-export interface Consultants {
-    agentNo            : string,
-    name               : string,
-    img                : string,
-    new                : boolean,
-    avgScore           : number,
-    expertise          : string[],
-    updateTime         : Date,
-    seniority          : string,
-    contactStatus?     : string;
-    latestAppointmentId: number;
-    role               : string;
-    image?             : string;
-    expertises?        : string;
+//摰X�脰�遛��漲閰��
+
+export function userReviewsConsultants(data: UserReviewsConsultantsParams) {
+    const headers = {
+        Authorization: 'Bearer ' + localStorage.getItem('id_token')
+    }
+    return http.post('/satisfaction/create', data ,{headers});
+}
+
+// ������
+export function cancelAppointment(appointment: number) {
+    const headers = {
+        Authorization: 'Bearer ' + localStorage.getItem('id_token')
+    }
+    return http.delete('/appointment/'+appointment ,{headers});
+}
+
+// 蝺刻摩����
+export function editAppointment(editAppointmentParams: editAppointmentParams) {
+    const headers = {
+        Authorization: 'Bearer ' + localStorage.getItem('id_token')
+    }
+    return http.put('/appointment', editAppointmentParams, {headers});
 }
 
 export interface FastQueryParams {
@@ -173,26 +174,26 @@
     agentNo        : string
 }
 export interface StrictQueryParams{
-    gender:           string;
-    avgScore:         number;
-    status:           string; //phase 1 disable
-    area:             string;
-    requirements:     string[];
+    gender          : string;
+    avgScore        : number;
+    status          : string;    //phase 1 disable
+    area            : string;
+    requirements    : string[];
     otherRequirement: string;
-    seniority:        string;
-    popularTags:      string[];
+    seniority       : string;
+    popularTags     : string[];
     otherPopularTags: string;
 }
 export interface AgentOfStrictQuery {
-    agentNo:       string;
-    name:          string;
-    img:           string;
-    expertise:     string[];
-    avgScore:      number;
+    agentNo      : string;
+    name         : string;
+    img          : string;
+    expertise    : string[];
+    avgScore     : number;
     contactStatus: null;
-    updateTime:    null;
-    seniority:     string;
-    new:           boolean;
+    updateTime   : null;
+    seniority    : string;
+    new          : boolean;
 }
 export interface RequestOfLoginSuccess{
   id_token: string;
@@ -232,3 +233,21 @@
     /** "SMS"嚗tp������"EMAIL":Otp�email */
     contactType: string
 }
+
+export interface UserReviewsConsultantsParams{
+    appointmentId:number,
+    score:number,
+}
+
+export interface editAppointmentParams {
+    id: number,
+    phone: string,
+    email: string,
+    contactType: string,
+    gender: string,
+    age: string,
+    job: string,
+    requirement: string,
+    hopeContactTime: string,
+    otherRequirement: null
+}

--
Gitblit v1.8.0