package com.fdkankan.manage.service.impl; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.common.response.PageInfo; import com.fdkankan.manage.entity.Order; import com.fdkankan.manage.mapper.IOrderMapper; import com.fdkankan.manage.service.IExcelService; import com.fdkankan.manage.service.IOrderService; import com.fdkankan.manage.vo.request.OrderParam; import com.fdkankan.manage.vo.response.OrderVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.stream.Collectors; /** *

* 订单表 服务实现类 *

* * @author * @since 2022-06-20 */ @Service public class OrderServiceImpl extends ServiceImpl implements IOrderService { @Autowired IExcelService excelService; @Override public List getOrderSn(String content) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.like(Order::getOrderSn,content); return this.list(wrapper).parallelStream().map(Order::getOrderSn).collect(Collectors.toList()); } @Override public PageInfo pageList(OrderParam param) { Page page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param); return PageInfo.PageInfo(page); } @Override public void export(HttpServletRequest req, HttpServletResponse resp) throws Exception { OrderParam param = new OrderParam(); param.setPageNum(1); param.setPageSize(5000); Page page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param); ExcelWriter excelWriter = null; try { excelWriter = EasyExcel.write(resp.getOutputStream(),OrderVo.class).build(); excelService.commonExport(req,resp,"相机订单",page.getRecords(),excelWriter); while (page.hasNext()){ param.setPageNum(param.getPageNum() +1); page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param); if(page.getRecords().size() > 0){ excelService.commonExport(req,resp,"相机订单",page.getRecords(),excelWriter); } } }catch (Exception e){ e.printStackTrace(); }finally { if(excelWriter != null){ excelWriter.finish(); } } } }