package com.moral.service.impl; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.apache.log4j.Logger; import org.springframework.stereotype.Service; import com.moral.entity.SensorUnit; import com.moral.mapper.SensorUnitMapper; import com.moral.service.SensorService; import com.moral.service.SensorUnitService; @Service public class SensorUnitServiceImpl implements SensorUnitService { private static Logger log = Logger.getLogger(SensorService.class); @Resource private SensorUnitMapper sensorUnitMapper; @Override public boolean addOrModify(SensorUnit sensorUnit) { try { if (sensorUnit.getId() != null) { sensorUnit.setUpdateTime(new Date()); sensorUnitMapper.updateByPrimaryKeySelective(sensorUnit); } else { sensorUnit.setIsDelete(false); sensorUnit.setCreateTime(new Date()); sensorUnitMapper.insertSelective(sensorUnit); } return true; } catch (Exception ex) { ex.printStackTrace(); log.error(ex.getMessage()); } return false; } @Override public List queryListBySensorId(int sensorId) { return queryListBySensorId(sensorId, false); } /** * 根据传感器id 获取 所属传感器数组 * * @param sensorId * @return */ @Override public List queryListBySensorId(int sensorId, Boolean isDelete) { SensorUnit sensorUnitQuery = new SensorUnit(); sensorUnitQuery.setSensorId(sensorId); sensorUnitQuery.setIsDelete(isDelete); return sensorUnitMapper.select(sensorUnitQuery); } /** * 根据传感器单位实体id 删除 * * @param id */ @Override public void remove(Integer id) { SensorUnit sensorUnit = new SensorUnit(); sensorUnit.setId(id); sensorUnit.setIsDelete(true); sensorUnit.setUpdateTime(new Date()); sensorUnitMapper.updateByPrimaryKeySelective(sensorUnit); } /** * 获取传感器单位数组分组 * * @param sensorIds * @return */ @Override public Map> queryGroupSensorBySids(List sensorIds) { SensorUnit sensorUnitQuery = new SensorUnit(); Map> resultListMap = new HashMap<>(); for (Integer sensorId : sensorIds) { sensorUnitQuery.setSensorId(sensorId); sensorUnitQuery.setIsDelete(false); List sensorUnitList = sensorUnitMapper.select(sensorUnitQuery); if (sensorUnitList != null && sensorUnitList.size() > 0) { resultListMap.put(sensorId, sensorUnitList); } } return resultListMap; } @Override public Map getSensorByMac(String mac) { List> list = sensorUnitMapper.getSensorsByDeviceMac(mac); if (list != null && !list.isEmpty()) { Map sensorUnitMap = new HashMap<>(); for (Map sensorMap : list) { String sensor_key = (String) sensorMap.get("sensor_key"); String name = (String) sensorMap.get("name"); sensorUnitMap.put(sensor_key, name); } return sensorUnitMap; } else { Map sensorUnitMap = null; return sensorUnitMap; } } @Override public Map> getSensorsByMonitPointId(String id) { List> list = sensorUnitMapper.getSensorsByMonitPointId(id); if (list != null && !list.isEmpty()) { Map> sensorUnitMap = new HashMap<>(); for (Map sensorMap : list) { Map innerMap = new HashMap<>(); innerMap.put("unit", sensorMap.get("unit")); innerMap.put("name", sensorMap.get("name")); innerMap.put("rules", sensorMap.get("rules")); String sensor_key = (String) sensorMap.get("sensor_key"); sensorUnitMap.put(sensor_key, innerMap); } //System.out.println(sensorUnitMap); return sensorUnitMap; } else { Map> sensorUnitMap = null; return sensorUnitMap; } } @Override public List> getSensorsByMonitPointId2(String id) { List> list = sensorUnitMapper.getSensorsByMonitPointId(id); return list; } }