Files
pj_admin_cloud/src/api/hard/hard-order.ts
T
2026-09-08 15:25:06 +08:00

182 lines
4.5 KiB
TypeScript

import request from "/@/utils/request"
/** 订单详情中的单张识别证据,字段来自 HardOrderEvidenceImageVo。 */
export interface HardOrderEvidenceImage {
/** 服务端证据主键。 */
id: string | number
/** 证据类型稳定编码。 */
evidenceType: "FACE_RECOGNITION" | "MENU_RECOGNITION" | string
/** 图片角色稳定编码。 */
evidenceRole: "FACE_REFERENCE" | "FACE_LIVE" | "MENU_LIVE" | string
/** 图片角色中文名称。 */
evidenceRoleName?: string
/** 同一角色下从零开始的图片序号。 */
sequenceNo: number
/** 终端采集时间。 */
capturedAt?: string
/** 人脸识别相似度快照。 */
similarity?: number | string
/** 产生证据的设备主键。 */
hardId?: string | number
/** 证据文件访问地址。 */
imageUrl?: string
/** 证据状态稳定编码。 */
status: "PENDING" | "AVAILABLE" | "UNAVAILABLE" | string
/** 永久缺失或复制失败原因。 */
failureReason?: string
}
/** 外卖订单的期望送达配置;非外卖或历史订单未记录时为空。 */
export interface HardTakeOutAppointment {
/** 送达方式稳定编码:IMMEDIATE 表示立即送,SCHEDULED 表示预约时段。 */
expectDeliveryType?: "IMMEDIATE" | "SCHEDULED" | string
/** 预约送达日期,仅预约时段模式使用。 */
expectDeliveryDate?: string
/** 预约时段开始时间。 */
expectDeliveryStart?: string
/** 预约时段结束时间。 */
expectDeliveryEnd?: string
/** 立即送模式下计算出的预计送达时间点。 */
expectArriveTime?: string
}
/** 当前页面使用的订单详情扩展字段。 */
export interface HardOrderDetail {
/** 订单主键。 */
id: string | number
/** 设备名称。 */
hardName?: string
/** 订单详情才返回的长期识别证据。 */
evidenceImages?: HardOrderEvidenceImage[]
/** 外卖订单详情关联的期望送达配置。 */
takeOutAppt?: HardTakeOutAppointment
/** 兼容订单详情其余历史字段。 */
[key: string]: unknown
}
/** 订单列表统计查询条件;字段与订单分页筛选保持一致。 */
export type HardOrderStatisticsQuery = Record<string, any>
/** 订单按餐段汇总的统计,金额单位均为分。 */
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[]
}
/** 订单按预计使用日期拆分的统计。 */
export interface HardOrderDailyStatistics extends HardOrderStatisticsSummary {
date?: string
}
/** 订单统计接口统一响应。 */
export interface HardOrderStatisticsResponse {
data: {
total?: HardOrderStatisticsSummary
daily?: HardOrderDailyStatistics[]
}
msg?: string
}
/**
* 离线订单手动支付
*/
export function offlinePay(data: any) {
return request({
url: "/hard/hard-order/offline-pay",
method: "post",
data,
})
}
export function pageJoin(query: any) {
return request({
url: "/hard/hard-order/page-join",
method: "post",
params: {
current: query.current,
size: query.size,
},
data: query,
})
}
export function noRecogPageJoin(query: any) {
return request({
url: "/hard/hard-order/no-recog/page-join",
method: "post",
params: {
current: query.current,
size: query.size,
},
data: query,
})
}
export function fetchList(query?: Object) {
return request({
url: "/hard/hard-order/page",
method: "get",
params: query,
})
}
export function addObj(obj?: Object) {
return request({
url: "/hard/hard-order",
method: "post",
data: obj,
})
}
export function getObj(id?: string) {
return request({
url: "/hard/hard-order/" + id,
method: "get",
})
}
export function delObjs(ids?: Object) {
return request({
url: "/hard/hard-order",
method: "delete",
data: ids,
})
}
export function putObj(obj?: Object) {
return request({
url: "/hard/hard-order",
method: "put",
data: obj,
})
}