diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminWInController.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminWInController.java index 9efbf56..9a62d11 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminWInController.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/AdminWInController.java @@ -7,11 +7,15 @@ import com.lottery.result.Result; import com.lottery.vo.PageInfo; import com.lottery.vo.UserVo; import com.lottery.vo.WinUserVo; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + /** * @program: lottery-system * @ClassName wincontroller @@ -20,6 +24,7 @@ import org.springframework.web.bind.annotation.*; * @create: 2025−07-17 15:18 * @Version 1.0 **/ +@Slf4j @RestController @RequestMapping("/admin/win") public class AdminWInController { @@ -37,4 +42,12 @@ public class AdminWInController { return Result.success(adminWinService.listWinUser(pageNum, pageSize, winUserQueryDto)); } + + @PostMapping("/export") + public void export(@RequestBody WinUserQueryDto winUserQueryDto, HttpServletResponse response) throws IOException { + log.info("导出中奖用户数据"); + adminWinService.exportWinUser(winUserQueryDto, response); + } + + } diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/FundingController.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/FundingController.java index fbf15f9..4e7d77f 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/FundingController.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/controller/FundingController.java @@ -144,7 +144,6 @@ public class FundingController { public void exportActivityData(@RequestBody FundingUserDto fundingUserDto, HttpServletResponse response) throws IOException { LOGGER.info("导出活动数据,参数为{}", fundingUserDto); fundingService.exportActivityData(fundingUserDto,response); - } diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminWinService.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminWinService.java index adb1a91..84ba50a 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminWinService.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/AdminWinService.java @@ -6,6 +6,8 @@ import com.lottery.entity.WinnerRecord; import com.lottery.vo.PageInfo; import com.lottery.vo.WinUserVo; +import javax.servlet.http.HttpServletResponse; +import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Map; @@ -21,4 +23,6 @@ import java.util.Map; public interface AdminWinService extends IService { PageInfo listWinUser(int pageNum, int pageSize, WinUserQueryDto winUserQueryDto); + + void exportWinUser(WinUserQueryDto winUserQueryDto, HttpServletResponse response) throws UnsupportedEncodingException; } diff --git a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminWinServiceImpl.java b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminWinServiceImpl.java index c4f4cc3..7ec3921 100644 --- a/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminWinServiceImpl.java +++ b/lottery-system/lottery-service/src/main/java/com/lottery/admin/service/Impl/AdminWinServiceImpl.java @@ -1,5 +1,7 @@ package com.lottery.admin.service.Impl; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.support.ExcelTypeEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -22,6 +24,9 @@ import com.lottery.vo.WinUserVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletResponse; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -66,6 +71,7 @@ public class AdminWinServiceImpl extends ServiceImpl userVolist = ConvertBeanUtil.convertList(userPage.getRecords(), UserVo.class); // return PageInfo.of(userPage, userVolist); } + + //导出数据 + @Override + public void exportWinUser(WinUserQueryDto winUserQueryDto, HttpServletResponse response) throws UnsupportedEncodingException { + +// response.setContentType("application/json.openxmlfomats-officedocument.spreadsheetml.sheet;charset=utf-8"); +// response.setCharacterEncoding("utf-8"); +// +// // 根据姓名获取user_id(列表) +// +// +// // 根据user_id查询用户信息 +// +// +// +// // 3. 处理中文文件名(URL 编码) +// String fileName = "获奖记录" + ".xlsx"; +// String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20"); +// +// // 4. 设置 Content-Disposition 响应头(指定下载文件名) +// response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + encodedFileName); +// +// +// // 查询数据列表 +// List list = listWinUser(1,10,winUserQueryDto); +// +// EasyExcel.write(response.getOutputStream(), FundingExport.class) +// .excelType(ExcelTypeEnum.XLSX) +// .sheet("获奖记录") +// .doWrite(list); + } + }