注意:导出接口是Get请求方式。
例:
@GetMapping("/admin/export")
@ApiOperation("后台导出商品分仓库存")
public void compartmentStockExport(@ApiIgnore HttpServletResponse response,
@RequestParam String organizationId,
@ApiIgnore Operator operator) {
String userId = operator != null ? operator.getUserId() : null;
logger.info("导出商品分仓库存,入参 organizationId: {} ,userId:{}", organizationId, userId);
response.reset();
response.setContentType("application/csv;charset=GBK");
response.setHeader("Content-Disposition",
"attachment;filename=compartmentStock.csv");
response.setCharacterEncoding("GBK");
PrintWriter out;
try {
out = response.getWriter();
out.print("产品编码,产品
名称,分仓,库存 \r");
// 查询全部
List<GoodsCompartmentStockData> dataList = goodsCompartmentStockManager.list(null, organizationId);
for (GoodsCompartmentStockData stockData : dataList) {
String str = stockData.getGoodsId() + ","
+ CustomStringUtils.replaceBlank(CustomStringUtils
.replaceEnComma(stockData.getGoodsName())) + ","//考虑到商品名字中有英文逗号的情况
+ stockData.getCompartment() + ","
+ stockData.getStock();
str = str.replace("null", "");
out.print(str + "\r");
}
out.flush();
out.close();
} catch (IOException e) {
logger.error("分仓库存导出IO异常,入参 organizationId: {}", organizationId);
}
}