feat: 添加账户统计

This commit is contained in:
danial
2025-03-15 22:41:06 +08:00
parent 32b799a42d
commit 4ee0b09781
9 changed files with 400 additions and 10 deletions

View File

@@ -261,6 +261,7 @@ models/kami-api-sys-user-login-v1-user-login-res.ts
models/kami-api-sys-user-login-v1-user-menus.ts
models/kami-api-sys-user-v1-channel-type.ts
models/kami-api-sys-user-v1-login-user-record.ts
models/kami-api-sys-user-v1-sys-user-record.ts
models/kami-api-sys-user-v1-sys-user-role-dept-res.ts
models/kami-api-sys-user-v1-sys-user-simple-res.ts
models/kami-api-sys-user-v1-totp-image-get-req.ts

View File

@@ -4711,16 +4711,32 @@ export const DefaultApiAxiosParamCreator = function (
/**
*
* @summary 每日汇总
* @param {number} current 页数
* @param {ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum} pageSize 页码
* @param {string} [accountId] 用户
* @param {string} [date] 日期
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
apiCardInfoWalmartAccountDailySummaryGet: async (
current: number,
pageSize: ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum,
accountId?: string,
date?: string,
options: RawAxiosRequestConfig = {}
): Promise<RequestArgs> => {
// verify required parameter 'current' is not null or undefined
assertParamExists(
'apiCardInfoWalmartAccountDailySummaryGet',
'current',
current
);
// verify required parameter 'pageSize' is not null or undefined
assertParamExists(
'apiCardInfoWalmartAccountDailySummaryGet',
'pageSize',
pageSize
);
const localVarPath = `/api/cardInfo/walmart/account/dailySummary`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -4737,6 +4753,14 @@ export const DefaultApiAxiosParamCreator = function (
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
if (current !== undefined) {
localVarQueryParameter['current'] = current;
}
if (pageSize !== undefined) {
localVarQueryParameter['pageSize'] = pageSize;
}
if (accountId !== undefined) {
localVarQueryParameter['accountId'] = accountId;
}
@@ -5097,16 +5121,32 @@ export const DefaultApiAxiosParamCreator = function (
/**
*
* @summary 下载充值账户
* @param {number} current 页数
* @param {ApiCardInfoWalmartAccountSummaryDownloadGetPageSizeEnum} pageSize 页码
* @param {string} [accountId] 用户
* @param {string} [date] 日期
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
apiCardInfoWalmartAccountSummaryDownloadGet: async (
current: number,
pageSize: ApiCardInfoWalmartAccountSummaryDownloadGetPageSizeEnum,
accountId?: string,
date?: string,
options: RawAxiosRequestConfig = {}
): Promise<RequestArgs> => {
// verify required parameter 'current' is not null or undefined
assertParamExists(
'apiCardInfoWalmartAccountSummaryDownloadGet',
'current',
current
);
// verify required parameter 'pageSize' is not null or undefined
assertParamExists(
'apiCardInfoWalmartAccountSummaryDownloadGet',
'pageSize',
pageSize
);
const localVarPath = `/api/cardInfo/walmart/account/summaryDownload`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -5123,6 +5163,14 @@ export const DefaultApiAxiosParamCreator = function (
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
if (current !== undefined) {
localVarQueryParameter['current'] = current;
}
if (pageSize !== undefined) {
localVarQueryParameter['pageSize'] = pageSize;
}
if (accountId !== undefined) {
localVarQueryParameter['accountId'] = accountId;
}
@@ -12652,12 +12700,16 @@ export const DefaultApiFp = function (configuration?: Configuration) {
/**
*
* @summary 每日汇总
* @param {number} current 页数
* @param {ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum} pageSize 页码
* @param {string} [accountId] 用户
* @param {string} [date] 日期
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async apiCardInfoWalmartAccountDailySummaryGet(
current: number,
pageSize: ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum,
accountId?: string,
date?: string,
options?: RawAxiosRequestConfig
@@ -12669,6 +12721,8 @@ export const DefaultApiFp = function (configuration?: Configuration) {
> {
const localVarAxiosArgs =
await localVarAxiosParamCreator.apiCardInfoWalmartAccountDailySummaryGet(
current,
pageSize,
accountId,
date,
options
@@ -12896,12 +12950,16 @@ export const DefaultApiFp = function (configuration?: Configuration) {
/**
*
* @summary 下载充值账户
* @param {number} current 页数
* @param {ApiCardInfoWalmartAccountSummaryDownloadGetPageSizeEnum} pageSize 页码
* @param {string} [accountId] 用户
* @param {string} [date] 日期
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async apiCardInfoWalmartAccountSummaryDownloadGet(
current: number,
pageSize: ApiCardInfoWalmartAccountSummaryDownloadGetPageSizeEnum,
accountId?: string,
date?: string,
options?: RawAxiosRequestConfig
@@ -12910,6 +12968,8 @@ export const DefaultApiFp = function (configuration?: Configuration) {
> {
const localVarAxiosArgs =
await localVarAxiosParamCreator.apiCardInfoWalmartAccountSummaryDownloadGet(
current,
pageSize,
accountId,
date,
options
@@ -17581,18 +17641,28 @@ export const DefaultApiFactory = function (
/**
*
* @summary 每日汇总
* @param {number} current 页数
* @param {ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum} pageSize 页码
* @param {string} [accountId] 用户
* @param {string} [date] 日期
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
apiCardInfoWalmartAccountDailySummaryGet(
current: number,
pageSize: ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum,
accountId?: string,
date?: string,
options?: RawAxiosRequestConfig
): AxiosPromise<KamiApiCardInfoWalmartV1AccountDailySummaryRes> {
return localVarFp
.apiCardInfoWalmartAccountDailySummaryGet(accountId, date, options)
.apiCardInfoWalmartAccountDailySummaryGet(
current,
pageSize,
accountId,
date,
options
)
.then(request => request(axios, basePath));
},
/**
@@ -17714,18 +17784,28 @@ export const DefaultApiFactory = function (
/**
*
* @summary 下载充值账户
* @param {number} current 页数
* @param {ApiCardInfoWalmartAccountSummaryDownloadGetPageSizeEnum} pageSize 页码
* @param {string} [accountId] 用户
* @param {string} [date] 日期
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
apiCardInfoWalmartAccountSummaryDownloadGet(
current: number,
pageSize: ApiCardInfoWalmartAccountSummaryDownloadGetPageSizeEnum,
accountId?: string,
date?: string,
options?: RawAxiosRequestConfig
): AxiosPromise<object> {
return localVarFp
.apiCardInfoWalmartAccountSummaryDownloadGet(accountId, date, options)
.apiCardInfoWalmartAccountSummaryDownloadGet(
current,
pageSize,
accountId,
date,
options
)
.then(request => request(axios, basePath));
},
/**
@@ -21064,6 +21144,8 @@ export class DefaultApi extends BaseAPI {
/**
*
* @summary 每日汇总
* @param {number} current 页数
* @param {ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum} pageSize 页码
* @param {string} [accountId] 用户
* @param {string} [date] 日期
* @param {*} [options] Override http request option.
@@ -21071,12 +21153,20 @@ export class DefaultApi extends BaseAPI {
* @memberof DefaultApi
*/
public apiCardInfoWalmartAccountDailySummaryGet(
current: number,
pageSize: ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum,
accountId?: string,
date?: string,
options?: RawAxiosRequestConfig
) {
return DefaultApiFp(this.configuration)
.apiCardInfoWalmartAccountDailySummaryGet(accountId, date, options)
.apiCardInfoWalmartAccountDailySummaryGet(
current,
pageSize,
accountId,
date,
options
)
.then(request => request(this.axios, this.basePath));
}
@@ -21209,6 +21299,8 @@ export class DefaultApi extends BaseAPI {
/**
*
* @summary 下载充值账户
* @param {number} current 页数
* @param {ApiCardInfoWalmartAccountSummaryDownloadGetPageSizeEnum} pageSize 页码
* @param {string} [accountId] 用户
* @param {string} [date] 日期
* @param {*} [options] Override http request option.
@@ -21216,12 +21308,20 @@ export class DefaultApi extends BaseAPI {
* @memberof DefaultApi
*/
public apiCardInfoWalmartAccountSummaryDownloadGet(
current: number,
pageSize: ApiCardInfoWalmartAccountSummaryDownloadGetPageSizeEnum,
accountId?: string,
date?: string,
options?: RawAxiosRequestConfig
) {
return DefaultApiFp(this.configuration)
.apiCardInfoWalmartAccountSummaryDownloadGet(accountId, date, options)
.apiCardInfoWalmartAccountSummaryDownloadGet(
current,
pageSize,
accountId,
date,
options
)
.then(request => request(this.axios, this.basePath));
}
@@ -23140,6 +23240,19 @@ export type ApiCardInfoOriginalJDCardAccountGetWalletListGetPageSizeEnum =
/**
* @export
*/
export const ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum = {
NUMBER_5: 5,
NUMBER_10: 10,
NUMBER_15: 15,
NUMBER_20: 20,
NUMBER_50: 50,
NUMBER_100: 100
} as const;
export type ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum =
(typeof ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum)[keyof typeof ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum];
/**
* @export
*/
export const ApiCardInfoWalmartAccountGetListGetPageSizeEnum = {
NUMBER_5: 5,
NUMBER_10: 10,
@@ -23166,6 +23279,19 @@ export type ApiCardInfoWalmartAccountGetWalletListGetPageSizeEnum =
/**
* @export
*/
export const ApiCardInfoWalmartAccountSummaryDownloadGetPageSizeEnum = {
NUMBER_5: 5,
NUMBER_10: 10,
NUMBER_15: 15,
NUMBER_20: 20,
NUMBER_50: 50,
NUMBER_100: 100
} as const;
export type ApiCardInfoWalmartAccountSummaryDownloadGetPageSizeEnum =
(typeof ApiCardInfoWalmartAccountSummaryDownloadGetPageSizeEnum)[keyof typeof ApiCardInfoWalmartAccountSummaryDownloadGetPageSizeEnum];
/**
* @export
*/
export const ApiCardInfoWalmartOrderListGetPageSizeEnum = {
NUMBER_5: 5,
NUMBER_10: 10,

View File

@@ -250,6 +250,7 @@ export * from './kami-api-sys-user-login-v1-user-login-res';
export * from './kami-api-sys-user-login-v1-user-menus';
export * from './kami-api-sys-user-v1-channel-type';
export * from './kami-api-sys-user-v1-login-user-record';
export * from './kami-api-sys-user-v1-sys-user-record';
export * from './kami-api-sys-user-v1-sys-user-role-dept-res';
export * from './kami-api-sys-user-v1-sys-user-simple-res';
export * from './kami-api-sys-user-v1-totp-image-get-req';

View File

@@ -15,6 +15,9 @@
// May contain unused imports in some cases
// @ts-ignore
import type { KamiApiCardInfoWalmartV1CardRedeemAccountSummary } from './kami-api-card-info-walmart-v1-card-redeem-account-summary';
// May contain unused imports in some cases
// @ts-ignore
import type { KamiApiSysUserV1SysUserRecord } from './kami-api-sys-user-v1-sys-user-record';
/**
*
@@ -28,6 +31,12 @@ export interface KamiApiCardInfoWalmartV1AccountDailySummaryRecord {
* @memberof KamiApiCardInfoWalmartV1AccountDailySummaryRecord
*/
dailySummary?: KamiApiCardInfoWalmartV1CardRedeemAccountSummary;
/**
*
* @type {KamiApiSysUserV1SysUserRecord}
* @memberof KamiApiCardInfoWalmartV1AccountDailySummaryRecord
*/
uploadUser?: KamiApiSysUserV1SysUserRecord;
/**
*
* @type {string}

View File

@@ -1,5 +1,5 @@
/* tslint:disable */
/* eslint-disable */
/**
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
@@ -18,6 +18,18 @@
* @interface KamiApiCardInfoWalmartV1AccountDailySummaryReq
*/
export interface KamiApiCardInfoWalmartV1AccountDailySummaryReq {
/**
* 页数
* @type {number}
* @memberof KamiApiCardInfoWalmartV1AccountDailySummaryReq
*/
current: number;
/**
* 页码
* @type {number}
* @memberof KamiApiCardInfoWalmartV1AccountDailySummaryReq
*/
pageSize: KamiApiCardInfoWalmartV1AccountDailySummaryReqPageSizeEnum;
/**
* 用户
* @type {string}
@@ -31,3 +43,15 @@ export interface KamiApiCardInfoWalmartV1AccountDailySummaryReq {
*/
date?: string;
}
export const KamiApiCardInfoWalmartV1AccountDailySummaryReqPageSizeEnum = {
NUMBER_5: 5,
NUMBER_10: 10,
NUMBER_15: 15,
NUMBER_20: 20,
NUMBER_50: 50,
NUMBER_100: 100
} as const;
export type KamiApiCardInfoWalmartV1AccountDailySummaryReqPageSizeEnum =
(typeof KamiApiCardInfoWalmartV1AccountDailySummaryReqPageSizeEnum)[keyof typeof KamiApiCardInfoWalmartV1AccountDailySummaryReqPageSizeEnum];

View File

@@ -1,5 +1,5 @@
/* tslint:disable */
/* eslint-disable */
/**
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
@@ -18,6 +18,18 @@
* @interface KamiApiCardInfoWalmartV1AccountSummaryDownloadReq
*/
export interface KamiApiCardInfoWalmartV1AccountSummaryDownloadReq {
/**
* 页数
* @type {number}
* @memberof KamiApiCardInfoWalmartV1AccountSummaryDownloadReq
*/
current: number;
/**
* 页码
* @type {number}
* @memberof KamiApiCardInfoWalmartV1AccountSummaryDownloadReq
*/
pageSize: KamiApiCardInfoWalmartV1AccountSummaryDownloadReqPageSizeEnum;
/**
* 用户
* @type {string}
@@ -31,3 +43,15 @@ export interface KamiApiCardInfoWalmartV1AccountSummaryDownloadReq {
*/
date?: string;
}
export const KamiApiCardInfoWalmartV1AccountSummaryDownloadReqPageSizeEnum = {
NUMBER_5: 5,
NUMBER_10: 10,
NUMBER_15: 15,
NUMBER_20: 20,
NUMBER_50: 50,
NUMBER_100: 100
} as const;
export type KamiApiCardInfoWalmartV1AccountSummaryDownloadReqPageSizeEnum =
(typeof KamiApiCardInfoWalmartV1AccountSummaryDownloadReqPageSizeEnum)[keyof typeof KamiApiCardInfoWalmartV1AccountSummaryDownloadReqPageSizeEnum];

View File

@@ -0,0 +1,39 @@
/* tslint:disable */
/**
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document:
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
* @interface KamiApiSysUserV1SysUserRecord
*/
export interface KamiApiSysUserV1SysUserRecord {
/**
* 主键
* @type {string}
* @memberof KamiApiSysUserV1SysUserRecord
*/
id?: string;
/**
* 账号
* @type {string}
* @memberof KamiApiSysUserV1SysUserRecord
*/
username?: string;
/**
* 昵称
* @type {string}
* @memberof KamiApiSysUserV1SysUserRecord
*/
nickName?: string;
}

View File

@@ -0,0 +1,170 @@
import { apiClient } from '@/api';
import type {
KamiApiCardInfoWalmartV1AccountDailySummaryRecord,
ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum
} from '@/api/generated';
import type { Pagination } from '@/types/global';
import {
Button,
Card,
Col,
DatePicker,
Divider,
Form,
FormItem,
Input,
Row,
Space,
Table,
type TableColumnData
} from '@arco-design/web-vue';
import { defineComponent, onMounted, reactive, ref } from 'vue';
interface IformData {
accountId: string;
username: string;
date: string;
}
export default defineComponent({
name: 'userManagementSummary',
setup() {
const generateFormModel = (): IformData => {
return {
username: '',
accountId: '',
date: null
};
};
const formModel = ref(generateFormModel());
const basePagination: Pagination = {
current: 1,
pageSize: 50
};
const pagination = reactive({
...basePagination
});
const columns: TableColumnData[] = [
{
title: '序号',
render(data) {
return data.rowIndex + 1;
}
},
{
title: '用户名',
dataIndex: 'name'
},
{
title: '余额',
dataIndex: 'balance'
},
{
title: '今日充值金额',
dataIndex: 'dailySummary.amountTodaySum'
},
{
title: '今日充值次数',
dataIndex: 'dailySummary.amountTodayCount'
},
{
title: '累计充值金额',
dataIndex: 'dailySummary.amountTotalSum'
},
{
title: '累计充值次数',
dataIndex: 'dailySummary.amountTotalCount'
},
{
title: '上传人',
dataIndex: 'uploadUser.nickName'
},
{
title: '日期',
dataIndex: 'dailySummary.datete'
}
];
const tableData = ref<KamiApiCardInfoWalmartV1AccountDailySummaryRecord[]>(
[]
);
const fetchData = (
page: Pagination = pagination,
params: IformData = formModel.value
) => {
apiClient
.apiCardInfoWalmartAccountDailySummaryGet(
page.current,
page.pageSize as ApiCardInfoWalmartAccountDailySummaryGetPageSizeEnum,
params.accountId,
params.date
)
.then(res => {
tableData.value = res.data.list;
pagination.total = res.data.total;
});
};
const reset = () => {
formModel.value = generateFormModel();
};
onMounted(() => {
fetchData();
});
return () => (
<Card class='general-card' title='核销统计'>
<Row>
<Col flex={1}>
<Form model={formModel}>
<Row gutter={16}>
<Col span={8}>
<FormItem field='username' label='用户名'>
<Input
v-model={formModel.value.username}
placeholder='请输入用户名'
/>
</FormItem>
</Col>
<Col span={16}>
<FormItem field='date' label='查询日期'>
<DatePicker v-model={formModel.value.date} />
</FormItem>
</Col>
</Row>
</Form>
</Col>
<Divider style='height: 42px' direction='vertical' />
<Col flex='172px' style='text-align: right'>
<Space direction='horizontal' size={18}>
<Button
type='primary'
onClick={() => fetchData()}
v-slots={{
icon: () => <icon-search />
}}
>
</Button>
<Button
onClick={reset}
v-slots={{
icon: () => <icon-refresh />
}}
>
</Button>
</Space>
</Col>
</Row>
<Table
columns={columns}
data={tableData.value}
pagination={pagination}
onPageChange={(current: number) => {
pagination.current = current;
fetchData();
}}
/>
</Card>
);
}
});

View File

@@ -1,7 +1,3 @@
// import {
// queryUserPaymentSummaryList,
// type UserPaymentListParams
// } from '@/api/sys-user-payment';
import { apiClient } from '@/api';
import type {
ApiSysUserPaymentSummaryListGetPageSizeEnum,