From 55c03f35a31979aefd46aead13a145c9b293e6d8 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期四, 27 三月 2025 17:38:55 +0800 Subject: [PATCH] fix: 四期需求 --- apps/taro/src/subpackages/my/shareQrcode/InnerPage.vue | 17 + packages/core/src/lifeRechargeAccountModel.ts | 1 apps/taro/src/stores/modules/user.ts | 4 apps/taro/src/pages/mine/index.vue | 16 + apps/taro/src/hooks/lifepay.ts | 60 +++++++ apps/taro/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue | 2 packages/services/api/Account.ts | 19 +- apps/taro/src/hooks/index.ts | 1 packages/services/api/typings.d.ts | 182 ++++++++++++++++++++++ packages/core/src/lifeRecharge.ts | 2 packages/core/src/lifeRechargeServices.ts | 52 +++++- packages/services/api/LifePay.ts | 113 ++++++++++++++ packages/components/src/views/Mine/ShareQrcodeView.vue | 10 13 files changed, 446 insertions(+), 33 deletions(-) diff --git a/apps/taro/src/hooks/index.ts b/apps/taro/src/hooks/index.ts index 338febb..60e03be 100644 --- a/apps/taro/src/hooks/index.ts +++ b/apps/taro/src/hooks/index.ts @@ -3,3 +3,4 @@ export * from './access'; export * from './login'; export * from './infiniteLoading'; +export * from './lifepay'; diff --git a/apps/taro/src/hooks/lifepay.ts b/apps/taro/src/hooks/lifepay.ts new file mode 100644 index 0000000..574a36c --- /dev/null +++ b/apps/taro/src/hooks/lifepay.ts @@ -0,0 +1,60 @@ +import { useQuery } from '@tanstack/vue-query'; +import { useLifeRechargeContext, CreateEditPayChannelsInput } from '@life-payment/core-vue'; + +export function useOnlineService() { + const { blLifeRecharge } = useLifeRechargeContext(); + + const { data } = useQuery({ + queryKey: ['blLifeRecharge/getOnlineService'], + queryFn: async () => { + return await blLifeRecharge.services.getOnlineService({ + showLoading: false, + }); + }, + placeholderData: () => '', + }); + + return { + onlineServiceLink: data, + }; +} + +type UseLifePayChannlesAllListOptions = { + onSuccess?: (data: API.CreateEditPayChannelsInput[]) => any; +}; + +export function useLifePayChannlesAllList(options: UseLifePayChannlesAllListOptions = {}) { + const { onSuccess } = options; + + const { blLifeRecharge } = useLifeRechargeContext(); + + const { + data: allChannlesList, + isLoading, + refetch, + } = useQuery({ + queryKey: ['blLifeRecharge/getLifePayChannlesAllList'], + queryFn: async () => { + return await blLifeRecharge.services.getLifePayChannlesAllList({ + showLoading: false, + }); + }, + placeholderData: () => [] as CreateEditPayChannelsInput[], + onSuccess: (data) => { + onSuccess?.(data); + }, + }); + + function getChannlesNameByNum(channlesNum: string) { + return ( + allChannlesList.value.find((item) => item.channlesNum === channlesNum)?.channlesName ?? '' + ); + } + + return { + allChannlesList, + isLoading, + refetch, + getChannlesNameByNum, + }; +} diff --git a/apps/taro/src/pages/mine/index.vue b/apps/taro/src/pages/mine/index.vue index d9e2f4d..8bf95d1 100644 --- a/apps/taro/src/pages/mine/index.vue +++ b/apps/taro/src/pages/mine/index.vue @@ -25,7 +25,7 @@ <ListItem title="鏁版嵁鐪嬫澘" @click="goDashboard"></ListItem> <ListItem title="鎺ㄥ箍浜岀淮鐮�" @click="goShareQrcode"></ListItem> </template> - <ListItem v-if="isWeb" title="鍦ㄧ嚎瀹㈡湇" @click="handleChat"></ListItem> + <ListItem v-if="isWeb && !isInAlipay" title="鍦ㄧ嚎瀹㈡湇" @click="handleChat"></ListItem> <ListItem v-if="isLogin" title="閫�鍑虹櫥褰�" @click="goLogout"></ListItem> </List> </ContentScrollView> @@ -34,7 +34,7 @@ <script setup lang="ts"> import { TransparentNavigationBar, List, ListItem } from '@/components'; -import { useUser, useIsLogin, useGoLogin, useAccessLogin } from '@/hooks'; +import { useUser, useIsLogin, useGoLogin, useAccessLogin, useOnlineService } from '@/hooks'; import Taro from '@tarojs/taro'; import { RouterPath, OssAssets } from '@/constants'; import DefaultAvatar from '@/assets/components/icon-default-avatar.png'; @@ -42,7 +42,7 @@ import PageLayoutWithBg from '@/components/Layout/PageLayoutWithBg.vue'; import { useUserStore } from '@/stores/modules/user'; import { Message } from '@/utils'; -import { isWeb } from '@/utils/env'; +import { isWeb, isInAlipay } from '@/utils/env'; import { useLifeRechargeContext } from '@life-payment/core-vue'; import { hiddenPhoneNumber } from '@life-payment/utils'; @@ -93,9 +93,15 @@ } catch (error) {} } +const { onlineServiceLink } = useOnlineService(); + function handleChat() { - if (isWeb) { - window.open('https://work.weixin.qq.com/kfid/kfcd24e0c60fd91099e', '_blank'); + if (isWeb && onlineServiceLink.value) { + if (isInAlipay) { + Message.warning('璇峰湪寰俊涓墦寮�浣跨敤璇ュ姛鑳�'); + } else { + window.open(onlineServiceLink.value, '_blank'); + } } } </script> diff --git a/apps/taro/src/stores/modules/user.ts b/apps/taro/src/stores/modules/user.ts index 7b10216..1ac1d0e 100644 --- a/apps/taro/src/stores/modules/user.ts +++ b/apps/taro/src/stores/modules/user.ts @@ -140,7 +140,7 @@ if (res) { this.loginVirtualSuccess({ - virtualUserId: res, + virtualUserId: res.userId, virtualPhoneNumber: data.phoneNumber, }); } @@ -220,8 +220,6 @@ try { // let res = await userServices.getUserInfo({ showLoading: false }); // if (res) { - // res.originalAvatarUrl = res.avatarUrl; - // res.avatarUrl = res.avatarUrl ? setOSSLink(res.avatarUrl) : DefaultAvatar; // this.setUserDetail(res); // this.firstGetUserDetail = false; // } diff --git a/apps/taro/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue b/apps/taro/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue index b8e1868..431a323 100644 --- a/apps/taro/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue +++ b/apps/taro/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue @@ -104,7 +104,7 @@ ); userStore.loginVirtualSuccess({ virtualPhoneNumber: form.phoneNumber, - virtualUserId: res, + virtualUserId: res.userId, }); jump(); } diff --git a/apps/taro/src/subpackages/my/shareQrcode/InnerPage.vue b/apps/taro/src/subpackages/my/shareQrcode/InnerPage.vue index a67d812..6b505c8 100644 --- a/apps/taro/src/subpackages/my/shareQrcode/InnerPage.vue +++ b/apps/taro/src/subpackages/my/shareQrcode/InnerPage.vue @@ -1,12 +1,23 @@ <template> - <ContentScrollView> - <ShareQrcodeView /> - </ContentScrollView> + <ProTabs v-model="orderType" name="user-home-tabs" class="user-home-tabs" flexTitle fullHeight> + <ProTabPane title="璇濊垂璁㈠崟" pane-key="1"> + <ShareQrcodeView :channles-num="'818'" /> + </ProTabPane> + <ProTabPane title="鐢佃垂璁㈠崟" pane-key="2"> + <ShareQrcodeView :channles-num="'818'" /> + </ProTabPane> + </ProTabs> </template> <script setup lang="ts"> import { ShareQrcodeView } from '@life-payment/components'; +import { useLifePayChannlesAllList } from '@/hooks'; + defineOptions({ name: 'InnerPage', }); + +const orderType = ref('1'); + +const { getChannlesNameByNum } = useLifePayChannlesAllList(); </script> diff --git a/packages/components/src/views/Mine/ShareQrcodeView.vue b/packages/components/src/views/Mine/ShareQrcodeView.vue index 3bbbed3..49d3a60 100644 --- a/packages/components/src/views/Mine/ShareQrcodeView.vue +++ b/packages/components/src/views/Mine/ShareQrcodeView.vue @@ -13,9 +13,13 @@ name: 'ShareQrcodeView', }); +type Props = { + channlesNum?: string; +}; + +const props = withDefaults(defineProps<Props>(), {}); + const { blLifeRecharge } = useLifeRechargeContext(); -const link = computed( - () => `${CLIENT_ORIGIN}?channelId=${blLifeRecharge.accountModel.channlesNum}` -); +const link = computed(() => `${CLIENT_ORIGIN}?channelId=${props.channlesNum}`); </script> diff --git a/packages/core/src/lifeRecharge.ts b/packages/core/src/lifeRecharge.ts index c529319..8c1cb2c 100644 --- a/packages/core/src/lifeRecharge.ts +++ b/packages/core/src/lifeRecharge.ts @@ -26,7 +26,7 @@ async login(body: PhoneMesssageCodeLoginInput, options?: RequestConfig) { try { let res = await this.services.lifePayPhoneMesssageCodeLogin(body, options); - this.accountModel.setUserId(res); + this.accountModel.setUserId(res.userId); this.accountModel.setPhoneNumber(body.phoneNumber); return res; } catch (error) { diff --git a/packages/core/src/lifeRechargeAccountModel.ts b/packages/core/src/lifeRechargeAccountModel.ts index b949add..e5e7b9e 100644 --- a/packages/core/src/lifeRechargeAccountModel.ts +++ b/packages/core/src/lifeRechargeAccountModel.ts @@ -1,4 +1,5 @@ import { BlLifeRechargeAccountModelOptions } from './types'; +import { LifePayPhoneMesssageCodeLoginOutput } from './lifeRechargeServices'; export class BlLifeRechargeAccountModel { userId = ''; diff --git a/packages/core/src/lifeRechargeServices.ts b/packages/core/src/lifeRechargeServices.ts index 279dce2..ca95c57 100644 --- a/packages/core/src/lifeRechargeServices.ts +++ b/packages/core/src/lifeRechargeServices.ts @@ -42,14 +42,17 @@ } async lifePayPhoneMesssageCodeLogin(body: PhoneMesssageCodeLoginInput, options?: RequestConfig) { - return this.request<string>('/api/Account/LifePayPhoneMesssageCodeLogin', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); + return this.request<LifePayPhoneMesssageCodeLoginOutput>( + '/api/Account/LifePayPhoneMesssageCodeLogin', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + } + ); } /** 鑾峰彇鎶樻墸 GET /api/LifePay/GetRate */ @@ -335,6 +338,22 @@ 'Content-Type': 'application/json', }, data: body, + ...(options || {}), + }); + } + + /** 鑾峰彇鍦ㄧ嚎瀹㈡湇 GET /api/LifePay/GetOnlineService */ + async getOnlineService(options?: RequestConfig) { + return this.request<string>('/api/LifePay/GetOnlineService', { + method: 'GET', + ...(options || {}), + }); + } + + /** 鑾峰彇鍏ㄩ儴缂磋垂娓犻亾 GET /api/LifePay/GetLifePayChannlesAllList */ + async getLifePayChannlesAllList(options?: RequestConfig) { + return this.request<CreateEditPayChannelsInput[]>('/api/LifePay/GetLifePayChannlesAllList', { + method: 'GET', ...(options || {}), }); } @@ -775,3 +794,20 @@ export interface ChannelRateOutput { channlesRate?: number; } + +export interface CreateEditPayChannelsInput { + id?: string; + channlesName?: string; + channlesNum?: string; + channlesRate?: number; + channlesRakeRate?: number; +} + +export interface LifePayPhoneMesssageCodeLoginOutput { + /** 鐢ㄦ埛Id */ + userId?: string; + /** 鏄惁鏄悗鍙扮敤鎴� */ + isBackClientUser?: boolean; + /** 娓犻亾鍙� */ + channlesNum?: string[]; +} diff --git a/packages/services/api/Account.ts b/packages/services/api/Account.ts index c0b1194..ade46e0 100644 --- a/packages/services/api/Account.ts +++ b/packages/services/api/Account.ts @@ -42,14 +42,17 @@ body: API.LifePayPhoneMesssageCodeLoginInput, options?: API.RequestConfig ) { - return request<string>('/api/Account/LifePayPhoneMesssageCodeLogin', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - data: body, - ...(options || {}), - }); + return request<API.LifePayPhoneMesssageCodeLoginOutput>( + '/api/Account/LifePayPhoneMesssageCodeLogin', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + } + ); } /** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 GET /api/accountAuth/GetCode */ diff --git a/packages/services/api/LifePay.ts b/packages/services/api/LifePay.ts index 191b086..d35ff51 100644 --- a/packages/services/api/LifePay.ts +++ b/packages/services/api/LifePay.ts @@ -14,6 +14,21 @@ }); } +/** 涓婁紶鍏呭�兼祦姘� POST /api/LifePay/AddUpdatePayRechargeReceipts */ +export async function addUpdatePayRechargeReceipts( + body: API.AddUpdatePayRechargeReceiptsInput, + options?: API.RequestConfig +) { + return request<number>('/api/LifePay/AddUpdatePayRechargeReceipts', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + /** 娣诲姞鎴栦慨鏀规垜鐨勬埛鍙� POST /api/LifePay/AddUpdateUserAccount */ export async function addUpdateUserAccount( body: API.AddUpdateUserAccountInput, @@ -337,6 +352,24 @@ }); } +/** 鑾峰彇鍏呭�兼祦姘村垎椤垫暟鎹� POST /api/LifePay/GetLifePayRechargeReceiptsPage */ +export async function getLifePayRechargeReceiptsPage( + body: API.LifePayRechargeReceiptsPageInput, + options?: API.RequestConfig +) { + return request<API.LifePayRechargeReceiptsListOutputLifePayRechargeReceiptsPageOutput>( + '/api/LifePay/GetLifePayRechargeReceiptsPage', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + } + ); +} + /** 瀵煎嚭閫�娆捐鍗旹xcel POST /api/LifePay/GetLifePayRefudOrderPageExport */ export async function getLifePayRefudOrderPageExport( body: API.QueryLifePayRefundOrderListInput, @@ -378,6 +411,14 @@ 'Content-Type': 'application/json', }, data: body, + ...(options || {}), + }); +} + +/** 鑾峰彇鍦ㄧ嚎瀹㈡湇 GET /api/LifePay/GetOnlineService */ +export async function getOnlineService(options?: API.RequestConfig) { + return request<string>('/api/LifePay/GetOnlineService', { + method: 'GET', ...(options || {}), }); } @@ -550,6 +591,33 @@ }); } +/** 鏌ヨ鏀粯瀹濇敮浠樿鍗曚俊鎭� POST /api/LifePay/QueryAlipayTrade */ +export async function queryAlipayTrade(body: API.OrderInQuiryInput, options?: API.RequestConfig) { + return request<API.AlipayTradeQueryResponse>('/api/LifePay/QueryAlipayTrade', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 鏌ヨ鏀粯瀹濋��娆捐鍗曚俊鎭� POST /api/LifePay/QueryAlipayTradeRefund */ +export async function queryAlipayTradeRefund( + body: API.OrderInQuiryInput, + options?: API.RequestConfig +) { + return request<API.AlipayTradeFastpayRefundQueryResponse>('/api/LifePay/QueryAlipayTradeRefund', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + /** 閫�娆剧敓娲荤即璐硅鍗� POST /api/LifePay/RefundLifePayOrder */ export async function refundLifePayOrder( body: API.RefundLifePayOrderInput, @@ -624,3 +692,48 @@ ...(options || {}), }); } + +/** 淇敼瀹為檯鍒拌处閲戦 POST /api/LifePay/UpdateLifePayOrderActualReceivedAmount */ +export async function updateLifePayOrderActualReceivedAmount( + body: API.UpdateLifePayOrderInput, + options?: API.RequestConfig +) { + return request<number>('/api/LifePay/UpdateLifePayOrderActualReceivedAmount', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 鍦ㄧ嚎瀹㈡湇閰嶇疆 POST /api/LifePay/UpdateOnlineService */ +export async function updateOnlineService( + body: API.OnlineServiceInput, + options?: API.RequestConfig +) { + return request<number>('/api/LifePay/UpdateOnlineService', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 GET /api/LifePay/WxPayDomesticRefundsQuery */ +export async function wxPayDomesticRefundsQuery( + // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄) + params: API.APIwxPayDomesticRefundsQueryParams, + options?: API.RequestConfig +) { + return request<any>('/api/LifePay/WxPayDomesticRefundsQuery', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); +} diff --git a/packages/services/api/typings.d.ts b/packages/services/api/typings.d.ts index 6b18155..f3befa6 100644 --- a/packages/services/api/typings.d.ts +++ b/packages/services/api/typings.d.ts @@ -30,6 +30,19 @@ implementFrom?: string; } + interface AddUpdatePayRechargeReceiptsInput { + /** 缂栧彿 */ + id?: string; + /** 涓氬姟璁㈠崟鍙� */ + orderNo?: string; + /** 鍏呭�奸噾棰� */ + rechargeAmount?: number; + /** 澶囨敞 */ + remark?: string; + /** 鍏呭�煎嚟璇� */ + voucher?: string; + } + interface AddUpdateUserAccountInput { pageModel?: Pagination; checkChannelId?: string; @@ -49,6 +62,75 @@ extraProperties?: string; /** 澶囨敞 */ remark?: string; + } + + interface AlipayTradeFastpayRefundQueryResponse { + httpBody?: string; + code?: string; + msg?: string; + subCode?: string; + subMsg?: string; + errorCode?: string; + gmtRefundPay?: string; + industrySepcDetail?: string; + outRequestNo?: string; + outTradeNo?: string; + presentRefundBuyerAmount?: string; + presentRefundDiscountAmount?: string; + presentRefundMdiscountAmount?: string; + refundAmount?: string; + refundChargeAmount?: string; + refundDetailItemList?: TradeFundBill[]; + refundReason?: string; + refundRoyaltys?: RefundRoyaltyResult[]; + refundSettlementId?: string; + refundStatus?: string; + sendBackFee?: string; + totalAmount?: string; + tradeNo?: string; + } + + interface AlipayTradeQueryResponse { + httpBody?: string; + code?: string; + msg?: string; + subCode?: string; + subMsg?: string; + tradeNo?: string; + outTradeNo?: string; + buyerLogonId?: string; + tradeStatus?: string; + totalAmount?: string; + transCurrency?: string; + settleCurrency?: string; + settleAmount?: string; + payCurrency?: string; + payAmount?: string; + settleTransRate?: string; + transPayRate?: string; + buyerPayAmount?: string; + pointAmount?: string; + invoiceAmount?: string; + sendPayDate?: string; + receiptAmount?: string; + storeId?: string; + terminalId?: string; + fundBillList?: TradeFundBill[]; + storeName?: string; + buyerUserId?: string; + chargeAmount?: string; + chargeFlags?: string; + settlementId?: string; + tradeSettleInfo?: TradeSettleInfo[]; + authTradePayMode?: string; + buyerUserType?: string; + mdiscountAmount?: string; + discountAmount?: string; + buyerUserName?: string; + subject?: string; + body?: string; + alipaySubMerchantId?: string; + extInfos?: string; } interface AllSubModule { @@ -330,6 +412,10 @@ interface APIupdateRolesParams { id?: string; + } + + interface APIwxPayDomesticRefundsQueryParams { + outTradeNo?: string; } interface ApplicationApiDescriptionModel { @@ -1203,6 +1289,15 @@ phoneNumber: string; } + interface LifePayPhoneMesssageCodeLoginOutput { + /** 鐢ㄦ埛Id */ + userId?: string; + /** 鏄惁鏄悗鍙扮敤鎴� */ + isBackClientUser?: boolean; + /** 娓犻亾鍙� */ + channlesNum?: string[]; + } + interface LifePayPremiumInput { premiumType?: LifePayTypeEnum; rate?: number; @@ -1228,6 +1323,40 @@ } type LifePayRateTypeEnum = 10 | 20 | 30 | 40; + + interface LifePayRechargeReceiptsListOutput { + /** 缂栧彿 */ + id?: string; + /** 涓氬姟璁㈠崟鍙� */ + orderNo?: string; + /** 鍏呭�奸噾棰� */ + rechargeAmount?: number; + /** 澶囨敞 */ + remark?: string; + /** 鍑瘉 */ + voucher?: string; + /** 璁拌处鏃堕棿 */ + creationTime?: string; + } + + interface LifePayRechargeReceiptsListOutputLifePayRechargeReceiptsPageOutput { + pageModel?: Pagination; + objectData?: any; + data?: LifePayRechargeReceiptsListOutput[]; + /** 绱鍏呭�� */ + totalRechargeAmount?: number; + } + + interface LifePayRechargeReceiptsPageInput { + pageModel?: Pagination; + checkChannelId?: string; + /** 鏌ヨ鏉′欢 */ + keyWord?: string; + /** 璁拌处寮�濮嬫椂闂� */ + creationTimeBegin?: string; + /** 璁拌处缁撴潫鏃堕棿 */ + creationTimeEnd?: string; + } interface LifePayRefundOrderOutput { id?: string; @@ -1435,6 +1564,11 @@ enums?: Record<string, any>; } + interface OnlineServiceInput { + /** 鍦ㄧ嚎瀹㈡湇閾炬帴 */ + link?: string; + } + interface OperateHistoryDto { /** 鍏宠仈鍏崇郴ID */ relationId?: string; @@ -1489,6 +1623,10 @@ interface OrderInput { property?: string; order?: OrderTypeEnum; + } + + interface OrderInQuiryInput { + outTradeNo?: string; } type OrderTypeEnum = 0 | 1; @@ -1677,9 +1815,14 @@ checkChannelId?: string; /** 鎵嬫満鍙�/鐢ㄦ埛鍚� */ queryCondition?: string; - /** 娉ㄥ唽鏃堕棿 */ + /** 娉ㄥ唽寮�濮嬫椂闂� */ creationTimeBegin?: string; + /** 娉ㄥ唽缁撴潫鏃堕棿 */ creationTimeEnd?: string; + /** 鐧诲綍寮�濮嬫椂闂� */ + loginTimeBegin?: string; + /** 鐧诲綍缁撴潫鏃堕棿 */ + loginTimeEnd?: string; } interface RefundLifePayOrderInput { @@ -1691,6 +1834,16 @@ lifePayRefundType?: LifePayRefundTypeEnum; /** 閫�娆鹃噾棰� */ refundPrice?: number; + } + + interface RefundRoyaltyResult { + refundAmount?: string; + royaltyType?: string; + resultCode?: string; + transOut?: string; + transOutEmail?: string; + transIn?: string; + transInEmail?: string; } interface RefundUserLifePayOrderInput { @@ -1892,6 +2045,27 @@ yesterdayActiveUsers?: number; } + interface TradeFundBill { + fundChannel?: string; + bankCode?: string; + amount?: string; + realAmount?: string; + fundType?: string; + } + + interface TradeSettleDetail { + operationType?: string; + operationSerial_no?: string; + operationDt?: string; + transOut?: string; + transIn?: string; + amount?: string; + } + + interface TradeSettleInfo { + tradeSettleDetailList?: TradeSettleDetail[]; + } + interface TypeApiDescriptionModel { baseType?: string; isEnum?: boolean; @@ -1932,6 +2106,12 @@ features?: UpdateFeatureDto[]; } + interface UpdateLifePayOrderInput { + id?: string; + /** 瀹為檯鍒拌处閲戦 */ + actualReceivedAmount?: number; + } + interface UpdatePassWordInput { id?: string; passWord?: string; -- Gitblit v1.9.1