From b11477657850db16d375f4789439a61e4cfa1a4a Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 25 三月 2025 17:08:12 +0800
Subject: [PATCH] Merge branch 'master' into dev-1.3

---
 packages/components/src/utils/common.ts                                          |   16 ++++----
 packages/components/src/views/Order/components/ElectricOrder.vue                 |   11 +++++
 packages/components/src/views/Order/components/GasOrder.vue                      |   11 +++++
 packages/components/src/views/GasBillRecharge/GasBillRechargeStep3.vue           |    2 
 packages/components/src/views/Order/components/PhoneOrder.vue                    |   11 +++++
 packages/services/api/WxPayNotify.ts                                             |   15 +++++++
 packages/components/src/views/electricBillRecharge/ElectricBillRechargeStep2.vue |    2 
 packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue       |    2 
 packages/services/api/typings.d.ts                                               |   11 +++++
 apps/taro/src/hooks/user.ts                                                      |   24 +++++++++--
 packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue            |    2 
 packages/components/src/hooks/selectPayType.ts                                   |    5 +-
 packages/core/src/lifeRechargeServices.ts                                        |    2 +
 13 files changed, 95 insertions(+), 19 deletions(-)

diff --git a/apps/taro/src/hooks/user.ts b/apps/taro/src/hooks/user.ts
index 87a319c..711c45e 100644
--- a/apps/taro/src/hooks/user.ts
+++ b/apps/taro/src/hooks/user.ts
@@ -6,7 +6,11 @@
 import { useRefeshDidShow } from './infiniteLoading';
 import { LoginFormTabs } from '@/subpackages/login/constants';
 import { useLoginedJump } from './login';
-import { useLifeRechargeContext, APIgetLifePayWxIndentityParams } from '@life-payment/core-vue';
+import {
+  useLifeRechargeContext,
+  APIgetLifePayWxIndentityParams,
+  WxMiniAppIndentityInfo,
+} from '@life-payment/core-vue';
 import { isInWeChat } from '@/utils/env';
 
 export function useUser() {
@@ -98,11 +102,13 @@
       }
       if (!!code && !wxCode.value) {
         userStore.setWxCode(router.params.code ?? '');
-        // getLifePayWxIndentity(code);
+        getLifePayWxIndentity(code);
       }
     } catch (error) {}
   });
 }
+
+let wxIndentityPromise: Promise<WxMiniAppIndentityInfo>;
 
 export function useLifePayWxIndentity() {
   const { blLifeRecharge } = useLifeRechargeContext();
@@ -113,9 +119,17 @@
       let params: APIgetLifePayWxIndentityParams = {
         code: code,
       };
-      let res = await blLifeRecharge.services.getLifePayWxIndentity(params, {
-        showLoading: false,
-      });
+      if (!wxIndentityPromise) {
+        wxIndentityPromise = blLifeRecharge.services
+          .getLifePayWxIndentity(params, {
+            showLoading: false,
+          })
+          .finally(() => {
+            wxIndentityPromise = undefined;
+          });
+      }
+
+      let res = await wxIndentityPromise;
       if (res.openId) {
         userStore.setWxOpenId(res.openId);
       }
diff --git a/packages/components/src/hooks/selectPayType.ts b/packages/components/src/hooks/selectPayType.ts
index ad03530..5a729ab 100644
--- a/packages/components/src/hooks/selectPayType.ts
+++ b/packages/components/src/hooks/selectPayType.ts
@@ -12,7 +12,7 @@
   isInWeChat?: MaybeRef<boolean>;
   isH5?: MaybeRef<boolean>;
   appId?: MaybeRef<string>;
-  getOpenId?: () => Promise<string>;
+  getOpenId?: MaybeRef<() => Promise<string>>;
 };
 
 export function useSelectPayType(options: UseSelectPayTypeOptions = {}) {
@@ -98,7 +98,8 @@
 
   async function getPayOrderForJsAPI(orderNo: string) {
     try {
-      const openId = await getOpenId();
+      const _getOpenId = unref(getOpenId);
+      const openId = await _getOpenId();
       let params: GetPayOrderForJsAPIInput = {
         orderNo: orderNo,
         lifePayType: blLifeRecharge.constants.LifePayTypeEnum.WxPay,
diff --git a/packages/components/src/utils/common.ts b/packages/components/src/utils/common.ts
index c4a3b14..5b055b6 100644
--- a/packages/components/src/utils/common.ts
+++ b/packages/components/src/utils/common.ts
@@ -155,13 +155,13 @@
   lifePayOrderStatus?: LifeRechargeConstants.LifePayOrderStatusEnum,
   lifePayRefundStatus?: LifeRechargeConstants.LifePayRefundStatusEnum
 ) {
-  if (
-    (lifePayOrderStatus === LifeRechargeConstants.LifePayOrderStatusEnum.鍏呭�间腑 &&
-      payStatus === LifeRechargeConstants.LifePayStatusEnum.宸叉敮浠�) ||
-    payStatus === LifeRechargeConstants.LifePayStatusEnum.寰呴��娆�
-  ) {
-    return LifeRechargeConstants.LifePayOrderFrontStatusEnum.鏀粯鎴愬姛;
-  }
+  // if (
+  //   (lifePayOrderStatus === LifeRechargeConstants.LifePayOrderStatusEnum.鍏呭�间腑 &&
+  //     payStatus === LifeRechargeConstants.LifePayStatusEnum.宸叉敮浠�) ||
+  //   payStatus === LifeRechargeConstants.LifePayStatusEnum.寰呴��娆�
+  // ) {
+  //   return LifeRechargeConstants.LifePayOrderFrontStatusEnum.鏀粯鎴愬姛;
+  // }
   if (
     lifePayOrderStatus === LifeRechargeConstants.LifePayOrderStatusEnum.宸查��娆� ||
     payStatus === LifeRechargeConstants.LifePayStatusEnum.宸查��娆�
@@ -183,5 +183,5 @@
   ) {
     return LifeRechargeConstants.LifePayOrderFrontStatusEnum.鍏呭�兼垚鍔�;
   }
-  return;
+  return LifeRechargeConstants.LifePayOrderFrontStatusEnum.鏀粯鎴愬姛;
 }
diff --git a/packages/components/src/views/GasBillRecharge/GasBillRechargeStep3.vue b/packages/components/src/views/GasBillRecharge/GasBillRechargeStep3.vue
index 3ed2e0a..5314fe3 100644
--- a/packages/components/src/views/GasBillRecharge/GasBillRechargeStep3.vue
+++ b/packages/components/src/views/GasBillRecharge/GasBillRechargeStep3.vue
@@ -227,7 +227,7 @@
 }
 
 const { state, invokeAliPay, invokeWeixinPay } = useSelectPayType({
-  getOpenId: props.getOpenId,
+  getOpenId: toRef(props, 'getOpenId'),
   isInWeChat: toRef(props, 'isInWeChat'),
   isH5: toRef(props, 'isH5'),
   appId: toRef(props, 'appId'),
diff --git a/packages/components/src/views/Order/components/ElectricOrder.vue b/packages/components/src/views/Order/components/ElectricOrder.vue
index 6391340..30153e0 100644
--- a/packages/components/src/views/Order/components/ElectricOrder.vue
+++ b/packages/components/src/views/Order/components/ElectricOrder.vue
@@ -54,6 +54,17 @@
           label="瀹屾垚鏃堕棿:"
           :value="item?.finishTime && dayjs(item?.finishTime).format('YYYY-MM-DD HH:mm:ss')"
         />
+        <OrderCardItem
+          v-else-if="
+            item.frontStatus === BlLifeRecharge.constants.LifePayOrderFrontStatusEnum.閫�娆惧緟瀹℃牳 ||
+            item.frontStatus === BlLifeRecharge.constants.LifePayOrderFrontStatusEnum.閫�娆惧け璐�
+          "
+          label="閫�娆惧彂璧锋椂闂�:"
+          labelWidth="110px"
+          :value="
+            item?.refundApplyTime && dayjs(item?.refundApplyTime).format('YYYY-MM-DD HH:mm:ss')
+          "
+        />
         <template v-else>
           <OrderCardItem label="閫�娆鹃噾棰�:" :value="`锟�${toThousand(item?.payAmount)}`" danger />
           <OrderCardItem
diff --git a/packages/components/src/views/Order/components/GasOrder.vue b/packages/components/src/views/Order/components/GasOrder.vue
index 2c225aa..cfe619a 100644
--- a/packages/components/src/views/Order/components/GasOrder.vue
+++ b/packages/components/src/views/Order/components/GasOrder.vue
@@ -46,6 +46,17 @@
           label="瀹屾垚鏃堕棿:"
           :value="item?.finishTime && dayjs(item?.finishTime).format('YYYY-MM-DD HH:mm:ss')"
         />
+        <OrderCardItem
+          v-else-if="
+            item.frontStatus === BlLifeRecharge.constants.LifePayOrderFrontStatusEnum.閫�娆惧緟瀹℃牳 ||
+            item.frontStatus === BlLifeRecharge.constants.LifePayOrderFrontStatusEnum.閫�娆惧け璐�
+          "
+          label="閫�娆惧彂璧锋椂闂�:"
+          labelWidth="110px"
+          :value="
+            item?.refundApplyTime && dayjs(item?.refundApplyTime).format('YYYY-MM-DD HH:mm:ss')
+          "
+        />
         <template v-else>
           <OrderCardItem label="閫�娆鹃噾棰�:" :value="`锟�${toThousand(item?.payAmount)}`" danger />
           <OrderCardItem
diff --git a/packages/components/src/views/Order/components/PhoneOrder.vue b/packages/components/src/views/Order/components/PhoneOrder.vue
index e938035..d76f217 100644
--- a/packages/components/src/views/Order/components/PhoneOrder.vue
+++ b/packages/components/src/views/Order/components/PhoneOrder.vue
@@ -46,6 +46,17 @@
           label="瀹屾垚鏃堕棿:"
           :value="item?.finishTime && dayjs(item?.finishTime).format('YYYY-MM-DD HH:mm:ss')"
         />
+        <OrderCardItem
+          v-else-if="
+            item.frontStatus === BlLifeRecharge.constants.LifePayOrderFrontStatusEnum.閫�娆惧緟瀹℃牳 ||
+            item.frontStatus === BlLifeRecharge.constants.LifePayOrderFrontStatusEnum.閫�娆惧け璐�
+          "
+          label="閫�娆惧彂璧锋椂闂�:"
+          labelWidth="110px"
+          :value="
+            item?.refundApplyTime && dayjs(item?.refundApplyTime).format('YYYY-MM-DD HH:mm:ss')
+          "
+        />
         <template v-else>
           <OrderCardItem label="閫�娆鹃噾棰�:" :value="`锟�${toThousand(item?.payAmount)}`" danger />
           <OrderCardItem
diff --git a/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue b/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue
index 89f670a..433e3ab 100644
--- a/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue
+++ b/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue
@@ -216,7 +216,7 @@
 }
 
 const { state, invokeAliPay, invokeWeixinPay } = useSelectPayType({
-  getOpenId: props.getOpenId,
+  getOpenId: toRef(props, 'getOpenId'),
   isInWeChat: toRef(props, 'isInWeChat'),
   isH5: toRef(props, 'isH5'),
   appId: toRef(props, 'appId'),
diff --git a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
index 57cc4e3..2b50807 100644
--- a/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
+++ b/packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
@@ -51,7 +51,7 @@
 }>();
 
 const { state, invokeAliPay, invokeWeixinPay } = useSelectPayType({
-  getOpenId: props.getOpenId,
+  getOpenId: toRef(props, 'getOpenId'),
   isInWeChat: toRef(props, 'isInWeChat'),
   isH5: toRef(props, 'isH5'),
   appId: toRef(props, 'appId'),
diff --git a/packages/components/src/views/electricBillRecharge/ElectricBillRechargeStep2.vue b/packages/components/src/views/electricBillRecharge/ElectricBillRechargeStep2.vue
index 2426bed..3cc9c7b 100644
--- a/packages/components/src/views/electricBillRecharge/ElectricBillRechargeStep2.vue
+++ b/packages/components/src/views/electricBillRecharge/ElectricBillRechargeStep2.vue
@@ -238,7 +238,7 @@
   isInWeChat: toRef(props, 'isInWeChat'),
   isH5: toRef(props, 'isH5'),
   appId: toRef(props, 'appId'),
-  getOpenId: props.getOpenId,
+  getOpenId: toRef(props, 'getOpenId'),
 });
 
 const currentOrderNo = ref('');
diff --git a/packages/core/src/lifeRechargeServices.ts b/packages/core/src/lifeRechargeServices.ts
index e8be114..279dce2 100644
--- a/packages/core/src/lifeRechargeServices.ts
+++ b/packages/core/src/lifeRechargeServices.ts
@@ -514,6 +514,8 @@
   creationTime?: string;
   /** 閫�娆炬椂闂� */
   refundTime?: string;
+  /** 閫�娆剧敵璇锋椂闂� */
+  refundApplyTime?: string;
   /** 閫�娆惧嚟璇� */
   refundCredentialsImgUrl?: string;
   refundApplyRemark?: string;
diff --git a/packages/services/api/WxPayNotify.ts b/packages/services/api/WxPayNotify.ts
index 349722a..34b3eff 100644
--- a/packages/services/api/WxPayNotify.ts
+++ b/packages/services/api/WxPayNotify.ts
@@ -2,6 +2,21 @@
 // @ts-ignore
 import { request } from '@/utils/request';
 
+/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 POST /api/WxPayNotify/WxPayDomesticRefundsNotify */
+export async function wxPayDomesticRefundsNotify(
+  body: API.WxRechargeNotifyInput,
+  options?: API.RequestConfig
+) {
+  return request<API.WxRechargeNotifyResult>('/api/WxPayNotify/WxPayDomesticRefundsNotify', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 寰俊鏀粯鍥炶皟閫氱煡 POST /api/WxPayNotify/WxRechargeNotify */
 export async function wxRechargeNotify(
   body: API.WxRechargeNotifyInput,
diff --git a/packages/services/api/typings.d.ts b/packages/services/api/typings.d.ts
index c4298c1..6b18155 100644
--- a/packages/services/api/typings.d.ts
+++ b/packages/services/api/typings.d.ts
@@ -1074,6 +1074,8 @@
     lifePayOrderType?: LifePayOrderTypeEnum;
     /** 璁㈠崟鍙� */
     orderNo?: string;
+    /** 閫�娆捐鍗曞彿 */
+    refundOrderNo?: string;
     /** 鍏呭�奸噾棰� */
     rechargeAmount?: number;
     /** 瀹為檯鍏呭�奸噾棰� */
@@ -1110,6 +1112,9 @@
     acoolyOrderNo?: string;
     acoolyStatus?: ACOOLYStatusEnum;
     lifePayRefundStatus?: LifePayRefundStatusEnum;
+    /** 瀹為檯鍒拌处閲戦 */
+    actualReceivedAmount?: number;
+    actualReceivedStatus?: LifePayStatusEnum;
   }
 
   interface LifePayOrderListOutputPageOutput {
@@ -1631,6 +1636,10 @@
     beginFinishTime?: string;
     /** 缁撴潫瀹屾垚鏃堕棿 */
     endFinishTime?: string;
+    /** 寮�濮嬮��娆炬椂闂� */
+    beginRefundTime?: string;
+    /** 缁撴潫閫�娆炬椂闂� */
+    endRefundTime?: string;
     payStatus?: LifePayStatusEnum;
     acoolyStatus?: ACOOLYStatusEnum;
     lifePayOrderStatus?: LifePayOrderStatusEnum;
@@ -2060,6 +2069,8 @@
     creationTime?: string;
     /** 閫�娆炬椂闂� */
     refundTime?: string;
+    /** 閫�娆剧敵璇锋椂闂� */
+    refundApplyTime?: string;
     /** 閫�娆惧嚟璇� */
     refundCredentialsImgUrl?: string;
     refundApplyRemark?: string;

--
Gitblit v1.9.1