210 lines
5.2 KiB
TypeScript
210 lines
5.2 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,
|
|
})
|
|
}
|
|
|
|
/** 智能柜手动结算提交的商品项;productId 为 hard_spu 主键。 */
|
|
export interface HardDoorManualSettleItem {
|
|
productId: string | number
|
|
productCount: number
|
|
}
|
|
|
|
/**
|
|
* 智能柜订单手动结算(第三方识别不可用时,人工核对视频后结算)
|
|
*/
|
|
export function manualSettle(data: { orderId: string | number; items: HardDoorManualSettleItem[]; reason?: string }) {
|
|
return request({
|
|
url: "/hard/hard-order/manual-settle",
|
|
method: "post",
|
|
data,
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 智能柜订单手动取消(用户未拿商品)
|
|
*/
|
|
export function manualCancel(data: { orderId: string | number; reason?: string }) {
|
|
return request({
|
|
url: "/hard/hard-order/manual-cancel",
|
|
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,
|
|
})
|
|
}
|