From 21b418f4ffb8e76d72819e8d489b3179154cb0c1 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 24 三月 2025 15:46:54 +0800
Subject: [PATCH] fix: 三期需求

---
 packages/services/api/typings.d.ts        |    7 +++
 apps/taro/src/hooks/user.ts               |   10 +++--
 packages/core/src/lifeRechargeServices.ts |   16 ++++++++
 packages/components/src/hooks/index.ts    |   48 +++++++++++++++++++-----
 packages/services/api/LifePay.ts          |   27 +++++++++++++
 5 files changed, 94 insertions(+), 14 deletions(-)

diff --git a/apps/taro/src/hooks/user.ts b/apps/taro/src/hooks/user.ts
index 6e25fee..dfabcc6 100644
--- a/apps/taro/src/hooks/user.ts
+++ b/apps/taro/src/hooks/user.ts
@@ -95,7 +95,7 @@
       }
       if (!!code && !wxCode.value) {
         userStore.setWxCode(router.params.code ?? '');
-        getLifePayWxIndentity(code);
+        // getLifePayWxIndentity(code);
       }
     } catch (error) {}
   });
@@ -113,7 +113,9 @@
       let res = await blLifeRecharge.services.getLifePayWxIndentity(params, {
         showLoading: false,
       });
-      userStore.setWxOpenId(res.openId);
+      if (res.openId) {
+        userStore.setWxOpenId(res.openId);
+      }
       return res;
     } catch (error) {}
   }
@@ -126,11 +128,11 @@
   const { getLifePayWxIndentity } = useLifePayWxIndentity();
 
   async function ensureOpenId() {
-    if (wxOpenId) {
+    if (wxOpenId.value) {
       return wxOpenId.value;
     } else {
       let rea = await getLifePayWxIndentity(wxCode.value);
-      return rea.openId;
+      return rea.openId ? rea.openId : wxOpenId.value;
     }
   }
 
diff --git a/packages/components/src/hooks/index.ts b/packages/components/src/hooks/index.ts
index d8ff400..9946e0e 100644
--- a/packages/components/src/hooks/index.ts
+++ b/packages/components/src/hooks/index.ts
@@ -11,7 +11,7 @@
   UserAccountListOutput,
   AddUpdateUserAccountInput,
   GasParValueResponse,
-  GasParValueOutput,
+  ChannelRateOutput,
 } from '@life-payment/core-vue';
 import { useQuery, useQueryClient } from '@tanstack/vue-query';
 import { computed, MaybeRef, reactive, unref } from 'vue';
@@ -30,26 +30,54 @@
     placeholderData: () => [] as LifePayRateListOutput[],
   });
 
-  const lifePayPhoneRate = computed(
-    () =>
+  const hasChannel = computed(() => !!blLifeRecharge.accountModel.channlesNum);
+
+  const { data: channelRate } = useQuery({
+    queryKey: ['blLifeRecharge/getChannelRate', blLifeRecharge.accountModel.channlesNum],
+    queryFn: async () => {
+      return await blLifeRecharge.services.getChannelRate(
+        {
+          checkChannelId: blLifeRecharge.accountModel.channlesNum,
+        },
+        { showLoading: false }
+      );
+    },
+    placeholderData: () => ({} as ChannelRateOutput),
+    enabled: hasChannel,
+  });
+
+  const lifePayPhoneRate = computed(() => {
+    if (hasChannel.value && channelRate.value.channlesRate) {
+      return channelRate.value.channlesRate;
+    }
+    return (
       lifePayRateList.value.find(
         (x) => x.rateType === blLifeRecharge.constants.LifePayRateTypeEnum.榛樿璇濊垂鎶樻墸
       )?.rate ?? 100
-  );
+    );
+  });
 
-  const lifePayElectricRate = computed(
-    () =>
+  const lifePayElectricRate = computed(() => {
+    if (hasChannel.value && channelRate.value.channlesRate) {
+      return channelRate.value.channlesRate;
+    }
+    return (
       lifePayRateList.value.find(
         (x) => x.rateType === blLifeRecharge.constants.LifePayRateTypeEnum.榛樿鐢佃垂鎶樻墸
       )?.rate ?? 100
-  );
+    );
+  });
 
-  const lifePayGasRate = computed(
-    () =>
+  const lifePayGasRate = computed(() => {
+    if (hasChannel.value && channelRate.value.channlesRate) {
+      return channelRate.value.channlesRate;
+    }
+    return (
       lifePayRateList.value.find(
         (x) => x.rateType === blLifeRecharge.constants.LifePayRateTypeEnum.榛樿鐕冩皵鎶樻墸
       )?.rate ?? 100
-  );
+    );
+  });
 
   return {
     lifePayRateList,
diff --git a/packages/core/src/lifeRechargeServices.ts b/packages/core/src/lifeRechargeServices.ts
index 908687f..e8be114 100644
--- a/packages/core/src/lifeRechargeServices.ts
+++ b/packages/core/src/lifeRechargeServices.ts
@@ -326,6 +326,18 @@
       ...(options || {}),
     });
   }
+
+  /** 鑾峰彇娓犻亾鎶樻墸 GET /api/LifePay/GetChannelRate */
+  async getChannelRate(body: ChannelsBaseInput, options?: RequestConfig) {
+    return this.request<ChannelRateOutput>('/api/LifePay/GetChannelRate', {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json',
+      },
+      data: body,
+      ...(options || {}),
+    });
+  }
 }
 
 export interface PhoneMesssageCodeLoginInput {
@@ -757,3 +769,7 @@
 }
 
 export type IntroInfoTypeEnum = 0 | 1 | 2 | 3 | 4;
+
+export interface ChannelRateOutput {
+  channlesRate?: number;
+}
diff --git a/packages/services/api/LifePay.ts b/packages/services/api/LifePay.ts
index 4b405d6..191b086 100644
--- a/packages/services/api/LifePay.ts
+++ b/packages/services/api/LifePay.ts
@@ -176,6 +176,18 @@
   });
 }
 
+/** 鑾峰彇娓犻亾鎶樻墸 POST /api/LifePay/GetChannelRate */
+export async function getChannelRate(body: API.ChannelsBaseInput, options?: API.RequestConfig) {
+  return request<API.ChannelRateOutput>('/api/LifePay/GetChannelRate', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鑾峰彇鐢佃垂闈㈠�� POST /api/LifePay/GetElectricParValue */
 export async function getElectricParValue(
   body: API.ChannelsBaseInput,
@@ -325,6 +337,21 @@
   });
 }
 
+/** 瀵煎嚭閫�娆捐鍗旹xcel POST /api/LifePay/GetLifePayRefudOrderPageExport */
+export async function getLifePayRefudOrderPageExport(
+  body: API.QueryLifePayRefundOrderListInput,
+  options?: API.RequestConfig
+) {
+  return request<any>('/api/LifePay/GetLifePayRefudOrderPageExport', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鑾峰彇閫�娆捐鍗曡鎯� GET /api/LifePay/GetLifePayRefundOrderDetail */
 export async function getLifePayRefundOrderDetail(
   // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
diff --git a/packages/services/api/typings.d.ts b/packages/services/api/typings.d.ts
index 1b3458a..c4298c1 100644
--- a/packages/services/api/typings.d.ts
+++ b/packages/services/api/typings.d.ts
@@ -426,6 +426,10 @@
     type?: number;
   }
 
+  interface ChannelRateOutput {
+    channlesRate?: number;
+  }
+
   interface ChannelsBaseInput {
     pageModel?: Pagination;
     checkChannelId?: string;
@@ -458,6 +462,7 @@
     name?: string;
     /** 鎵嬫満鍙� */
     phoneNumber?: string;
+    /** 瀵嗙爜 */
     password?: string;
     /** 璐︽埛 */
     userName?: string;
@@ -1629,6 +1634,7 @@
     payStatus?: LifePayStatusEnum;
     acoolyStatus?: ACOOLYStatusEnum;
     lifePayOrderStatus?: LifePayOrderStatusEnum;
+    lifePayRefundStatus?: LifePayRefundStatusEnum;
     /** 鐢ㄦ埛Id */
     userId?: string;
     /** 鎼滅储鍏抽敭璇� */
@@ -1891,6 +1897,7 @@
     name?: string;
     /** 鎵嬫満鍙� */
     phoneNumber?: string;
+    /** 瀵嗙爜 */
     password?: string;
     /** 璐︽埛 */
     userName?: string;

--
Gitblit v1.9.1