package com.sandu.ximon.admin.service;
|
|
import com.alibaba.fastjson.JSON;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.sandu.common.object.BaseConditionVO;
|
import com.sandu.ximon.admin.dto.ErrorMsgDto;
|
import com.sandu.ximon.dao.bo.LightReportErrorBo;
|
import com.sandu.ximon.dao.domain.Light;
|
import lombok.AllArgsConstructor;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @author LiuHaoNan
|
* @date 2022/7/25
|
* 设备错误信息
|
*/
|
@Service
|
@AllArgsConstructor
|
public class ErrorMsgService {
|
|
|
private final LightReportErrorService lightReportErrorService;
|
private final C3mReportErrorService c3mReportErrorService;
|
private final LightService lightService;
|
|
|
public List<ErrorMsgDto> listMsg(BaseConditionVO baseConditionVO) {
|
List<ErrorMsgDto> errorMsgDtos = new ArrayList<>();
|
//单灯故障数据
|
List<LightReportErrorBo> lightReportErrors = lightReportErrorService.queryErrorCode(baseConditionVO);
|
if (!lightReportErrors.isEmpty()) {
|
for (LightReportErrorBo lightReportError : lightReportErrors) {
|
ErrorMsgDto errorMsgDto = new ErrorMsgDto();
|
errorMsgDto.setMac(lightReportError.getDeviceCode());
|
errorMsgDto.setErrorCode(lightReportError.getErrorCode());
|
errorMsgDto.setErrorDesc(lightReportError.getErrorMsg());
|
errorMsgDto.setErrorTime(lightReportError.getCreateTime());
|
errorMsgDto.setDeviceType(0);
|
Light one = lightService.getOne(Wrappers.lambdaQuery(Light.class).eq(Light::getDeviceCode, lightReportError.getDeviceCode()));
|
if (one != null) {
|
errorMsgDto.setDeviceJson(JSON.toJSONString(one));
|
}
|
errorMsgDtos.add(errorMsgDto);
|
}
|
}
|
|
//充电桩故障数据
|
|
|
//对errorMsgDtos按创建时间倒叙
|
errorMsgDtos.sort((a, b) -> b.getErrorTime().compareTo(a.getErrorTime()));
|
//手动分页 baseConditionVO.getPageNo() 当前页 baseConditionVO.getPageSize() 每页条数
|
return errorMsgDtos.subList((baseConditionVO.getPageNo() - 1) * baseConditionVO.getPageSize(), baseConditionVO.getPageNo() * baseConditionVO.getPageSize());
|
}
|
|
|
}
|