培训班用户导出

This commit is contained in:
wuchunlei
2025-06-12 10:01:33 +08:00
parent b6ae4e06ff
commit d811c51921

View File

@@ -3,6 +3,7 @@ package com.peanut.modules.master.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.peanut.common.utils.DateUtils;
import com.peanut.common.utils.R;
import com.peanut.modules.common.entity.*;
import com.peanut.modules.common.service.BuyOrderService;
@@ -12,11 +13,17 @@ import com.peanut.modules.common.service.TrainingToUserService;
import com.peanut.modules.master.service.VipBuyConfigService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -126,6 +133,63 @@ public class TrainingClassController {
return R.ok().put("trainingClassUserList",trainingClassUserList);
}
//导出培训班用户
@RequestMapping("/exportTrainingClassUser")
public void exportTrainingClassUser(HttpServletResponse response,@RequestBody Map<String,Object> params) {
R r = trainingClassUserList(params);
if ("0".equals(r.get("code").toString())){
Page<TrainingToUser> trainingClassUserList = (Page<TrainingToUser>) r.get("trainingClassUserList");
XSSFWorkbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet("trainingClassUser");
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("订单号");
//序号默认为1
int cell = 1;
//遍历
for (TrainingToUser toUser : trainingClassUserList.getRecords()) {
Row row = sheet.createRow(cell);
row.createCell(0).setCellValue(toUser.getUser().getName());
row.createCell(1).setCellValue(toUser.getUser().getTel());
row.createCell(2).setCellValue(toUser.getUser().getEmail());
row.createCell(3).setCellValue(DateUtils.format(toUser.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
row.createCell(4).setCellValue(toUser.getIdentity());
row.createCell(5).setCellValue(toUser.getPayMethod());
row.createCell(6).setCellValue(toUser.getJfDeduction());
row.createCell(7).setCellValue(toUser.getOrderSn());
//序号自增
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();
}
}
}
}
//培训班添加用户
@RequestMapping("/addUserToTrainingClass")
public R addUserToTrainingClass(@RequestBody TrainingToUser trainingToUser) {