From 803a61d1d89e75f0b5d72785069b3dceb579f3ca Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期三, 27 八月 2025 10:25:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeGrantRecordServiceImpl.java | 74 +++++++++++++++++++++++++++++++++++++ 1 files changed, 74 insertions(+), 0 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeGrantRecordServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeGrantRecordServiceImpl.java index 78f34d3..8868c61 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeGrantRecordServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeGrantRecordServiceImpl.java @@ -1,5 +1,7 @@ package cn.lili.modules.lmk.service.impl; +import cn.lili.modules.lmk.enums.general.PrizeGrantStatusEnums; +import cn.lili.modules.order.order.entity.dto.PrizeGrantRecordExportDetailDtO; import com.baomidou.mybatisplus.core.metadata.IPage; import cn.lili.modules.lmk.domain.entity.PrizeGrantRecord; import cn.lili.modules.lmk.mapper.PrizeGrantRecordMapper; @@ -9,12 +11,20 @@ import cn.lili.modules.lmk.domain.form.PrizeGrantRecordForm; import cn.lili.modules.lmk.domain.vo.PrizeGrantRecordVO; import cn.lili.modules.lmk.domain.query.PrizeGrantRecordQuery; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; import cn.lili.utils.PageUtil; import org.springframework.beans.BeanUtils; import org.springframework.util.Assert; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.net.URLEncoder; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -30,6 +40,70 @@ private final PrizeGrantRecordMapper prizeGrantRecordMapper; + @Override + public void queryExportStock(HttpServletResponse response, PrizeGrantRecordQuery query){ + List<PrizeGrantRecordVO> list = baseMapper.getExportData(query); + XSSFWorkbook workbook = initExportData(list); + try { + // 璁剧疆鍝嶅簲澶� + String fileName = URLEncoder.encode("濂栧搧鍙戞斁璁板綍", "UTF-8"); + response.setContentType("application/vnd.ms-excel;charset=UTF-8"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx"); + + ServletOutputStream out = response.getOutputStream(); + workbook.write(out); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + workbook.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + private XSSFWorkbook initExportData(List<PrizeGrantRecordVO> list){ + List<PrizeGrantRecordExportDetailDtO> exportDetailDtOS = new ArrayList<>(); + for (PrizeGrantRecordVO vo : list){ + PrizeGrantRecordExportDetailDtO detailDtO = new PrizeGrantRecordExportDetailDtO(); + BeanUtils.copyProperties(vo,detailDtO); + exportDetailDtOS.add(detailDtO); + } + + XSSFWorkbook workbook = new XSSFWorkbook(); + + Sheet sheet = workbook.createSheet("濂栧搧鍙戞斁璁板綍"); + // 鍒涘缓琛ㄥご + Row header = sheet.createRow(0); + String[] headers = { + "鐢ㄦ埛鏄电О", "娲诲姩鍚�","鍟嗗搧鍚�", + "鍟嗗搧鍐呭","鍙戞斁鐘舵��" + ,"鎻忚堪" + }; + for(int i= 0 ;i< headers.length;i++){ + Cell cell = header.createCell(i); + cell.setCellValue(headers[i]); + } + for (int i=0;i< exportDetailDtOS.size();i++){ + PrizeGrantRecordExportDetailDtO dto = exportDetailDtOS.get(i); + Row row = sheet.createRow(i+1); + row.createCell(0).setCellValue(dto.getNickName()); + row.createCell(1).setCellValue(dto.getActivityName()); + row.createCell(2).setCellValue(dto.getPrizeName()); + row.createCell(3).setCellValue(dto.getPrizeContent()); + if (PrizeGrantStatusEnums.SUCCESS.name().equals(dto.getGrantStatus())){ + row.createCell(4).setCellValue(PrizeGrantStatusEnums.SUCCESS.getDescription()); + }else { + row.createCell(4).setCellValue(PrizeGrantStatusEnums.FAILED.getDescription()); + + } + + row.createCell(5).setCellValue(dto.getDes()); + } + + return workbook; + } + /** * 娣诲姞 * @param form -- Gitblit v1.8.0