123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- package com.fdkankan.manage.service.impl;
- import com.alibaba.excel.EasyExcel;
- import com.alibaba.excel.ExcelWriter;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.fdkankan.manage.common.PageInfo;
- import com.fdkankan.manage.common.CacheUtil;
- import com.fdkankan.manage.entity.DownloadOrder;
- import com.fdkankan.manage.mapper.IDownloadOrderMapper;
- import com.fdkankan.manage.service.*;
- import com.fdkankan.manage.util.DateUtils;
- import com.fdkankan.manage.vo.request.OrderParam;
- import com.fdkankan.manage.vo.response.DownOrderVo;
- import org.apache.commons.lang3.StringUtils;
- 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.HashMap;
- import java.util.Set;
- import java.util.stream.Collectors;
- /**
- * <p>
- * 下载次数订单表 服务实现类
- * </p>
- *
- * @author
- * @since 2022-05-31
- */
- @Service
- public class DownloadOrderServiceImpl extends ServiceImpl<IDownloadOrderMapper, DownloadOrder> implements IDownloadOrderService {
- @Autowired
- IExcelService excelService;
- @Autowired
- ISceneProService sceneProService;
- @Autowired
- IScenePlusService scenePlusService;
- @Autowired
- ICameraService cameraService;
- @Override
- public PageInfo pageList(OrderParam param) {
- CacheUtil.orderParam = param;
- return PageInfo.PageInfo(this.pageListByParam(param));
- }
- @Override
- public Page<DownOrderVo> pageListByParam(OrderParam orderParam) {
- Page<DownOrderVo> page = this.getBaseMapper().pageList(new Page<>(orderParam.getPageNum(), orderParam.getPageSize()), orderParam);
- Set<String> numList = page.getRecords().stream().map(DownOrderVo::getSceneNum).collect(Collectors.toSet());
- HashMap<String,String> snCodeMap = new HashMap<>();
- if(numList.size() >0){
- snCodeMap = sceneProService.getSnCodeByNumList(numList);
- }
- for (DownOrderVo record : page.getRecords()) {
- if(StringUtils.isNotBlank(record.getSceneNum())){
- record.setSnCode(snCodeMap.get(record.getSceneNum()));
- }
- String tradeTime = record.getTradeTime();
- if(record.getTimeZoneOff() != null){
- tradeTime = DateUtils.AddMinute(record.getTradeTime(),record.getTimeZoneOff());
- }
- if(StringUtils.isNotBlank(record.getSnCode())){
- record.setDownTypeStr(snCodeMap.get(record.getSnCode()));
- }
- record.setCreateTime(tradeTime);
- }
- return page;
- }
- @Override
- public void export(HttpServletRequest req, HttpServletResponse resp) {
- OrderParam orderParam = CacheUtil.orderParam;
- orderParam.setPageNum(1);
- orderParam.setPageSize(5000);
- Page<DownOrderVo> page = this.pageListByParam(orderParam);
- ExcelWriter excelWriter = null;
- try {
- excelWriter = EasyExcel.write(resp.getOutputStream(),DownOrderVo.class).build();
- excelService.commonExport(req,resp,"下载订单",page.getRecords(),excelWriter);
- while (page.hasNext()){
- orderParam.setPageNum(orderParam.getPageNum()+1);
- page = this.pageListByParam(orderParam);
- if(page.getRecords().size() >0){
- excelService.commonExport(req,resp,"下载订单",page.getRecords(),excelWriter);
- }
- }
- }catch (Exception e){
- e.printStackTrace();
- }finally {
- if(excelWriter !=null){
- excelWriter.finish();
- }
- }
- }
- }
|