DownloadOrderServiceImpl.java 3.7 KB

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