DownloadOrderServiceImpl.java 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package com.fdkankan.manage.service.impl;
  2. import com.alibaba.excel.EasyExcel;
  3. import com.alibaba.excel.ExcelWriter;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6. import com.fdkankan.manage.common.PageInfo;
  7. import com.fdkankan.manage.common.CacheUtil;
  8. import com.fdkankan.manage.entity.Camera;
  9. import com.fdkankan.manage.entity.DownloadOrder;
  10. import com.fdkankan.manage.entity.ScenePlus;
  11. import com.fdkankan.manage.entity.ScenePro;
  12. import com.fdkankan.manage.mapper.IDownloadOrderMapper;
  13. import com.fdkankan.manage.service.*;
  14. import com.fdkankan.manage.vo.request.OrderParam;
  15. import com.fdkankan.manage.vo.response.DownOrderVo;
  16. import org.apache.commons.lang3.StringUtils;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import javax.servlet.http.HttpServletRequest;
  20. import javax.servlet.http.HttpServletResponse;
  21. import java.util.HashMap;
  22. import java.util.Set;
  23. import java.util.stream.Collectors;
  24. /**
  25. * <p>
  26. * 下载次数订单表 服务实现类
  27. * </p>
  28. *
  29. * @author
  30. * @since 2022-05-31
  31. */
  32. @Service
  33. public class DownloadOrderServiceImpl extends ServiceImpl<IDownloadOrderMapper, DownloadOrder> implements IDownloadOrderService {
  34. @Autowired
  35. IExcelService excelService;
  36. @Autowired
  37. ISceneProService sceneProService;
  38. @Autowired
  39. IScenePlusService scenePlusService;
  40. @Autowired
  41. ICameraService cameraService;
  42. @Override
  43. public PageInfo pageList(OrderParam param) {
  44. CacheUtil.orderParam = param;
  45. return PageInfo.PageInfo(this.pageListByParam(param));
  46. }
  47. @Override
  48. public Page<DownOrderVo> pageListByParam(OrderParam orderParam) {
  49. Page<DownOrderVo> page = this.getBaseMapper().pageList(new Page<>(orderParam.getPageNum(), orderParam.getPageSize()), orderParam);
  50. Set<String> numList = page.getRecords().stream().map(DownOrderVo::getSceneNum).collect(Collectors.toSet());
  51. HashMap<String,String> snCodeMap = sceneProService.getSnCodeByNumList(numList);
  52. for (DownOrderVo record : page.getRecords()) {
  53. if(StringUtils.isNotBlank(record.getSceneNum())){
  54. record.setSnCode(snCodeMap.get(record.getSceneNum()));
  55. }
  56. record.setCreateTime(record.getTradeTime());
  57. }
  58. return page;
  59. }
  60. @Override
  61. public void export(HttpServletRequest req, HttpServletResponse resp) {
  62. OrderParam orderParam = CacheUtil.orderParam;
  63. orderParam.setPageNum(1);
  64. orderParam.setPageSize(5000);
  65. Page<DownOrderVo> page = this.pageListByParam(orderParam);
  66. ExcelWriter excelWriter = null;
  67. try {
  68. excelWriter = EasyExcel.write(resp.getOutputStream(),DownOrderVo.class).build();
  69. excelService.commonExport(req,resp,"下载订单",page.getRecords(),excelWriter);
  70. while (page.hasNext()){
  71. orderParam.setPageNum(orderParam.getPageNum()+1);
  72. page = this.pageListByParam(orderParam);
  73. if(page.getRecords().size() >0){
  74. excelService.commonExport(req,resp,"下载订单",page.getRecords(),excelWriter);
  75. }
  76. }
  77. }catch (Exception e){
  78. e.printStackTrace();
  79. }finally {
  80. if(excelWriter !=null){
  81. excelWriter.finish();
  82. }
  83. }
  84. }
  85. }