111
build / task (16.x, npm, macOS-latest) (push) Canceled after 0s
build / task (16.x, npm, ubuntu-latest) (push) Canceled after 0s
build / task (16.x, npm, windows-latest) (push) Canceled after 0s
build / task (16.x, pnpm, macOS-latest) (push) Canceled after 0s
build / task (16.x, pnpm, ubuntu-latest) (push) Canceled after 0s
build / task (16.x, pnpm, windows-latest) (push) Canceled after 0s
build / task (16.x, yarn, macOS-latest) (push) Canceled after 0s
build / task (16.x, yarn, ubuntu-latest) (push) Canceled after 0s
build / task (16.x, yarn, windows-latest) (push) Canceled after 0s
build / task (18.x, npm, macOS-latest) (push) Canceled after 0s
build / task (18.x, npm, ubuntu-latest) (push) Canceled after 0s
build / task (18.x, npm, windows-latest) (push) Canceled after 0s
build / task (18.x, pnpm, macOS-latest) (push) Canceled after 0s
build / task (18.x, pnpm, ubuntu-latest) (push) Canceled after 0s
build / task (18.x, pnpm, windows-latest) (push) Canceled after 0s
build / task (18.x, yarn, macOS-latest) (push) Canceled after 0s
build / task (18.x, yarn, ubuntu-latest) (push) Canceled after 0s
build / task (18.x, yarn, windows-latest) (push) Canceled after 0s
build / task (20.x, npm, macOS-latest) (push) Canceled after 0s
build / task (20.x, npm, ubuntu-latest) (push) Canceled after 0s
build / task (20.x, npm, windows-latest) (push) Canceled after 0s
build / task (20.x, pnpm, macOS-latest) (push) Canceled after 0s
build / task (20.x, pnpm, ubuntu-latest) (push) Canceled after 0s
build / task (20.x, pnpm, windows-latest) (push) Canceled after 0s
build / task (20.x, yarn, macOS-latest) (push) Canceled after 0s
build / task (20.x, yarn, ubuntu-latest) (push) Canceled after 0s
build / task (20.x, yarn, windows-latest) (push) Canceled after 0s

This commit is contained in:
dzc committed 2026-10-21 19:40:17 +08:00
1 parent cce677e3ff
commit 530cfcd939
42 files changed
+3951 -483

No files matched your search

+4
View File
@@ -1,3 +1,4 @@
import { submitExportTask } from "/@/api/asyncTask"
import request from "/@/utils/request"
/**
@@ -165,3 +166,6 @@ export function getSimpleUserAll(params?: { name?: string; mobile?: string; user
params,
})
}
/** 按原筛选条件提交后台分批导出。 */
export const submitUserExport = (query: Record<string, unknown>) => submitExportTask("/admin/user/export-async", query)
+84
View File
@@ -0,0 +1,84 @@
import request from "/@/utils/request"
/** 通用异步任务进度状态,由后端 Redis 进度接口返回。 */
export interface AsyncTaskProgress {
/** 提交接口返回的不透明任务 ID。 */
taskId: string
/** 业务 Redis Key 命名空间,不包含租户、用户等服务端隔离信息。 */
redisKey: string
/** 任务展示名称。 */
taskName: string
/** 固定状态编码:PENDING、RUNNING、SUCCESS、FAILED。 */
status: string
/** 本次任务需要处理的总项目数。 */
total: number
/** 当前已经处理的项目数。 */
completed: number
/** 当前完成百分比,取值为 0 至 100。 */
percentage: number
/** 当前进度或最终结果说明。 */
message: string
/** 是否已进入成功或失败终态。 */
finished: boolean
/** 终态是否成功;任务未结束时为 false。 */
success: boolean
/** 导出等任务成功后生成的文件下载地址;导入任务为空。 */
resultFileUrl?: string
/** 导出等任务成功后建议使用的下载文件名称;导入任务为空。 */
resultFileName?: string
}
/** 通用异步任务轮询配置,导入、导出等业务只需提供自身命名空间和必要覆盖项。 */
export interface AsyncTaskPollingConfig {
/** 通用进度查询接口地址。 */
progressUrl: string
/** 当前业务使用的 Redis Key 命名空间。 */
redisKey: string
/** 提交接口响应数据中的任务 ID 字段名,默认 taskId。 */
taskIdField?: string
/** 两次进度查询之间的间隔,单位毫秒,默认 1000。 */
pollIntervalMs?: number
/** 单次持续轮询的最长时间,单位毫秒,默认 2 小时。 */
pollTimeoutMs?: number
/** 连续查询失败多少次后暂停轮询并允许用户重试,默认 5 次。 */
maxConsecutiveErrors?: number
/** 是否等任务进入终态或轮询中断后再显示弹窗,默认 false。 */
showDialogOnFinished?: boolean
/** 任务执行期间展示的等待提示;为空时不额外展示。 */
waitingMessage?: string
/** 成功终态存在结果文件时的下载按钮文案,默认“下载结果”。 */
downloadButtonText?: string
/** 任务成功后由业务组件展示的覆盖文案。 */
successMessage?: string
/** 任务失败后由业务组件展示的覆盖文案。 */
failureMessage?: string
}
/** 通用异步任务进度查询参数。 */
export interface AsyncTaskProgressQuery {
/** 业务 Redis Key 命名空间。 */
redisKey: string
/** 提交接口返回的任务 ID。 */
taskId: string
}
/**
* 查询当前登录用户创建的异步任务进度。
*
* @param progressUrl 业务配置的通用进度接口地址
* @param query Redis Key 命名空间和任务 ID
* @returns 包含当前任务进度的统一响应
*/
export const getAsyncTaskProgress = (progressUrl: string, query: AsyncTaskProgressQuery) => {
return request({
url: progressUrl,
method: "get",
params: query,
})
}
/** 提交导出快照;仅透传原有排序参数,分页由服务端导出批次控制。 */
export const submitExportTask = (url: string, query: Record<string, unknown>) => request({
url, method: "post", data: query,
params: { ascs: query.ascs, descs: query.descs },
})
+60 -41
View File
@@ -1,3 +1,4 @@
import { submitExportTask } from "/@/api/asyncTask"
import request from "/@/utils/request"
/** 订单详情中的单张识别证据,字段来自 HardOrderEvidenceImageVo。 */
@@ -54,58 +55,73 @@ export interface HardOrderDetail {
[key: string]: unknown
}
/** 订单列表统计查询条件;字段与订单分页筛选保持一致。 */
export type HardOrderStatisticsQuery = Record<string, any>
/** 与订单列表一致的筛选条件,不含分页、排序和勾选记录。 */
export type HardOrderStatisticsQuery = Record<string, unknown>
/** 订单按餐段汇总的统计,金额单位均为分。 */
export interface HardOrderMealStatistics {
/** 餐段字典编码;历史订单未记录时为空。 */
hourType?: string | null
/** 订单数。 */
orderCount?: number
/** 购物车商品份数。 */
productCount?: number
/** 商品总价。 */
totalPrice?: number
/** 额外支付。 */
extraPrice?: number
/** 配送费。 */
deliveryPrice?: number
/** 实际支付。 */
payPrice?: number
/** 已退款金额。 */
refundPrice?: number
/** 订单实际金额,即实际支付减已退款。 */
actualPrice?: number
}
/** 订单统计通用汇总,金额单位均为分。 */
/** 金额为整数分字符串;计数为字符串,避免累计精度丢失。 */
export interface HardOrderStatisticsSummary {
orderCount?: number
productCount?: number
totalPrice?: number
extraPrice?: number
deliveryPrice?: number
payPrice?: number
refundPrice?: number
actualPrice?: number
meals?: HardOrderMealStatistics[]
orderCount: string
totalPrice: string
extraPrice: string
couponPrice: string
payPrice: string
refundPrice: string
netPrice: string
}
/** 订单按预计使用日期拆分的统计。 */
export interface HardOrderDailyStatistics extends HardOrderStatisticsSummary {
date?: string
date: string
}
export interface HardOrderPayTypeStatistics extends HardOrderStatisticsSummary {
payType: string | null
}
export interface HardOrderMerchantStatistics extends HardOrderStatisticsSummary {
merchantId: string | null
merchantName: string
}
export interface HardOrderStatisticsData {
summary: HardOrderStatisticsSummary
daily: HardOrderDailyStatistics[]
payTypes: HardOrderPayTypeStatistics[]
withoutPayTime: HardOrderStatisticsSummary
generatedAt: string
}
/** 订单统计接口统一响应。 */
export interface HardOrderStatisticsResponse {
data: {
total?: HardOrderStatisticsSummary
daily?: HardOrderDailyStatistics[]
}
data: HardOrderStatisticsData
msg?: string
}
export interface HardOrderMerchantStatisticsPage {
records: HardOrderMerchantStatistics[]
current: number
size: number
hasMore: boolean
generatedAt: string
}
export function statistics(query: HardOrderStatisticsQuery) {
return request<HardOrderStatisticsData, HardOrderStatisticsResponse>({
url: "/hard/hard-order/statistics",
method: "post",
data: query,
timeout: 25000,
})
}
export function merchantStatistics(query: HardOrderStatisticsQuery, current = 1, size = 20) {
return request<HardOrderMerchantStatisticsPage, { data: HardOrderMerchantStatisticsPage }>({
url: "/hard/hard-order/statistics/merchants",
method: "post",
params: { current, size },
data: query,
timeout: 25000,
})
}
/**
* 离线订单手动支付
*/
@@ -207,3 +223,6 @@ export function putObj(obj?: Object) {
data: obj,
})
}
/** 按原筛选条件提交后台分批导出。 */
export const submitExport = (query: Record<string, unknown>) => submitExportTask("/hard/hard-order/export-async", query)
+87
View File
@@ -0,0 +1,87 @@
import request from "/@/utils/request"
export type ThirdOrderId = string | number
/** 第三方应用支付写入的硬件底单,所有金额均为分。 */
export interface ThirdOrder {
id: ThirdOrderId
orderNo?: string
orderType: string
orderStatus: string
payType?: string
userId?: ThirdOrderId
username?: string
userMobile?: string
userAvatar?: string
userDeptName?: string
merchantId?: ThirdOrderId
merchantName?: string
merchantType?: string
walletId?: ThirdOrderId
walletTypeUniqueCode?: string
parentCarId?: ThirdOrderId
productDesc?: string
totalPrice?: number
extraPrice?: number
payPrice?: number
refundPrice?: number
refundStatus?: string
payRefundId?: ThirdOrderId
afterSaleNo?: string
createTime?: string
payTime?: string
refundTime?: string
updateTime?: string
}
export interface ThirdOrderProduct {
id: ThirdOrderId
productName?: string
productPrice?: number
productCount?: number
totalPrice?: number
}
export interface ThirdOrderRefund {
id: ThirdOrderId
no?: string
status: string
refundPrice?: number
applyReason?: string
applyDescription?: string
auditReason?: string
createTime?: string
auditTime?: string
refundTime?: string
}
export interface ThirdOrderDetail {
order: ThirdOrder
products: ThirdOrderProduct[]
refunds: ThirdOrderRefund[]
}
export interface ThirdOrderRefundParams {
orderId: ThirdOrderId
refundPrice: number
requestNo: string
applyReason: string
applyDescription?: string
}
export function page(query: Record<string, unknown>) {
return request({
url: "/hard/hard-third-order/page",
method: "post",
params: { current: query.current, size: query.size },
data: query,
})
}
export function detail(id: ThirdOrderId) {
return request({ url: `/hard/hard-third-order/${id}`, method: "get" })
}
export function refund(data: ThirdOrderRefundParams) {
return request({ url: "/hard/hard-third-order/refund", method: "post", data })
}
+10
View File
@@ -1,3 +1,4 @@
import { submitExportTask } from "/@/api/asyncTask"
import request from "/@/utils/request"
/**
@@ -126,3 +127,12 @@ export function pageListCsByMonth(query?: any) {
data: query,
})
}
/** 按原筛选条件提交后台分批导出。 */
export const submitMerchantExport = (query: Record<string, unknown>) => submitExportTask("/hard/hard-total/export-cs-async", query)
/** 按原筛选条件提交后台分批导出。 */
export const submitMerchantMonthExport = (query: Record<string, unknown>) => submitExportTask("/hard/hard-total/export-cs-by-month-async", query)
/** 按原筛选条件提交后台分批导出。 */
export const submitDepartmentExport = (query: Record<string, unknown>) => submitExportTask("/hard/hard-total/export-dept-async", query)
+7
View File
@@ -1,4 +1,11 @@
import request from "/@/utils/request"
import { submitExportTask } from "/@/api/asyncTask"
/** 按当前筛选条件提交账户余额后台分批导出。 */
export const submitExport = (query: Record<string, unknown>) => submitExportTask("/wallet/wallet-manage/export-async", query)
/** 按所选月份与原筛选条件提交钱包历史余额分批导出。 */
export const submitQbExport = (query: Record<string, unknown>) => submitExportTask("/wallet/wallet-manage/export-qb-async", query)
/**
* 不活跃用户统计分页
+4
View File
@@ -1,3 +1,4 @@
import { submitExportTask } from "/@/api/asyncTask"
import request from "/@/utils/request"
export function saveTopup(data?: Object) {
@@ -87,3 +88,6 @@ export function validateError(params: any) {
params: params,
})
}
/** 按原筛选条件提交后台分批导出。 */
export const submitExport = (query: Record<string, unknown>) => submitExportTask("/wallet/wallet-recharge-apply/export-async", query)
+4
View File
@@ -1,3 +1,4 @@
import { submitExportTask } from "/@/api/asyncTask"
import request from "/@/utils/request"
export function pageJoin(query: any) {
@@ -58,3 +59,6 @@ export function recover(params?: Object) {
params,
})
}
/** 按原筛选条件提交后台分批导出。 */
export const submitExport = (query: Record<string, unknown>) => submitExportTask("/wallet/wallet-recharge-import/export-async", query)
@@ -1,3 +1,4 @@
import { submitExportTask } from "/@/api/asyncTask"
import request from "/@/utils/request"
export function invoiceBack(query: any) {
@@ -107,3 +108,6 @@ export function putObj(obj?: Object) {
data: obj,
})
}
/** 按原筛选条件提交后台分批导出。 */
export const submitExport = (query: Record<string, unknown>) => submitExportTask("/wallet/walletRechargeInvoice/export-async", query)
+16
View File
@@ -1,3 +1,4 @@
import { submitExportTask } from "/@/api/asyncTask"
import request from "/@/utils/request"
/**
@@ -238,3 +239,18 @@ export function putObj(obj?: Object) {
data: obj,
})
}
/** 按原筛选条件提交后台分批导出。 */
export const submitThExport = (query: Record<string, unknown>) => submitExportTask("/wallet/wallet-transaction/export-th-async", query)
/** 按原筛选条件提交后台分批导出。 */
export const submitTkExport = (query: Record<string, unknown>) => submitExportTask("/wallet/wallet-transaction/export-tk-async", query)
/** 按原筛选条件提交后台分批导出。 */
export const submitXfExport = (query: Record<string, unknown>) => submitExportTask("/wallet/wallet-transaction/export-xf-async", query)
/** 按当前筛选条件提交充值流水分批导出。 */
export const submitCzExport = (query: Record<string, unknown>) => submitExportTask("/wallet/wallet-transaction/export-cz-async", query)
/** 按当前筛选条件提交记账扣款流水分批导出。 */
export const submitJzExport = (query: Record<string, unknown>) => submitExportTask("/wallet/wallet-transaction/export-jz-async", query)