package com.sandu.ximon.admin.service; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.domain.CommonPage; import com.sandu.common.object.BaseConditionVO; import com.sandu.ximon.admin.dto.ErrorMsgDto; import com.sandu.ximon.dao.bo.C3ReportErrorBo; import com.sandu.ximon.dao.bo.LightReportErrorBo; import com.sandu.ximon.dao.domain.C3mCharging; 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 LightService lightService; private final C3mReportErrorService c3mReportErrorService; private final C3ChargingService c3ChargingService; /** * 单灯 * * @param baseConditionVO * @return */ public CommonPage lightListMsg(BaseConditionVO baseConditionVO) { List errorMsgDtoList = new ArrayList<>(); //单灯故障数据 CommonPage commonPage = lightReportErrorService.queryErrorCode(baseConditionVO); if (!commonPage.getList().isEmpty()) { for (LightReportErrorBo lightReportError : (List) commonPage.getList()) { ErrorMsgDto errorMsgDto = new ErrorMsgDto(); errorMsgDto.setMac(lightReportError.getDeviceCode()); errorMsgDto.setErrorCode(lightReportError.getErrorCode()); errorMsgDto.setErrorDesc(lightReportError.getErrorMsg()); errorMsgDto.setErrorTime(lightReportError.getCreateTime()); errorMsgDto.setDeviceType(1); Light one = lightService.getOne(Wrappers.lambdaQuery(Light.class).eq(Light::getDeviceCode, lightReportError.getDeviceCode())); System.out.println(lightReportError.getDeviceCode() + " ---code "); if (one != null) { errorMsgDto.setDeviceJson(JSON.toJSONString(one)); } else { errorMsgDto.setDeviceJson("系统未找到设备数据"); } errorMsgDtoList.add(errorMsgDto); } } commonPage.setList(errorMsgDtoList); return commonPage; } /** * 充电桩 * * @param baseConditionVO * @return */ public List C3ListMsg(BaseConditionVO baseConditionVO) { List errorMsgDtoList = new ArrayList<>(); //充电桩故障数据 List c3ReportErrorBos = c3mReportErrorService.listReportError(baseConditionVO); if (!c3ReportErrorBos.isEmpty()) { List list = c3ReportErrorBos; list.forEach(c3ReportError -> { ErrorMsgDto errorMsgDto = new ErrorMsgDto(); errorMsgDto.setMac(c3ReportError.getC3Mac()); errorMsgDto.setErrorDesc(c3ReportError.getErrorMsg()); errorMsgDto.setErrorTime(c3ReportError.getCreateTime()); errorMsgDto.setDeviceType(3); C3mCharging one = c3ChargingService.getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getC3Mac, c3ReportError.getC3Mac())); if (one != null) { errorMsgDto.setDeviceJson(JSON.toJSONString(one)); } errorMsgDtoList.add(errorMsgDto); }); } return errorMsgDtoList; } /** * 大气 * * @param baseConditionVO * @return */ public List atmosphereListMsg(BaseConditionVO baseConditionVO) { return new ArrayList<>(); } }