From 90283fb0cebae569b79a2d75413cc1607342cc89 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 27 Jun 2025 16:07:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=90=8D=E5=8C=BB=E7=B2=BE?= =?UTF-8?q?=E5=BD=A9=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../book/controller/BuyOrderController.java | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java index 16afb00c..a7225b94 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.peanut.common.utils.DateUtils; import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.R; import com.peanut.config.Constants; @@ -28,14 +29,21 @@ import com.peanut.modules.pay.weChatPay.service.WxpayService; import com.peanut.modules.sys.entity.SysConfigEntity; import com.peanut.modules.sys.service.SysConfigService; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.amqp.core.MessagePostProcessor; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.io.OutputStream; import java.math.BigDecimal; import java.math.RoundingMode; +import java.net.URLEncoder; import java.util.*; import java.util.stream.Collectors; @@ -123,6 +131,85 @@ public class BuyOrderController { Page buyOrderPage = buyOrderService.orderList(requestVo); return R.ok().put("result", buyOrderPage); } + //导出名医精彩订单 + @RequestMapping("/exportMingyijingcaiOrder") + public void exportMingyijingcaiOrder(HttpServletResponse response, @RequestBody BuyOrderListRequestVo requestVo) { + requestVo.setOrderStatus("3"); + requestVo.setPageIndex(1); + requestVo.setPageSize(100000); + R r = orderList(requestVo); + if ("0".equals(r.get("code").toString())){ + Page buyOrderPage = (Page) r.get("result"); + XSSFWorkbook wb = new XSSFWorkbook(); + Sheet sheet = wb.createSheet("名医精彩订单"); + Row titleRow = sheet.createRow(0);//日期,姓名,电话,付款方式,金额 + titleRow.createCell(0).setCellValue("序号"); + titleRow.createCell(1).setCellValue("订单时间"); + titleRow.createCell(2).setCellValue("订单编号"); + titleRow.createCell(3).setCellValue("商品名"); + titleRow.createCell(4).setCellValue("姓名"); + titleRow.createCell(5).setCellValue("联系方式"); + titleRow.createCell(6).setCellValue("用户邮箱"); + titleRow.createCell(7).setCellValue("付款方式"); + titleRow.createCell(8).setCellValue("订单金额"); + titleRow.createCell(9).setCellValue("实付金额"); + titleRow.createCell(10).setCellValue("积分抵扣"); + //序号,默认为1 + int cell = 1; + //遍历 + for (BuyOrder buyOrder : buyOrderPage.getRecords()) { + Row row = sheet.createRow(cell); + row.createCell(0).setCellValue(cell); + row.createCell(1).setCellValue(DateUtils.format(buyOrder.getCreateTime(),"yyyy-MM-dd HH:mm:ss")); + row.createCell(2).setCellValue(buyOrder.getOrderSn()); + if ("relearn".equals(buyOrder.getOrderType())){ + row.createCell(3).setCellValue(buyOrder.getRemark()); + }else { + row.createCell(3).setCellValue(buyOrder.getProductList().get(0).getProduct().getProductName()); + } + row.createCell(4).setCellValue(buyOrder.getUser().getName()); + row.createCell(5).setCellValue(buyOrder.getUser().getTel()); + row.createCell(6).setCellValue(buyOrder.getUser().getEmail()); + String payMethod = ""; + if ("1".equals(buyOrder.getPaymentMethod())){ + payMethod = "微信"; + }else if ("2".equals(buyOrder.getPaymentMethod())){ + payMethod = "支付宝"; + }else if ("3".equals(buyOrder.getPaymentMethod())){ + payMethod = "IOS内购"; + }else if ("4".equals(buyOrder.getPaymentMethod())){ + payMethod = "虚拟币"; + } + row.createCell(7).setCellValue(payMethod); + row.createCell(8).setCellValue(buyOrder.getOrderMoney().toString()); + row.createCell(9).setCellValue(buyOrder.getRealMoney().toString()); + row.createCell(10).setCellValue(buyOrder.getJfDeduction().toString()); + //序号自增 + cell++; + } + String fileName = "名医精彩订单.xlsx"; + OutputStream outputStream =null; + try { + //文件名编码格式 + fileName = URLEncoder.encode(fileName,"UTF-8"); + //设置ContentType请求信息格式 + response.setContentType("application/vnd.ms-excel"); + //设置标头 + response.setHeader("Content-disposition", "attachment;filename=" + fileName); + outputStream = response.getOutputStream(); + wb.write(outputStream); + } catch (IOException e) { + e.printStackTrace(); + }finally { + try { + outputStream.flush(); + outputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } /** * 获取用户订单列表