package com.welampiot.service.impl; import com.welampiot.common.BaseResult; import com.welampiot.common.InterfaceResultEnum; import com.welampiot.dao.WifiDao; import com.welampiot.dto.WifiDTO; import com.welampiot.service.WifiInfoLogService; import com.welampiot.service.WifiService; import com.welampiot.utils.ToolUtils; import com.welampiot.vo.WifiOutInfoVO; import com.welampiot.vo.WifiVO; import org.springframework.beans.BeanUtils; 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: WifiServiceImpl * Package: com.welampiot.service.impl * Description: * * @Author: zhj_Start * @Create: 2023/4/11 - 19:51 * @Version: v1.0 */ @Service public class WifiServiceImpl implements WifiService { @Autowired private WifiDao wifiDao; @Autowired private ToolUtils toolUtils; @Autowired private WifiInfoLogService wifiInfoLogService; @Override public WifiVO getWifiList(WifiDTO dto) { WifiVO vo = new WifiVO(); vo.setTotal(wifiDao.getWifiTotalBySectionList(dto)); List wifiList = wifiDao.getWifiListByDTO(dto); List list = new ArrayList<>(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); wifiList.forEach(wifiDTO ->{ wifiDTO.setSn(wifiDTO.getNum()); wifiDTO.setTotalFlaw(wifiDTO.getFlow()); wifiDTO.setDayFlaw(wifiDTO.getDayFlow()); wifiDTO.setUpFlaw("0Mbps"); wifiDTO.setDownFlaw("0Mbps"); if (wifiDTO.getNetType() != null && wifiDTO.getNetType() == 1){ wifiDTO.setNetType(1); }else { wifiDTO.setNetType(0); } if (wifiDTO.getOnline() != null && wifiDTO.getOnline() == 1){ wifiDTO.setOnline(1); }else { wifiDTO.setOnline(0); } if (wifiDTO.getStatus() != null && wifiDTO.getStatus() == 1){ wifiDTO.setStatus(1); }else { wifiDTO.setStatus(0); } if (wifiDTO.getUpdateTime() != null && !wifiDTO.getUpdateTime().equals("")){ Date cmdTime; try { cmdTime = simpleDateFormat.parse(wifiDTO.getUpdateTime()); } catch (ParseException e) { throw new RuntimeException(e); } //判断时区,为null默认东八区 long timezone = wifiDTO.getTimezone() == null ? 8 : wifiDTO.getTimezone(); long l = cmdTime.getTime() + timezone * 3600 * 1000; cmdTime = new Date(l); wifiDTO.setUpdateTime(simpleDateFormat.format(cmdTime)); }else { wifiDTO.setUpdateTime(""); } if (wifiDTO.getInstallDate() != null && !wifiDTO.getInstallDate().equals("")){ try { wifiDTO.setInstallDate(simpleDateFormat.format(simpleDateFormat.parse(wifiDTO.getInstallDate()))); } catch (ParseException e) { throw new RuntimeException(e); } }else { wifiDTO.setInstallDate(""); } if (wifiDTO.getExpirationDate() != null && !wifiDTO.getExpirationDate().equals("")){ try { wifiDTO.setExpirationDate(simpleDateFormat.format(simpleDateFormat.parse(wifiDTO.getExpirationDate()))); } catch (ParseException e) { throw new RuntimeException(e); } }else { wifiDTO.setExpirationDate(""); } if (wifiDTO.getDI0() != null && wifiDTO.getDI0() == 1){ wifiDTO.setDI0(1); }else { wifiDTO.setDI0(0); } if (wifiDTO.getDO0() != null && wifiDTO.getDO0() == 1){ wifiDTO.setDO0(1); }else { wifiDTO.setDO0(0); } if (wifiDTO.getSignal() == null){ wifiDTO.setSignal(0); } list.add(wifiDTO); }); vo.setList(list); return vo; } @Override public WifiVO getWifiInfo(WifiDTO dto) { WifiVO vo = new WifiVO(); vo.setDeviceCount(wifiDao.getWifiTotalBySectionList(dto)); vo.setOnlineCount(wifiDao.getWifiOnlineTotalBySectionList(dto)); return vo; } @Override public WifiOutInfoVO getWifiOutInfo(Integer id, List sectionList) { WifiOutInfoVO vo = new WifiOutInfoVO(); WifiDTO dto = wifiDao.getWifiOutInfoByDTO(id,sectionList); if (dto == null) return null; BeanUtils.copyProperties(dto,vo); return vo; } @Override public Integer getCountByDTO(WifiDTO dto) { return wifiDao.getCountByDTO(dto); } @Override public BaseResult add(WifiDTO dto) { if (dto.getSn() == null || dto.getSn().length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_CLOUD_BOX_SN_ERROR,dto.getVersion2()); WifiDTO wifiDTO = new WifiDTO(); wifiDTO.setSn(dto.getSn()); if (wifiDao.getCountByDTO(wifiDTO) > 0) return toolUtils.response(InterfaceResultEnum.CLOUD_BOX_SN_UNIQUE_ERROR,dto.getVersion2()); wifiDao.add(dto); return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,dto.getVersion2()); } @Override public BaseResult update(WifiDTO dto) { if (dto.getSn() == null || dto.getSn().length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_CLOUD_BOX_SN_ERROR,dto.getVersion2()); WifiDTO wifiDTO = new WifiDTO(); wifiDTO.setSn(dto.getSn()); wifiDTO.setLampPoleId(dto.getLampPoleId()); if (wifiDao.getCountByDTO(wifiDTO) > 0) return toolUtils.response(InterfaceResultEnum.CLOUD_BOX_SN_UNIQUE_ERROR,dto.getVersion2()); wifiDao.update(dto); return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,dto.getVersion2()); } @Override public WifiDTO getDetailByDTO(WifiDTO dto) { return wifiDao.getDetailByDTO(dto); } @Override public Integer deleteById(Integer id) { wifiInfoLogService.deleteByWifiId(id); return wifiDao.deleteById(id); } @Override public List getWifiListByDTO(WifiDTO dto) { return wifiDao.getWifiListByDTO(dto); } }