package com.welampiot.service.impl; import com.welampiot.dao.SmokeSensationDevInfoDao; import com.welampiot.dto.SmokeSensationDevInfoDTO; import com.welampiot.service.SmokeSensationDevInfoService; import com.welampiot.vo.SmokeSensationDevInfoVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * ClassName: SmokeSensationDevInfoServiceImpl * Package: com.welampiot.service.impl * Description: * * @Author: zhj_Start * @Create: 2023/5/31 - 15:24 * @Version: v1.0 */ @Service public class SmokeSensationDevInfoServiceImpl implements SmokeSensationDevInfoService { @Autowired private SmokeSensationDevInfoDao smokeSensationDevInfoDao; @Override public SmokeSensationDevInfoVO getListBySmokeSensationDevInfoDTO(SmokeSensationDevInfoDTO dto) { SmokeSensationDevInfoVO smokeSensationDevInfoVO = new SmokeSensationDevInfoVO(); smokeSensationDevInfoVO.setTotal(smokeSensationDevInfoDao.getTotalBySmokeSensationDevInfoDTO(dto)); List smokeSensationList = smokeSensationDevInfoDao.getListBySmokeSensationDevInfoDTO(dto); List list = new ArrayList<>(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); smokeSensationList.forEach(devDTO -> { if (devDTO.getModel() == null) { devDTO.setModel(0); } if (devDTO.getStatus() == null) { devDTO.setStatus(0); } if (devDTO.getSmokeAlert() == null) { devDTO.setSmokeAlert(0); } if (devDTO.getTempAlert() == null) { devDTO.setTempAlert(0); } if (devDTO.getLowValue() == null) { devDTO.setLowValue(0); } if (devDTO.getCanStatus() == null) { devDTO.setCanStatus(0); } if (devDTO.getUpdateTime() != null && !devDTO.getUpdateTime().equals("")){ Date cmdTime; try { cmdTime = simpleDateFormat.parse(devDTO.getUpdateTime()); } catch (ParseException e) { throw new RuntimeException(e); } //判断时区,为null默认东八区 long timezone = devDTO.getTimezone() == null ? 8 : devDTO.getTimezone(); long l = cmdTime.getTime() + timezone * 3600 * 1000; cmdTime = new Date(l); devDTO.setUpdateTime(simpleDateFormat.format(cmdTime)); }else { devDTO.setUpdateTime(""); } list.add(devDTO); }); smokeSensationDevInfoVO.setList(list); return smokeSensationDevInfoVO; } @Override public void addSmokeSensationDataByDTO(SmokeSensationDevInfoDTO dto) { smokeSensationDevInfoDao.addSmokeSensationDataByDTO(dto); } @Override public void updateSmokeSensationDataByDTO(SmokeSensationDevInfoDTO dto) { smokeSensationDevInfoDao.updateSmokeSensationDataByDTO(dto); } @Override public Integer findSmokeSensationByDTO(SmokeSensationDevInfoDTO dto) { return smokeSensationDevInfoDao.findSmokeSensationByDTO(dto); } @Override public Integer findAddressBySmokeSensationDTO(SmokeSensationDevInfoDTO dto) { return smokeSensationDevInfoDao.findAddressBySmokeSensationDTO(dto); } @Override public void deleteSmokeSensationById(List smokeIds) { smokeSensationDevInfoDao.deleteSmokeSensationById(smokeIds); } @Override public SmokeSensationDevInfoVO getSmokeSensationData(SmokeSensationDevInfoDTO dto) { SmokeSensationDevInfoVO smokeSensationDevInfoVO = new SmokeSensationDevInfoVO(); smokeSensationDevInfoVO.setTotal(smokeSensationDevInfoDao.getTotalBySmokeSensationDevInfoDTO(dto)); smokeSensationDevInfoVO.setOnlineCount(smokeSensationDevInfoDao.getOnlineTotalBySmokeSensationDevInfoDTO(dto)); smokeSensationDevInfoVO.setAlarmCount(smokeSensationDevInfoDao.getAlarmTotalBySmokeSensationDevInfoDTO(dto)); smokeSensationDevInfoVO.setNormalCount(smokeSensationDevInfoDao.getNormalTotalBySmokeSensationDevInfoDTO(dto)); smokeSensationDevInfoVO.setNewCount(smokeSensationDevInfoDao.getNewTotalBySmokeSensationDevInfoDTO(dto)); smokeSensationDevInfoVO.setFaultCount(smokeSensationDevInfoDao.getFaultTotalBySmokeSensationDevInfoDTO(dto)); return smokeSensationDevInfoVO; } }