From 7eda42694634ca4cf242e4bc715fe22b523af3d5 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Fri, 09 May 2025 14:06:42 +0800 Subject: [PATCH] feat(mall): 添加活动订单导出功能 --- src/main/java/cc/mrbird/febs/mall/controller/activity/AdminVotesActivityCategoryController.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/activity/AdminVotesActivityCategoryController.java b/src/main/java/cc/mrbird/febs/mall/controller/activity/AdminVotesActivityCategoryController.java index c504b30..46cc299 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/activity/AdminVotesActivityCategoryController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/activity/AdminVotesActivityCategoryController.java @@ -4,6 +4,7 @@ import cc.mrbird.febs.common.controller.BaseController; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; +import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.common.utils.excl.ExcelSheetPO; import cc.mrbird.febs.common.utils.excl.ExcelUtil; @@ -14,8 +15,11 @@ import cc.mrbird.febs.mall.dto.activity.*; import cc.mrbird.febs.mall.entity.HappyActivity; import cc.mrbird.febs.mall.entity.HappyActivityOption; +import cc.mrbird.febs.mall.entity.HappyActivityOrder; import cc.mrbird.febs.mall.service.IAdminHappyActivityService; +import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; @@ -312,4 +316,52 @@ ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, false); } + @SneakyThrows + @GetMapping("/exportOrderList") + public void exportOrderList(@RequestParam Map<String, String> params, HttpServletResponse response) { + //获取查询参数 + if(ObjectUtil.isEmpty(params.get("activityId"))){ + throw new FebsException("请选择活动"); + } + String activityId = params.get("activityId"); + HappyActivity happyActivity = adminHappyActivityService.getBaseMapper().selectById(activityId); + if(ObjectUtil.isEmpty(happyActivity)){ + throw new FebsException("活动不存在"); + } + List<ExcelSheetPO> res = new ArrayList<>(); + ExcelSheetPO orderSheet = new ExcelSheetPO(); + String title = happyActivity.getName() + "的订单"; + orderSheet.setTitle(title); + + String[] header = {"序号","用户", "编号", "单价", "数量","总价","使用状态", "支付方式"}; + orderSheet.setHeaders(header); + + List<HappyActivityOrder> orderListForExport = adminHappyActivityService.getOrderListForExport(params); + List<List<Object>> list = new ArrayList<>(); + if (orderListForExport.size() > 0) { + int i = 0; + for (HappyActivityOrder item : orderListForExport) { + i++; + List<Object> temp = new ArrayList<>(); + temp.add(i); + temp.add(item.getName()); + temp.add(item.getOrderNo()); + temp.add(item.getPrice()); + temp.add(item.getNumCnt()); + temp.add(item.getAmount()); + temp.add(item.getState() == 2 ? "待使用" : "已使用"); + temp.add(item.getPayType() == 0 ?"免费":"微信支付"); + list.add(temp); + } + } + orderSheet.setDataList(list); + res.add(orderSheet); + response = ResponseHeadUtil.setExcelHead(response); + response.setHeader("Content-Disposition", + "attachment;filename=" + URLEncoder.encode(title + DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN) + ".xlsx".trim(), "UTF-8")); + OutputStream os = null; + os = response.getOutputStream(); + ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, false); + } + } -- Gitblit v1.9.1