zym2525
2025-03-11 afdc0faf165dbc0c90e45043b4f500a3d53ba20f
fix: some
13个文件已修改
9个文件已添加
507 ■■■■■ 已修改文件
apps/taro/src/app.config.ts 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/constants/router.ts 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/pages/mine/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/subpackages/order/order/InnerPage.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/subpackages/order/orderApplyRefund/InnerPage.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/subpackages/order/orderApplyRefund/orderApplyRefund.config.ts 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/subpackages/order/orderApplyRefund/orderApplyRefund.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/subpackages/recharge/selectPayType/selectPayType.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/subpackages/userAccount/userAccountList/InnerPage.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/subpackages/userAccount/userAccountList/userAccountList.config.ts 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/subpackages/userAccount/userAccountList/userAccountList.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/components/Card/OrderCard.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/index.ts 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/styles/nut.scss 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/utils/common.ts 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/views/Order/OrderApplyRefundView.vue 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/views/Order/components/ElectricOrder.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/views/Order/components/GasOrder.vue 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/views/Order/components/PhoneOrder.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/views/userAccount/UserAccountListView.vue 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/core/src/lifeRechargeConstants.ts 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/core/src/lifeRechargeServices.ts 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/app.config.ts
@@ -64,7 +64,11 @@
    },
    {
      root: 'subpackages/order',
      pages: ['order/order'],
      pages: ['order/order', 'orderApplyRefund/orderApplyRefund'],
    },
    {
      root: 'subpackages/userAccount',
      pages: ['userAccountList/userAccountList'],
    },
  ],
  // preloadRule: {
apps/taro/src/constants/router.ts
@@ -11,8 +11,11 @@
  phoneBillRecharge = '/subpackages/recharge/phoneBillRecharge/phoneBillRecharge',
  electricBillRecharge = '/subpackages/recharge/electricBillRecharge/electricBillRecharge',
  gasBillRecharge = '/subpackages/recharge/gasBillRecharge/gasBillRecharge',
  order = '/subpackages/order/order/order',
  selectPayType = '/subpackages/recharge/selectPayType/selectPayType',
  rechargeResult = '/subpackages/recharge/rechargeResult/rechargeResult',
  rechargeElectricResult = '/subpackages/recharge/rechargeElectricResult/rechargeElectricResult',
  order = '/subpackages/order/order/order',
  orderApplyRefund = '/subpackages/order/orderApplyRefund/orderApplyRefund',
  userAccountList = '/subpackages/userAccount/userAccountList/userAccountList',
}
apps/taro/src/pages/mine/index.vue
@@ -20,6 +20,7 @@
    <ContentScrollView>
      <List class="mine-list-wrapper">
        <ListItem title="订单管理" @click="goOrderManage"></ListItem>
        <ListItem title="户号管理" @click="goUserAccountList"></ListItem>
        <ListItem v-if="isLogin" title="退出登录" @click="goLogout"></ListItem>
      </List>
    </ContentScrollView>
@@ -72,6 +73,7 @@
});
const goOrderManage = useAccessLogin(() => goPage(RouterPath.order));
const goUserAccountList = useAccessLogin(() => goPage(RouterPath.userAccountList));
async function goLogout() {
  try {
apps/taro/src/subpackages/order/order/InnerPage.vue
@@ -1,16 +1,19 @@
<template>
  <ProTabs v-model="orderType" name="user-home-tabs" class="user-home-tabs" flexTitle fullHeight>
    <ProTabPane title="话费订单" pane-key="1">
      <PhoneOrder />
      <PhoneOrder @goApplyRefund="goApplyRefund" @goRefundDetail="goRefundDetail" />
    </ProTabPane>
    <ProTabPane title="电费订单" pane-key="2">
      <ElectricOrder />
      <ElectricOrder @goApplyRefund="goApplyRefund" @goRefundDetail="goRefundDetail" />
    </ProTabPane>
    <ProTabPane title="燃气订单" pane-key="3">
      <GasOrder @goApplyRefund="goApplyRefund" @goRefundDetail="goRefundDetail" />
    </ProTabPane>
  </ProTabs>
</template>
<script setup lang="ts">
import { PhoneOrder, ElectricOrder } from '@life-payment/components';
import { PhoneOrder, ElectricOrder, GasOrder } from '@life-payment/components';
import Taro from '@tarojs/taro';
defineOptions({
@@ -19,9 +22,17 @@
const orderType = ref('1');
function goPay() {
function goApplyRefund(orderNo: string) {
  Taro.navigateTo({
    url: RouterPath.selectPayType,
    url: `${RouterPath.orderApplyRefund}?orderNo=${orderNo}`,
    // events: {
    //   submitApplyRefund: function () {},
    // },
  });
}
function goRefundDetail(orderNo: string) {
  Taro.navigateTo({
    url: `${RouterPath.orderApplyRefund}?orderNo=${orderNo}`,
  });
}
</script>
apps/taro/src/subpackages/order/orderApplyRefund/InnerPage.vue
New file
@@ -0,0 +1,17 @@
<template>
  <ContentScrollView :paddingH="false">
    <OrderApplyRefundView :orderNo="orderNo" />
  </ContentScrollView>
</template>
<script setup lang="ts">
import Taro from '@tarojs/taro';
import { OrderApplyRefundView } from '@life-payment/components';
defineOptions({
  name: 'InnerPage',
});
const router = Taro.useRouter();
const orderNo = router.params?.orderNo ?? '';
</script>
apps/taro/src/subpackages/order/orderApplyRefund/orderApplyRefund.config.ts
New file
@@ -0,0 +1,3 @@
export default definePageConfig({
  disableScroll: true,
});
apps/taro/src/subpackages/order/orderApplyRefund/orderApplyRefund.vue
New file
@@ -0,0 +1,14 @@
<template>
  <PageLayout title="申请退款" class="orderApplyRefund-page-wrapper" hasBorder>
    <InnerPage />
  </PageLayout>
</template>
<script setup lang="ts">
import { PageLayout } from '@/components';
import InnerPage from './InnerPage.vue';
defineOptions({
  name: 'orderApplyRefund',
});
</script>
apps/taro/src/subpackages/recharge/selectPayType/selectPayType.vue
@@ -19,5 +19,6 @@
const TitleText = {
  [LifeRechargeConstants.LifePayOrderTypeEnum.话费订单]: '话费充值',
  [LifeRechargeConstants.LifePayOrderTypeEnum.电费订单]: '电费充值',
  [LifeRechargeConstants.LifePayOrderTypeEnum.燃气订单]: '燃气充值',
};
</script>
apps/taro/src/subpackages/userAccount/userAccountList/InnerPage.vue
New file
@@ -0,0 +1,11 @@
<template>
  <UserAccountListView />
</template>
<script setup lang="ts">
import { UserAccountListView } from '@life-payment/components';
defineOptions({
  name: 'InnerPage',
});
</script>
apps/taro/src/subpackages/userAccount/userAccountList/userAccountList.config.ts
New file
@@ -0,0 +1,3 @@
export default definePageConfig({
  disableScroll: true,
});
apps/taro/src/subpackages/userAccount/userAccountList/userAccountList.vue
New file
@@ -0,0 +1,14 @@
<template>
  <PageLayout title="户号管理" class="userAccountList-page-wrapper" hasBorder>
    <InnerPage> </InnerPage>
  </PageLayout>
</template>
<script setup lang="ts">
import { PageLayout } from '@/components';
import InnerPage from './InnerPage.vue';
defineOptions({
  name: 'userAccountList',
});
</script>
packages/components/src/components/Card/OrderCard.vue
@@ -3,14 +3,29 @@
    <div class="order-card-title">
      <div class="order-card-title-top">
        <div class="order-card-title-text">{{ title }}</div>
        <div class="order-card-title-status">{{ status }}</div>
        <div class="order-card-title-status">
          {{ LifeRechargeConstants.LifePayOrderFrontStatusEnumText[status] }}
        </div>
      </div>
      <div class="order-card-title-ordernum-wrapper">
        <div class="order-card-title-ordernum">
          {{ `订单编号:${orderNo}` }}
        </div>
        <slot name="actions">
          <div class="order-card-action">申请退款</div>
          <div
            class="order-card-action"
            v-if="status === LifeRechargeConstants.LifePayOrderFrontStatusEnum.支付成功"
            @click="emit('goApplyRefund', orderNo)"
          >
            申请退款
          </div>
          <div
            class="order-card-action"
            v-if="status === LifeRechargeConstants.LifePayOrderFrontStatusEnum.退款失败"
            @click="emit('goRefundDetail', orderNo)"
          >
            详情
          </div>
        </slot>
      </div>
    </div>
@@ -21,15 +36,22 @@
</template>
<script setup lang="ts">
import { LifeRechargeConstants } from '@life-payment/core-vue';
defineOptions({
  name: 'OrderCard',
});
type Props = {
  title: string;
  status: string;
  status: LifeRechargeConstants.LifePayOrderFrontStatusEnum;
  orderNo: string;
};
const props = withDefaults(defineProps<Props>(), {});
const emit = defineEmits<{
  (e: 'goApplyRefund', orderNo: string): void;
  (e: 'goRefundDetail', orderNo: string): void;
}>();
</script>
packages/components/src/index.ts
@@ -6,4 +6,7 @@
export { default as RechargeResultView } from './views/RechargeResultView/RechargeResultView.vue';
export { default as PhoneOrder } from './views/Order/components/PhoneOrder.vue';
export { default as ElectricOrder } from './views/Order/components/ElectricOrder.vue';
export { default as GasOrder } from './views/Order/components/GasOrder.vue';
export { default as OrderApplyRefundView } from './views/Order/OrderApplyRefundView.vue';
export { default as UserAccountListView } from './views/userAccount/UserAccountListView.vue';
export * from './utils';
packages/components/src/styles/nut.scss
@@ -127,7 +127,7 @@
  .bole-input-textarea:not(.nut-input--disabled) {
    color: boleGetCssVar('text-color', 'primary') !important;
    height: 100rpx;
    height: 200px;
  }
  .bole-input-text-placeholder {
packages/components/src/utils/common.ts
@@ -149,3 +149,32 @@
  }
  return '';
}
export function convertOrderFrontStatus(
  payStatus?: LifeRechargeConstants.LifePayStatusEnum,
  lifePayOrderStatus?: LifeRechargeConstants.LifePayOrderStatusEnum
) {
  if (
    (lifePayOrderStatus === LifeRechargeConstants.LifePayOrderStatusEnum.待确认 &&
      payStatus === LifeRechargeConstants.LifePayStatusEnum.已支付) ||
    payStatus === LifeRechargeConstants.LifePayStatusEnum.待退款
  ) {
    return LifeRechargeConstants.LifePayOrderFrontStatusEnum.支付成功;
  }
  if (lifePayOrderStatus === LifeRechargeConstants.LifePayOrderStatusEnum.已退款) {
    return LifeRechargeConstants.LifePayOrderFrontStatusEnum.已退款;
  }
  if (lifePayOrderStatus === LifeRechargeConstants.LifePayOrderStatusEnum.退款待审核) {
    return LifeRechargeConstants.LifePayOrderFrontStatusEnum.退款待审核;
  }
  if (lifePayOrderStatus === LifeRechargeConstants.LifePayOrderStatusEnum.退款失败) {
    return LifeRechargeConstants.LifePayOrderFrontStatusEnum.退款失败;
  }
  if (
    lifePayOrderStatus === LifeRechargeConstants.LifePayOrderStatusEnum.已完成 &&
    payStatus === LifeRechargeConstants.LifePayStatusEnum.已支付
  ) {
    return LifeRechargeConstants.LifePayOrderFrontStatusEnum.充值成功;
  }
  return;
}
packages/components/src/views/Order/OrderApplyRefundView.vue
New file
@@ -0,0 +1,98 @@
<template>
  <NutForm
    :model-value="form"
    ref="formRef"
    :rules="rules"
    label-position="top"
    class="order-bill-recharge phone"
  >
    <NutFormItem class="bole-form-item" prop="refundApplyRemark" required>
      <NutTextarea
        placeholder="请填写您需要充值的手机号码"
        placeholderClass="bole-input-text-placeholder"
        autoSize
        class="bole-input-textarea"
        v-model="form.refundApplyRemark"
        :max-length="200"
        limit-show
      >
      </NutTextarea>
    </NutFormItem>
    <div class="common-content">
      <nut-button class="recharge-button" type="primary" @click="handleSubmit">
        <div class="recharge-button-inner">
          <div class="recharge-button-text">提交</div>
        </div>
      </nut-button>
    </div>
  </NutForm>
</template>
<script setup lang="ts">
import {
  Form as NutForm,
  FormItem as NutFormItem,
  Input as NutInput,
  Textarea as NutTextarea,
} from '@nutui/nutui-taro';
import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
import { reactive, ref, computed } from 'vue';
import {
  useLifeRechargeContext,
  LifeRechargeConstants,
  RefundUserLifePayOrderInput,
} from '@life-payment/core-vue';
import { useQueryClient } from '@tanstack/vue-query';
defineOptions({
  name: 'OrderApplyRefundView',
});
type Props = {
  orderNo: string;
};
const props = withDefaults(defineProps<Props>(), {});
const emit = defineEmits<{
  (e: 'submitApplyRefund'): void;
}>();
const form = reactive({
  refundApplyRemark: '',
});
const rules = reactive<FormRules>({
  refundApplyRemark: [{ required: true, message: '请输入退款原因' }],
});
const { blLifeRecharge } = useLifeRechargeContext();
const formRef = ref<any>(null);
function handleSubmit() {
  if (!formRef.value) return;
  formRef.value.validate().then(({ valid, errors }: any) => {
    if (valid) {
      refundUserLifePayOrder();
    }
  });
}
const queryClient = useQueryClient();
async function refundUserLifePayOrder() {
  try {
    let params: RefundUserLifePayOrderInput = {
      id: props.orderNo,
      userId: blLifeRecharge.accountModel.userId,
      refundApplyRemark: form.refundApplyRemark,
    };
    let res = await blLifeRecharge.services.refundUserLifePayOrder(params);
    emit('submitApplyRefund');
    queryClient.invalidateQueries({
      queryKey: ['blLifeRecharge/getUserLifePayOrderPage'],
    });
  } catch (error) {}
}
</script>
packages/components/src/views/Order/components/ElectricOrder.vue
@@ -6,8 +6,10 @@
    <template #renderItem="{ item }">
      <OrderCard
        title="电费充值"
        :status="orderStatusEnum(item?.payStatus, item?.lifePayOrderStatus)"
        :status="convertOrderFrontStatus(item?.payStatus, item?.lifePayOrderStatus)"
        :order-no="item?.orderNo"
        @goApplyRefund="emit('goApplyRefund', $event)"
        @goRefundDetail="emit('goRefundDetail', $event)"
      >
        <OrderCardItem
          label="充值地区:"
@@ -63,7 +65,7 @@
import { useGetUserLifePayOrderPage } from '../../../hooks';
import { BlLifeRecharge } from '@life-payment/core-vue';
import dayjs from 'dayjs';
import { toThousand, orderStatusEnum } from '../../../utils';
import { toThousand, convertOrderFrontStatus } from '../../../utils';
defineOptions({
  name: 'ElectricOrder',
@@ -73,6 +75,11 @@
// const props = withDefaults(defineProps<Props>(), {});
const emit = defineEmits<{
  (e: 'goApplyRefund', orderNo: string): void;
  (e: 'goRefundDetail', orderNo: string): void;
}>();
const { infiniteLoadingProps } = useGetUserLifePayOrderPage({
  lifePayOrderType: BlLifeRecharge.constants.LifePayOrderTypeEnum.电费订单,
});
packages/components/src/views/Order/components/GasOrder.vue
New file
@@ -0,0 +1,78 @@
<template>
  <InfiniteLoading
    scrollViewClassName="life-page-infinite-scroll-list"
    v-bind="infiniteLoadingProps"
  >
    <template #renderItem="{ item }">
      <OrderCard
        title="燃气充值"
        :status="convertOrderFrontStatus(item?.payStatus, item?.lifePayOrderStatus)"
        :order-no="item?.orderNo"
        @goApplyRefund="emit('goApplyRefund', $event)"
        @goRefundDetail="emit('goRefundDetail', $event)"
      >
        <OrderCardItem
          label="充值账号:"
          :value="JSON.parse(item?.orderParamDetailJsonStr)?.gasAccount"
        />
        <OrderCardItem
          label="下单时间:"
          :value="item?.creationTime && dayjs(item?.creationTime).format('YYYY-MM-DD HH:mm:ss')"
        />
        <template v-if="item.payStatus !== BlLifeRecharge.constants.LifePayStatusEnum.已退款">
          <OrderCardItem
            label="充值金额:"
            :value="`¥${toThousand(item?.rechargeAmount)}`"
            danger
          />
          <OrderCardItem label="优惠金额:" :value="`¥${toThousand(item?.discountAmount)}`" />
        </template>
        <OrderCardItem label="实付金额:" :value="`¥${toThousand(item?.payAmount)}`" danger />
        <OrderCardItem
          label="支付时间:"
          :value="item?.payTime && dayjs(item?.payTime).format('YYYY-MM-DD HH:mm:ss')"
        />
        <OrderCardItem
          v-if="item.payStatus !== BlLifeRecharge.constants.LifePayStatusEnum.已退款"
          label="完成时间:"
          :value="item?.finishTime && dayjs(item?.finishTime).format('YYYY-MM-DD HH:mm:ss')"
        />
        <template v-else>
          <OrderCardItem label="退款金额:" :value="`¥${toThousand(item?.payAmount)}`" danger />
          <OrderCardItem
            label="退款时间:"
            :value="item?.refundTime && dayjs(item?.refundTime).format('YYYY-MM-DD HH:mm:ss')"
          >
          </OrderCardItem>
        </template>
      </OrderCard>
    </template>
  </InfiniteLoading>
</template>
<script setup lang="ts">
import InfiniteLoading from '../../../components/InfiniteLoading/InfiniteLoading.vue';
import OrderCard from '../../../components/Card/OrderCard.vue';
import OrderCardItem from '../../../components/Card/OrderCardItem.vue';
import { useGetUserLifePayOrderPage } from '../../../hooks';
import dayjs from 'dayjs';
import { BlLifeRecharge } from '@life-payment/core-vue';
import { toThousand, convertOrderFrontStatus } from '../../../utils';
defineOptions({
  name: 'GasOrder',
});
// type Props = {};
// const props = withDefaults(defineProps<Props>(), {});
const emit = defineEmits<{
  (e: 'goApplyRefund', orderNo: string): void;
  (e: 'goRefundDetail', orderNo: string): void;
}>();
const { infiniteLoadingProps } = useGetUserLifePayOrderPage({
  lifePayOrderType: BlLifeRecharge.constants.LifePayOrderTypeEnum.燃气订单,
});
</script>
packages/components/src/views/Order/components/PhoneOrder.vue
@@ -6,8 +6,10 @@
    <template #renderItem="{ item }">
      <OrderCard
        title="话费充值"
        :status="orderStatusEnum(item?.payStatus, item?.lifePayOrderStatus)"
        :status="convertOrderFrontStatus(item?.payStatus, item?.lifePayOrderStatus)"
        :order-no="item?.orderNo"
        @goApplyRefund="emit('goApplyRefund', $event)"
        @goRefundDetail="emit('goRefundDetail', $event)"
      >
        <OrderCardItem
          label="充值账号:"
@@ -55,7 +57,7 @@
import { useGetUserLifePayOrderPage } from '../../../hooks';
import dayjs from 'dayjs';
import { BlLifeRecharge } from '@life-payment/core-vue';
import { toThousand, orderStatusEnum } from '../../../utils';
import { toThousand, convertOrderFrontStatus } from '../../../utils';
defineOptions({
  name: 'PhoneOrder',
@@ -65,6 +67,11 @@
// const props = withDefaults(defineProps<Props>(), {});
const emit = defineEmits<{
  (e: 'goApplyRefund', orderNo: string): void;
  (e: 'goRefundDetail', orderNo: string): void;
}>();
const { infiniteLoadingProps } = useGetUserLifePayOrderPage({
  lifePayOrderType: BlLifeRecharge.constants.LifePayOrderTypeEnum.话费订单,
});
packages/components/src/views/userAccount/UserAccountListView.vue
New file
@@ -0,0 +1,75 @@
<template>
  <InfiniteLoading
    scrollViewClassName="life-page-infinite-scroll-list"
    v-bind="infiniteLoadingProps"
  >
    <template #renderItem="{ item }">
      <AccountCard
        :title="TitleMap[item.lifePayType]"
        :content="
          item.lifePayType === LifeRechargeConstants.LifePayOrderTypeEnum.话费订单
            ? item.content
            : `${item.city}-${item.content}`
        "
        :remark="item.remark"
        :style="{
          marginBottom: Taro.pxTransform(20),
          backgroundColor: '#ffffff',
        }"
      >
        <template #action>
          <div class="account-card-action" @click="handleEditUserAccount">编辑</div>
          <div class="account-card-action" @click="handleEditUserAccount">删除</div>
        </template>
      </AccountCard>
    </template>
  </InfiniteLoading>
</template>
<script setup lang="ts">
import InfiniteLoading from '../../components/InfiniteLoading/InfiniteLoading.vue';
import {
  BlLifeRecharge,
  useLifeRechargeContext,
  QueryUserAccountListInput,
  LifeRechargeConstants,
} from '@life-payment/core-vue';
import { useInfiniteLoading } from '../../hooks/infiniteLoading';
import { OrderInputType } from '../../constants';
import AccountCard from '../../components/Card/AccountCard.vue';
import Taro from '@tarojs/taro';
defineOptions({
  name: 'UserAccountListView',
});
const { blLifeRecharge } = useLifeRechargeContext();
const TitleMap = {
  [LifeRechargeConstants.LifePayOrderTypeEnum.话费订单]: '手机号',
  [LifeRechargeConstants.LifePayOrderTypeEnum.电费订单]: '电费户号',
  [LifeRechargeConstants.LifePayOrderTypeEnum.燃气订单]: '燃气户号',
};
const { infiniteLoadingProps } = useInfiniteLoading(
  ({ pageParam }) => {
    let params: QueryUserAccountListInput = {
      pageModel: {
        rows: 20,
        page: pageParam,
        orderInput: [{ property: 'id', order: OrderInputType.Desc }],
      },
      userId: blLifeRecharge.accountModel.userId,
    };
    return blLifeRecharge.services.getUserAccountList(params, {
      showLoading: false,
    });
  },
  {
    queryKey: ['blLifeRecharge/getUserAccountList', blLifeRecharge.accountModel.userId],
  }
);
function handleEditUserAccount() {}
</script>
packages/core/src/lifeRechargeConstants.ts
@@ -35,8 +35,39 @@
    已失败 = 20,
    已完成 = 30,
    退款待审核 = 40,
    已退款 = 50,
    退款失败 = 60,
  }
  export const LifePayOrderStatusEnumText = {
    [LifePayOrderStatusEnum.待确认]: '待确认',
    [LifePayOrderStatusEnum.已失败]: '已失败',
    [LifePayOrderStatusEnum.已完成]: '已完成',
    [LifePayOrderStatusEnum.退款待审核]: '退款待审核',
    [LifePayOrderStatusEnum.已退款]: '已退款',
    [LifePayOrderStatusEnum.退款失败]: '退款失败',
  };
  export enum LifePayOrderFrontStatusEnum {
    支付成功 = 10,
    退款待审核 = 40,
    已退款 = 50,
    退款失败 = 60,
    充值成功 = 100,
  }
  export const LifePayOrderFrontStatusEnumText = {
    [LifePayOrderFrontStatusEnum.支付成功]: '支付成功',
    [LifePayOrderFrontStatusEnum.退款待审核]: '退款待审核',
    [LifePayOrderFrontStatusEnum.已退款]: '已退款',
    [LifePayOrderFrontStatusEnum.退款失败]: '退款失败',
    [LifePayOrderFrontStatusEnum.充值成功]: '充值成功',
  };
  export enum IspCode {
    /**中国移动 */
    yidong = 'yidong',
packages/core/src/lifeRechargeServices.ts
@@ -169,6 +169,18 @@
    });
  }
  /** 获取我的户号列表 POST /api/LifePay/GetUserAccountList */
  async getUserAccountList(body: QueryUserAccountListInput, options?: RequestConfig) {
    return this.request<UserAccountListOutputPageOutput>('/api/LifePay/GetUserAccountList', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    });
  }
  /** 添加或修改我的户号 POST /api/LifePay/AddUpdateUserAccount */
  async addUpdateUserAccount(body: AddUpdateUserAccountInput, options?: RequestConfig) {
    return this.request<number>('/api/LifePay/AddUpdateUserAccount', {
@@ -197,6 +209,18 @@
  async getGasParValue(options?: RequestConfig) {
    return this.request<GasParValueResponse>('/api/LifePay/GetGasParValue', {
      method: 'GET',
      ...(options || {}),
    });
  }
  /** 用户发起生活缴费退款 POST /api/LifePay/RefundUserLifePayOrder */
  async refundUserLifePayOrder(body: RefundUserLifePayOrderInput, options?: RequestConfig) {
    return this.request<number>('/api/LifePay/RefundUserLifePayOrder', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    });
  }
@@ -522,3 +546,23 @@
  rate?: number;
  comments?: string;
}
export interface RefundUserLifePayOrderInput {
  id?: string;
  /** 用户Id */
  userId?: string;
  refundApplyRemark?: string;
}
export interface QueryUserAccountListInput {
  pageModel?: Pagination;
  /** 用户Id */
  userId?: string;
  lifePayOrderType?: LifeRechargeConstants.LifePayOrderTypeEnum;
}
export interface UserAccountListOutputPageOutput {
  pageModel?: Pagination;
  objectData?: any;
  data?: UserAccountListOutput[];
}