import request from '@/config/axios' /** 消费订单分页参数 */ export interface ConsumptionPageParams { pageNo: number pageSize: number prisonerNo?: string prisonerName?: string // 罪犯姓名 prisonAreaId?: number // 监区ID prisonCellId?: number // 监室ID type?: number // 类型:1-购物 2-餐饮 3-医疗 4-通讯 5-其他 status?: number // 状态:1-成功 2-失败 totalAmount?: number // 订单总金额 balance?: number // 账户余额 orderNo?: string // 订单号 tradeTime?: string[] // 交易时间范围 createTime?: string[] // 创建时间范围 } /** 消费明细信息 */ export interface ConsumptionDetail { id?: number // 明细ID consumptionId?: number // 消费订单ID goodsName: string // 商品名称 goodsCode?: string // 商品编码 goodsPrice: number // 商品单价 goodsCount: number // 商品数量 subtotal?: number // 小计金额 } /** 消费订单信息 */ export interface Consumption { id: number // 订单ID prisonerId?: number // 罪犯ID prisonerNo?: string // 罪犯编号 prisonerName?: string // 罪犯姓名 prisonAreaId?: number // 监区ID prisonAreaName?: string // 监区名称 prisonCellId?: number // 监室ID prisonCellName?: string // 监室名称 orderNo?: string // 订单号 type?: number // 类型:1-购物 2-餐饮 3-医疗 4-通讯 5-其他 totalAmount?: number // 订单总金额 balance: number // 账户余额 tradeTime?: string // 交易时间 status?: number // 状态:1-成功 2-失败 remark: string // 备注 details?: ConsumptionDetail[] // 消费明细列表 createTime?: Date // 创建时间 updateTime?: Date // 更新时间 } // 消费订单 API export const ConsumptionApi = { // 查询消费订单分页 getConsumptionPage: async (params: ConsumptionPageParams) => { return await request.get({ url: `/prison/consumption/page`, params }) }, // 查询消费订单详情 getConsumption: async (id: number) => { return await request.get({ url: `/prison/consumption/get`, params: { id } }) }, // 新增消费订单 createConsumption: async (data: Consumption) => { return await request.post({ url: `/prison/consumption/create`, data }) }, // 修改消费订单 updateConsumption: async (data: Consumption) => { return await request.put({ url: `/prison/consumption/update`, data }) }, // 删除消费订单 deleteConsumption: async (id: number) => { return await request.delete({ url: `/prison/consumption/delete`, params: { id } }) }, /** 批量删除消费订单 */ deleteConsumptionList: async (ids: number[]) => { return await request.delete({ url: `/prison/consumption/delete-list?ids=${ids.join(',')}` }) }, // 查询消费明细列表 getConsumptionDetailList: async (consumptionId: number) => { return await request.get({ url: `/prison/consumption/detail-list`, params: { consumptionId } }) }, // 导出消费订单 Excel exportConsumption: async (params: ConsumptionPageParams) => { return await request.download({ url: `/prison/consumption/export-excel`, params }) }, // 获取导入模板 getImportTemplate: async () => { return await request.download({ url: `/prison/consumption/get-import-template` }) }, // 导入消费记录 importConsumption: async (file: File) => { const formData = new FormData() formData.append('file', file) return await request.upload({ url: `/prison/consumption/import`, data: formData }) } }