2021与蓝度共同重构项目,服务端
liuhaonan
2022-10-25 dda268997ca8f8a364f7c19b45d7a43a50a98efe
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;
@@ -19,6 +21,7 @@
import com.sandu.ximon.dao.domain.LightReportData;
import com.sandu.ximon.dao.domain.Pole;
import com.sandu.ximon.dao.domain.PoleBinding;
import com.sandu.ximon.dao.enums.OrderByEnums;
import com.sandu.ximon.dao.mapper.LightReportDataMapper;
import lombok.AllArgsConstructor;
import lombok.SneakyThrows;
@@ -65,7 +68,6 @@
            lightReportData = new LightReportData();
            lightReportData.setCreateTime(format);
        }
        //todo
        lightReportData.setCreateTime(format);
        BeanUtils.copyProperties(heartBeatDataPackage, lightReportData);
        lightReportData.setDeviceCode(deviceName);
@@ -93,11 +95,36 @@
     * @param keyword    关键词
     * @param deviceCode 设备码
     */
    public CommonPage listReportData(int pageNo, int pageSize, String keyword, String deviceCode) {
    public CommonPage listReportData(int pageNo, int pageSize, String keyword, String deviceCode, Integer order, Integer seq) {
        List<LightReportDataBo> lightReportDataBos = new ArrayList<>(pageSize);
        CommonPage<String> stringCommonPage = SpringContextHolder.getBean(LightService.class).listDeviceCode(pageNo, pageSize, keyword, deviceCode);
        //排序字段
        String orderByResult = "t1.create_time";
        //正序、倒叙
        String orderBySeq = OrderByEnums.ASC.getCode();
        if (order != null) {
            switch (order) {
                case 1:
                    orderByResult = OrderByEnums.LIGHT_DATA_CREATE_TIME.getCode();
                    break;
                default:
            }
        }
        if (seq != null) {
            switch (seq) {
                case 1:
                    orderBySeq = " ASC";
                    break;
                case 2:
                    orderBySeq = " DESC";
                    break;
                default:
                    break;
            }
        }
        //排序方式
        String orderBy = orderByResult + " " + orderBySeq;
        CommonPage<String> stringCommonPage = SpringContextHolder.getBean(LightService.class).listDeviceCode(pageNo, pageSize, keyword, deviceCode, orderBy);
        List<String> macList = stringCommonPage.getList();
        if (CollUtil.isEmpty(macList)) {
            return new CommonPage();
@@ -159,7 +186,7 @@
        //文件流化返回给前端
        findfile(request, response, file);
        //删除文件
       // file.delete();
        // file.delete();
    }
    /**
@@ -206,4 +233,22 @@
            }
        }
    }
    /**
     * 根据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));
        list.forEach(
                lightReportData -> {
                    lightReportData.setCreateTime(lightReportData.getCreateTime1().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                    lightReportData.setUpdateTime(lightReportData.getUpdateTime1().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
                }
        );
        return list;
    }
}