From 60b9c62a3165f304a933cbac304ac3d43a24f722 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期四, 17 四月 2025 09:25:09 +0800 Subject: [PATCH] fix: 优化 --- packages/core/src/lifeRechargeServices.ts | 660 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 636 insertions(+), 24 deletions(-) diff --git a/packages/core/src/lifeRechargeServices.ts b/packages/core/src/lifeRechargeServices.ts index 753b3b0..b66a533 100644 --- a/packages/core/src/lifeRechargeServices.ts +++ b/packages/core/src/lifeRechargeServices.ts @@ -1,24 +1,58 @@ -import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios'; -import { IRequest, BlLifeRechargeServicesOptions } from './types'; +import { BlLifeRechargeServicesOptions } from './types'; import { LifeRechargeConstants } from './lifeRechargeConstants'; +import { Request, IRequest } from 'senior-request'; +import { BlLifeRecharge } from './lifeRecharge'; export interface RequestConfig {} -export class BlLifeRechargeServices<T extends IRequest> { - private request: T; - constructor({ request }: BlLifeRechargeServicesOptions<T>) { - this.request = request; +export class BlLifeRechargeServices<TResponse = any, TRequestOptions = any> { + private request: IRequest; + ctx: BlLifeRecharge<TResponse, TRequestOptions>; + + constructor( + ctx: BlLifeRecharge<TResponse, TRequestOptions>, + { axiosConfig }: BlLifeRechargeServicesOptions<TResponse, TRequestOptions> + ) { + this.ctx = ctx; + this.request = Request.create({ + ...axiosConfig, + // baseURL: process.env.NODE_ENV === 'development' ? '/' : 'https://api.81812333.com', + requestInterceptors: [ + [ + (config) => { + if (config.params) { + config.params.checkChannelId = this.ctx.accountModel.channlesNum; + } + if (config.data) { + config.data.checkChannelId = this.ctx.accountModel.channlesNum; + } + return config; + }, + ], + ...axiosConfig.requestInterceptors, + ], + timeout: 10 * 1000, + headers: { + Accept: 'application/json, text/plain, */*', + 'Content-Type': 'application/json', + 'X-Requested-With': 'XMLHttpRequest', + }, + withCredentials: true, + }); } 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 */ @@ -29,18 +63,38 @@ }); } - /** 鑾峰彇鐢佃垂闈㈠�� GET /api/LifePay/GetElectricParValue */ - async getElectricParValue(options?: RequestConfig) { + /** 鑾峰彇鐢佃垂鍏呭�煎尯鍩� GET /api/LifePay/GetElectricSupportArea */ + async getElectricSupportArea(body: ChannelsBaseInput, options?: RequestConfig) { + return this.request<ElectricSupportAreaResponse>('/api/LifePay/GetElectricSupportArea', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); + } + + /** 鑾峰彇鐢佃垂闈㈠�� POST /api/LifePay/GetElectricParValue */ + async getElectricParValue(body: ChannelsBaseInput, options?: RequestConfig) { return this.request<ElectricParValueResponse>('/api/LifePay/GetElectricParValue', { - method: 'GET', + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, ...(options || {}), }); } /** 鑾峰彇璇濊垂闈㈠�� GET /api/LifePay/GetPhoneParValue */ - async getPhoneParValue(options?: RequestConfig) { + async getPhoneParValue(body: ChannelsBaseInput, options?: RequestConfig) { return this.request<PhoneParValueResponse>('/api/LifePay/GetPhoneParValue', { - method: 'GET', + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, ...(options || {}), }); } @@ -76,14 +130,15 @@ } /** 鏍规嵁璁㈠崟鍙疯幏鍙栨敮浠樼姸鎬� GET /api/LifePay/GetPayStatusByOrderNo */ - async getPayStatusByOrderNo(params: APIgetPayStatusByOrderNoParams, options?: RequestConfig) { + async getPayStatusByOrderNo(body: GetPayStatusByOrderNoInput, options?: RequestConfig) { return this.request<LifeRechargeConstants.LifePayStatusEnum>( '/api/LifePay/GetPayStatusByOrderNo', { - method: 'GET', - params: { - ...params, + method: 'POST', + headers: { + 'Content-Type': 'application/json', }, + data: body, ...(options || {}), } ); @@ -111,13 +166,242 @@ ...(options || {}), }); } + + /** 鑾峰彇鐢熸椿缂磋垂鐢ㄦ埛韬唤浼氳瘽淇℃伅 GET /api/Account/GetLifePayWxIndentity */ + async getLifePayWxIndentity( + // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄) + params: APIgetLifePayWxIndentityParams, + options?: RequestConfig + ) { + return this.request<WxMiniAppIndentityInfo>('/api/Account/GetLifePayWxIndentity', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); + } + + /** 鑾峰彇寰俊鏀粯鐨凧SAPI POST /api/LifePay/GetPayOrderForJsAPI */ + async getPayOrderForJsAPI(body: GetPayOrderForJsAPIInput, options?: RequestConfig) { + return this.request<ModelPaymentMiniPay>('/api/LifePay/GetPayOrderForJsAPI', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); + } + + /** 鑾峰彇鎴戠殑鍏ㄩ儴鎴峰彿鍒楄〃 POST /api/LifePay/GetUserAccountAllList */ + async getUserAccountAllList(body: QueryUserAccountAllListInput, options?: RequestConfig) { + return this.request<UserAccountListOutput[]>('/api/LifePay/GetUserAccountAllList', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); + } + + /** 鑾峰彇鎴戠殑鎴峰彿鍒楄〃 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', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); + } + + /** 鍒涘缓鐢熸椿缂磋垂鐕冩皵璁㈠崟 POST /api/LifePay/CreateLifePayGasOrder */ + async createLifePayGasOrder(body: LifeGasDataCreateLifePayOrderInput, options?: RequestConfig) { + return this.request<CreateLifePayOrderOutput>('/api/LifePay/CreateLifePayGasOrder', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); + } + + /** 鑾峰彇鐕冩皵闈㈠�� GET /api/LifePay/GetGasParValue */ + async getGasParValue(body: ChannelsBaseInput, options?: RequestConfig) { + return this.request<GasParValueResponse>('/api/LifePay/GetGasParValue', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(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 || {}), + }); + } + + /** 鍒犻櫎鎴戠殑鎴峰彿 POST /api/LifePay/DeleteUserAccount */ + async deleteUserAccount( + // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄) + params: APIdeleteUserAccountParams, + options?: RequestConfig + ) { + return this.request<number>('/api/LifePay/DeleteUserAccount', { + method: 'POST', + params: { + ...params, + }, + ...(options || {}), + }); + } + + /** 鑾峰彇鎴戠殑鎴峰彿璇︽儏 GET /api/LifePay/GetUserAccountDetail */ + async getUserAccountDetail( + // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄) + params: APIgetUserAccountDetailParams, + options?: RequestConfig + ) { + return this.request<UserAccountOutput>('/api/LifePay/GetUserAccountDetail', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); + } + + /** 鑾峰彇鎴戠殑璁㈠崟璇︽儏 GET /api/LifePay/GetUserLifePayOrderDetail */ + async getUserLifePayOrderDetail( + // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄) + params: APIgetUserLifePayOrderDetailParams, + options?: RequestConfig + ) { + return this.request<UserLifePayOrderOutput>('/api/LifePay/GetUserLifePayOrderDetail', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); + } + + /** 鎼滅储绠$悊--鍒楄〃(鍖哄煙绠$悊) GET /api/Area/GetRegionalManagementList */ + async getRegionalManagementList(options?: RequestConfig) { + return this.request<AreaInfo[]>('/api/Area/GetRegionalManagementList', { + method: 'GET', + ...(options || {}), + }); + } + + /** 鑾峰彇椤荤煡 GET /api/LifePay/GetIntroInfo */ + async getIntroInfo(params: APIgetIntroInfoParams, options?: RequestConfig) { + return this.request<LifePayIntroInfoOutput[]>('/api/LifePay/GetIntroInfo', { + method: 'GET', + params: { + ...params, + }, + ...(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 || {}), + }); + } + + /** 鑾峰彇鍦ㄧ嚎瀹㈡湇 GET /api/LifePay/GetOnlineService */ + async getOnlineService(options?: RequestConfig) { + return this.request<string>('/api/LifePay/GetOnlineService', { + method: 'GET', + ...(options || {}), + }); + } + + /** 鑾峰彇鍏ㄩ儴缂磋垂娓犻亾 GET /api/LifePay/GetLifePayChannlesAllList */ + async getLifePayChannlesAllList(body: QueryLifePayChannlesInput, options?: RequestConfig) { + return this.request<CreateEditPayChannelsInput[]>('/api/LifePay/GetLifePayChannlesAllList', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); + } + + /** 鏍规嵁鐢ㄦ埛ID鑾峰彇鐢ㄦ埛鏄惁涓哄悗鍙扮鐞嗗憳 POST /api/Account/LifePayUserMesssageByIduser */ + async lifePayUserMesssageByIduser( + body: LifePayUserMesssageByIduserInput, + options?: RequestConfig + ) { + return this.request<LifePayPhoneMesssageCodeLoginOutput>( + '/api/Account/LifePayUserMesssageByIduser', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + } + ); + } + + /** 鑾峰彇椤堕儴缁熻鏁版嵁 GET /api/LifePay/GetTopStatistics */ + async getTopStatistics( + // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄) + body: TopStatisticsInput, + options?: RequestConfig + ) { + return this.request<TopStatisticsOutput>('/api/LifePay/GetTopStatistics', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); + } } export interface PhoneMesssageCodeLoginInput { /** 鎵嬫満鍙� */ phoneNumber: string; /** 楠岃瘉鐮� */ - code: string; + // code: string; } export interface LifePayRateListOutput { @@ -174,6 +458,8 @@ export interface LifePhoneDataCreateLifePayOrderInput { userId?: string; + /** 娓犻亾Id */ + channelId?: string; productData?: LifePhoneData; } @@ -194,6 +480,8 @@ export interface LifeElectricDataCreateLifePayOrderInput { userId?: string; + /** 娓犻亾Id */ + channelId?: string; productData?: LifeElectricData; } @@ -283,4 +571,328 @@ creationTime?: string; /** 閫�娆炬椂闂� */ refundTime?: string; + /** 閫�娆剧敵璇锋椂闂� */ + refundApplyTime?: string; + /** 閫�娆惧嚟璇� */ + refundCredentialsImgUrl?: string; + refundApplyRemark?: string; + refundCheckRemark?: string; + /** 娓犻亾娴佹按鍙� */ + acoolyOrderNo?: string; + frontStatus?: LifeRechargeConstants.LifePayOrderFrontStatusEnum; + lifePayRefundStatus?: LifeRechargeConstants.LifePayRefundStatusEnum; + acoolyStatus?: LifeRechargeConstants.ACOOLYStatusEnum; +} + +export interface ElectricSupportAreaResponse { + success?: boolean; + requestNo?: string; + partnerId?: string; + service?: string; + version?: string; + protocol?: string; + context?: string; + ext?: any; + code?: string; + message?: string; + detail?: string; + electricAreaList?: ElectricSupportAreaListOutput[]; +} + +export interface ElectricSupportAreaListOutput { + childCityList?: ElectricSupportAreaChildCityListOutput[]; + cityName?: string; + cityParentId?: string; + ciytId?: string; + electricType?: string; + parValue?: string[]; + rate?: number; +} + +export interface ElectricSupportAreaChildCityListOutput { + cityName?: string; + cityParentId?: string; + ciytId?: string; +} +export interface APIgetLifePayWxIndentityParams { + /** 鐢ㄦ埛鐧诲綍鍑瘉 */ + code?: string; +} + +export interface WxMiniAppIndentityInfo { + /** 浼氳瘽瀵嗛挜 */ + sessionKey?: string; + /** 灏忕▼搴廜penId */ + openId?: string; + /** 鐢ㄦ埛鍚嶏紙璇ュ�间负绌哄垯闇�鎵嬫満鎺堟潈鐧诲綍锛屼笉涓虹┖鍒欏凡鏈夎灏忕▼搴忕敤鎴凤級 */ + userName?: string; + unionId?: string; +} + +export interface GetPayOrderForJsAPIInput { + orderNo: string; + lifePayType?: LifeRechargeConstants.LifePayTypeEnum; + openId?: string; + attach?: string; + payAppId?: string; +} + +export interface ModelPaymentMiniPay { + nonceStr?: string; + package?: string; + signType?: string; + paySign?: string; + timestamp?: string; + timeExpire?: string; + message?: string; +} + +export interface QueryUserAccountAllListInput { + /** 鐢ㄦ埛Id */ + userId?: string; + lifePayOrderType?: LifeRechargeConstants.LifePayOrderTypeEnum; +} + +export interface UserAccountListOutput { + id?: string; + lifePayType?: LifeRechargeConstants.LifePayOrderTypeEnum; + /** 杩愯惀鍟� */ + operators?: string; + /** 鎵嬫満鍙�/鎴峰彿 */ + content?: string; + /** 鐪� */ + province?: string; + /** 甯� */ + city?: string; + /** 鎷撳睍瀛楁锛堢數璐圭被鍨嬶級 */ + extraProperties?: string; + /** 澶囨敞 */ + remark?: string; + /** 鍒涘缓鏃堕棿 */ + creationTime?: string; + isDeleted?: boolean; +} + +export interface AddUpdateUserAccountInput { + id?: string; + /** 鐢ㄦ埛缂栧彿 */ + userId?: string; + lifePayType?: LifeRechargeConstants.LifePayOrderTypeEnum; + /** 杩愯惀鍟� */ + operators?: string; + /** 鎵嬫満鍙�/鎴峰彿 */ + content?: string; + /** 鐪� */ + province?: string; + /** 甯� */ + city?: string; + /** 鎷撳睍瀛楁锛堢數璐圭被鍨嬶級 */ + extraProperties?: string; + /** 澶囨敞 */ + remark?: string; +} + +export interface LifeGasDataCreateLifePayOrderInput { + userId?: string; + /** 娓犻亾Id */ + channelId?: string; + productData?: LifeGasData; +} + +export interface LifeGasData { + /** 鍏呭�奸潰棰濓紝鍗曚綅涓哄厓銆� */ + parValue: number; + /** 澶╃劧姘斿叕鍙哥被鍨嬶紝"zhong_ran"浠h〃涓噧鐕冩皵锛�"bei_jing"浠h〃鍖椾含鐕冩皵銆� */ + gasOrgType: string; + /** 鐕冩皵鎴峰彿 */ + gasAccount: string; + /** 鐪佷唤 */ + province: string; + /** 鍩庡競 */ + city?: string; +} + +export interface GasParValueResponse { + success?: boolean; + requestNo?: string; + partnerId?: string; + service?: string; + version?: string; + protocol?: string; + context?: string; + ext?: any; + code?: string; + message?: string; + detail?: string; + gasParValue?: GasParValueOutput[]; +} + +export interface GasParValueOutput { + gasOrgName?: string; + gasOrgCode?: string; + parValue?: string[]; + 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[]; +} + +export interface APIdeleteUserAccountParams { + id?: string; +} + +export interface APIgetUserAccountDetailParams { + id?: string; +} + +export interface UserAccountOutput { + id?: string; + lifePayType?: LifeRechargeConstants.LifePayOrderTypeEnum; + /** 杩愯惀鍟� */ + operators?: string; + /** 鎵嬫満鍙�/鎴峰彿 */ + content?: string; + /** 鐪� */ + province?: string; + /** 甯� */ + city?: string; + /** 鎷撳睍瀛楁锛堢數璐圭被鍨嬶級 */ + extraProperties?: string; + /** 澶囨敞 */ + remark?: string; + /** 鍒涘缓鏃堕棿 */ + creationTime?: string; + isDeleted?: boolean; +} + +export interface APIgetUserLifePayOrderDetailParams { + orderNo?: string; +} + +export interface ChannelsBaseInput { + checkChannelId?: string; +} + +export interface AreaInfo { + areaCode?: number; + parentId?: number; + areaName?: string; + /** 1鐪� 2甯� 3鍖� 4闀� */ + layer?: number; + sort?: number; + children?: AreaInfo[]; + /** 绠�鏄撴嫾闊� */ + simpleSpelling?: string; + /** 蹇�熸绱� */ + quickQuery?: string; +} + +export interface GetPayStatusByOrderNoInput { + checkChannelId?: string; + orderNo?: string; +} + +export interface APIgetIntroInfoParams { + type?: LifeRechargeConstants.LifePayOrderTypeEnum; +} + +export interface LifePayIntroInfoOutput { + type?: IntroInfoTypeEnum; + lifePayType?: LifeRechargeConstants.LifePayOrderTypeEnum; + /** 鎽樿 */ + contentSummary?: string; + /** 鏂囨湰鍐呭 */ + content?: string; + /** 鍥剧墖/瑙嗛璺緞 */ + path?: string; + /** 鎺掑簭 */ + sequence?: number; +} + +export type IntroInfoTypeEnum = 0 | 1 | 2 | 3 | 4; + +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?: ChannelOutput[]; +} + +export interface ChannelOutput { + name?: string; + channlesNum?: string; + channlesId?: string; + switchType?: LifeRechargeConstants.LifePaySwitchTypeEnum; +} + +export interface LifePayUserMesssageByIduserInput { + pageModel?: Pagination; + checkChannelId?: string; + /** 鐢ㄦ埛缂栧彿 */ + id?: string; +} + +export interface TopStatisticsInput { + channleList?: string[]; +} + +export interface TopStatisticsOutput { + /** 鍒涘缓鏃堕棿 */ + creationTime?: string; + /** 璐︽埛浣欓 */ + amount?: number; + /** 绱鏀舵 */ + accumulatedReceipts?: number; + /** 鏄ㄦ棩鏀舵 */ + receiptsYesterday?: number; + /** 绱鏀跺叆 */ + accumulatedIncome?: number; + /** 绱涓嬪崟 */ + accumulatedOrders?: number; + /** 鏄ㄦ棩涓嬪崟 */ + ordersNumYesterday?: number; + /** 鏄ㄦ棩鎴愬姛 */ + yesterdaySuccess?: number; + /** 鏄ㄦ棩澶辫触 */ + yesterdayFail?: number; + /** 绱鐢ㄦ埛 */ + accumulatedUsers?: number; + /** 鏄ㄦ棩娲昏穬鐢ㄦ埛 */ + yesterdayActiveUsers?: number; +} + +export interface QueryLifePayChannlesInput { + status?: LifeRechargeConstants.LifePayChannelsStatsEnum; } -- Gitblit v1.9.1