DownloadOrderServiceImpl.java 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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 = new HashMap<>();
  52. if(numList.size() >0){
  53. snCodeMap = sceneProService.getSnCodeByNumList(numList);
  54. }
  55. for (DownOrderVo record : page.getRecords()) {
  56. if(StringUtils.isNotBlank(record.getSceneNum())){
  57. record.setSnCode(snCodeMap.get(record.getSceneNum()));
  58. }
  59. record.setCreateTime(record.getTradeTime());
  60. }
  61. return page;
  62. }
  63. @Override
  64. public void export(HttpServletRequest req, HttpServletResponse resp) {
  65. OrderParam orderParam = CacheUtil.orderParam;
  66. orderParam.setPageNum(1);
  67. orderParam.setPageSize(5000);
  68. Page<DownOrderVo> page = this.pageListByParam(orderParam);
  69. ExcelWriter excelWriter = null;
  70. try {
  71. excelWriter = EasyExcel.write(resp.getOutputStream(),DownOrderVo.class).build();
  72. excelService.commonExport(req,resp,"下载订单",page.getRecords(),excelWriter);
  73. while (page.hasNext()){
  74. orderParam.setPageNum(orderParam.getPageNum()+1);
  75. page = this.pageListByParam(orderParam);
  76. if(page.getRecords().size() >0){
  77. excelService.commonExport(req,resp,"下载订单",page.getRecords(),excelWriter);
  78. }
  79. }
  80. }catch (Exception e){
  81. e.printStackTrace();
  82. }finally {
  83. if(excelWriter !=null){
  84. excelWriter.finish();
  85. }
  86. }
  87. }
  88. }