// 导出黑名单
public String exportBlackModel(HttpServletResponse response) {
final String header = "客户号|客户姓名|积分活动账户|活动名称|备注";
String fileName = "." + File.separator + ExCsvUtil.getUniqueKey() + ".csv";
List<BlackModeDO> blackModeDOList = new ArrayList<>();
// 如果没有添加数据的过程,就无法添加表头,所以加一个空属性
BlackModeDO blackModeDO = new BlackModeDO();
blackModeDO.setComments("");
blackModeDOList.add(blackModeDO);
try {
File file = new File(fileName);
if (ExCsvUtil.writeCsv(blackModeDOList, BlackModeDO.class, file, header) == 1) {
response.setCharacterEncoding("UTF-8");
response.addHeader("Content-Disposition", "attachment; filename=model");
response.setContentType("application/csv; charset=UTF-8");
InputStream inputStream = new FileInputStream(file);
int len = 0;
byte[] bytes = new byte[1024 * 8];
while ((len = inputStream.read(bytes)) != -1) {
response.getOutputStream().write(bytes, 0, len);
}
inputStream.close();
file.delete();
return "导出成功";
}
} catch (FileNotFoundException e) {
return "文件异常";
} catch (IOException e) {
return "上传异常";
} finally {
// 在这里执行清理或资源释放的操作
}
return "导出失败";
}
// 导出用户
public String exportUsersCSV(QueryUsersRequestVo queryUserRequestVO, HttpServletResponse response) {
// 查询获取数据
Page<JfBusinessInfo> jfBusinessInfoPage = PageHelper.startPage(queryUsersRequestVo.getPage(), queryUsersRequestVo.getSize())
.doSelectPage(() -> jfBusinessInfoMapper.queryUsersPage (
queryUserRequestVO
));
List<UsersModelDO> usersModelDOList = BeanUtil.copyToList(jfBusinessInfoPage.getResult(), UsersModelDO.class);
final String header = "商户代码|商户名称|商户性质(0-线下,1-线上)|签约地区|签约机构|起始时间|截至时间|商户地址|商户联系人|联系电话";
String fileName = "." + File.separator + ExCsvUtil.getUniqueKey() + ".csv";
try {
File file = new File(fileName);
if (ExCsvUtil.writeCsv(usersModelDOList, UsersModelDO.class, file, header) == 1) {
response.setCharacterEncoding("UTF-8");
response.addHeader("Content-Disposition", "attachment; filename=model");
response.setContentType("application/csv; charset=UTF-8");
InputStream inputStream = new FileInputStream(file);
int len = 0;
byte[] bytes = new byte[1024 * 8];
while ((len = inputStream.read(bytes)) != -1) {
response.getOutputStream().write(bytes, 0, len);
}
inputStream.close();
file.delete();
return "导出成功";
}
} catch (FileNotFoundException e) {
return "文件异常";
} catch (IOException e) {
return "上传异常";
}
return "导出失败";
}