From 1e6775a63c0d3011955fc607c4291de06ff8e0c2 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 25 Apr 2025 10:54:24 +0800
Subject: [PATCH] feat(mall): 添加活动报名列表导出功能

---
 src/main/java/cc/mrbird/febs/mall/controller/activity/AdminVotesActivityCategoryController.java |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 49 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 825c909..aec3b58 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
@@ -5,19 +5,31 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.common.utils.excl.ExcelSheetPO;
+import cc.mrbird.febs.common.utils.excl.ExcelUtil;
+import cc.mrbird.febs.common.utils.excl.ExcelVersion;
+import cc.mrbird.febs.common.utils.excl.ResponseHeadUtil;
 import cc.mrbird.febs.mall.dto.AdminHappyActivityCategoryDto;
 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.service.IAdminHappyActivityService;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 @Slf4j
@@ -243,4 +255,41 @@
         return adminHappyActivityService.activityOrderDel(id);
     }
 
+    @SneakyThrows
+    @GetMapping("/exportOptionList")
+    public void exportOptionList(@RequestParam Map<String, String> params, HttpServletResponse response) {
+        List<ExcelSheetPO> res = new ArrayList<>();
+        ExcelSheetPO orderSheet = new ExcelSheetPO();
+        String title = "报名列表";
+        orderSheet.setTitle(title);
+        String[] header = {"序号", "姓名", "联系方式", "兴趣爱好","家庭住址","地区","是否签约mcn机构", "备注"};
+        orderSheet.setHeaders(header);
+        List<HappyActivityOption> dataList = adminHappyActivityService.getVoteOptionListForExport(params);
+        List<List<Object>> list = new ArrayList<>();
+        if (dataList.size() > 0) {
+            int i = 0;
+            for (HappyActivityOption item : dataList) {
+                i++;
+                List<Object> temp = new ArrayList<>();
+                temp.add(i);
+                temp.add(item.getOptionName());
+                temp.add(item.getMobilePhone());
+                temp.add(item.getHobby());
+                temp.add(item.getAddress());
+                temp.add(item.getProvince()+item.getCity());
+                temp.add(item.getMcnState() == 1 ?"是":"否");
+                temp.add(item.getDescription());
+                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(), "yyyyMMDDHHmmss") + ".xlsx".trim(), "UTF-8"));
+        OutputStream os = null;
+        os = response.getOutputStream();
+        ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, false);
+    }
+
 }

--
Gitblit v1.9.1