2021与蓝度共同重构项目,服务端
liuhaonan
2022-08-12 4e53338c0c6859a43693f3f690f0c05da888a02e
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightReportDataService.java
@@ -5,10 +5,12 @@
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.domain.CommonPage;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.file.config.FileProperties;
import com.sandu.common.file.impl.AliOssFileServiceImpl;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5LightHeartbeatReportInnerFrame;
@@ -47,6 +49,7 @@
    private final FileProperties properties;
    private final AliOssFileServiceImpl fileService;
    private final LightReportDataMapper lightReportDataMapper;
    /**
     * 保存上报的灯心跳数据
@@ -64,7 +67,6 @@
            lightReportData = new LightReportData();
            lightReportData.setCreateTime(format);
        }
        //todo
        lightReportData.setCreateTime(format);
        BeanUtils.copyProperties(heartBeatDataPackage, lightReportData);
        lightReportData.setDeviceCode(deviceName);
@@ -132,7 +134,7 @@
    }
    @SneakyThrows
    public String exportList(HttpServletRequest request, HttpServletResponse response, String deviceCode) {
    public void exportList(HttpServletRequest request, HttpServletResponse response, String deviceCode) {
        if (SecurityUtils.getClientId() != null) {
            PoleBinding one = SpringContextHolder.getBean(PoleBindingService.class).getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode)
@@ -149,7 +151,7 @@
            }
        }
        List<LightReportDataBo> list = baseMapper.listReportData(null, deviceCode);
        List<LightReportDataBo> list = lightReportDataMapper.listReportData(null, deviceCode);
        File file = new File("./" + RandomUtil.randomString(12) + ".xlsx");
@@ -158,8 +160,7 @@
        //文件流化返回给前端
        findfile(request, response, file);
        //删除文件
        file.delete();
        return null;
        // file.delete();
    }
    /**
@@ -174,8 +175,6 @@
        ServletOutputStream out = null;
        FileInputStream ips = null;
        try {
            //获取文件存放的路径
            String fileName = file.getName();
            //获取到文字 数据库里对应的附件名字加上老的文件名字:filename 截取到后面的文件类型 例:txt  组成一个新的文件名字:newFileName
            //生成3个随机数,用来生成新的文件名字
            String newFileName = "单灯数据" + RandomUtil.randomString(3) + ".xlsx";
@@ -201,10 +200,23 @@
            try {
                out.close();
                ips.close();
                file.delete();
            } catch (IOException e) {
                System.out.println("关闭流出现异常");
                e.printStackTrace();
            }
        }
    }
    /**
     * 根据macCode获取灯的数据
     */
    public List<LightReportData> getReportDataList(BaseConditionVO conditionVO, String macCode) {
        if (macCode.isEmpty()) {
            throw new BusinessException("mac不能为空");
        }
        PageHelper.startPage(conditionVO.getPageNo(), conditionVO.getPageSize());
        List<LightReportData> list = list(Wrappers.lambdaQuery(LightReportData.class).eq(LightReportData::getDeviceCode, macCode));
        return list;
    }
}