导出名医精彩订单
This commit is contained in:
@@ -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<BuyOrder> 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<BuyOrder> buyOrderPage = (Page<BuyOrder>) 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户订单列表
|
||||
|
||||
Reference in New Issue
Block a user