| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.moral.api.entity.ManageRole; |
| | | import com.moral.api.entity.Sensor; |
| | | import com.moral.api.entity.SysDictData; |
| | | import com.moral.api.entity.VersionSensorUnit; |
| | | import com.moral.api.entity.*; |
| | | import com.moral.api.mapper.OrganizationUnitAlarmMapper; |
| | | import com.moral.api.mapper.SensorMapper; |
| | | import com.moral.api.mapper.SysDictDataMapper; |
| | | import com.moral.api.mapper.VersionSensorUnitMapper; |
| | | import com.moral.api.service.SensorService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.moral.api.util.CacheUtils; |
| | | import com.moral.api.util.LogUtils; |
| | | import com.moral.constant.Constants; |
| | | import com.moral.constant.RedisConstants; |
| | |
| | | |
| | | @Autowired(required = false) |
| | | private SysDictDataMapper sysDictDataMapper; |
| | | |
| | | @Autowired(required = false) |
| | | private OrganizationUnitAlarmMapper organizationUnitAlarmMapper; |
| | | |
| | | @Autowired |
| | | LogUtils logUtils; |
| | |
| | | return resultMap; |
| | | } |
| | | sensorMapper.updateSensor(updateSensorMap); |
| | | if (!ObjectUtils.isEmpty(updateSensorMap.get("code"))&&!oldSensor.getCode().equals(updateSensorMap.get("code"))){ |
| | | QueryWrapper<OrganizationUnitAlarm> wrapper_OUA = new QueryWrapper<>(); |
| | | wrapper_OUA.eq("is_delete",Constants.NOT_DELETE); |
| | | wrapper_OUA.eq("sensor_code",oldSensor.getCode()); |
| | | OrganizationUnitAlarm organizationUnitAlarm = new OrganizationUnitAlarm(); |
| | | organizationUnitAlarm.setSensorCode(updateSensorMap.get("code").toString()); |
| | | organizationUnitAlarmMapper.update(organizationUnitAlarm,wrapper_OUA); |
| | | //刷新deviceInfo缓存 |
| | | CacheUtils.refreshDeviceAlarmInfo(); |
| | | } |
| | | HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); |
| | | String content = "修改因子:"+oldSensor.getName()+";"; |
| | | for (Object key:updateSensorMap.keySet()) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> getAllSensorWithoutPage() { |
| | | Map<String,Object> resultMap = new HashMap<>(); |
| | | QueryWrapper<Sensor> wrapper = new QueryWrapper(); |
| | | wrapper.eq("is_delete",0); |
| | | List<Sensor> sensors = sensorMapper.selectList(wrapper); |
| | | SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | List<Map<String,Object>> sensorList = new ArrayList<>(); |
| | | for (Sensor sensor:sensors) { |
| | | Map sensorMap = JSON.parseObject(JSON.toJSONString(sensor),Map.class); |
| | | String createTime = SDF.format(sensor.getCreateTime()); |
| | | String updateTime = SDF.format(sensor.getUpdateTime()); |
| | | sensorMap.put("createTime",createTime); |
| | | sensorMap.put("updateTime",updateTime); |
| | | sensorMap.put("key",sensor.getId()); |
| | | if (sensor.getDefaultUnitKey()!=null&&sensor.getDefaultUnitKey()!=""){ |
| | | QueryWrapper<SysDictData> wrapper_VSU = new QueryWrapper(); |
| | | wrapper_VSU.eq("is_delete",0); |
| | | wrapper_VSU.eq("dataKey",sensor.getDefaultUnitKey()); |
| | | wrapper_VSU.eq("dict_type_id",14); |
| | | if (!ObjectUtils.isEmpty(sysDictDataMapper.selectOne(wrapper_VSU))&&!ObjectUtils.isEmpty(sysDictDataMapper.selectOne(wrapper_VSU).getDataValue())){ |
| | | sensorMap.put("default_unit_key",sysDictDataMapper.selectOne(wrapper_VSU).getDataValue()); |
| | | } |
| | | } |
| | | sensorList.add(sensorMap); |
| | | } |
| | | resultMap.put("sensors",sensorList); |
| | | return resultMap; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public Map<String, Object> deleteSensor(Map map) { |
| | | Map<String,Object> resultMap = new HashMap<>(); |
| | |
| | | deleteSensor.setIsDelete(Constants.DELETE); |
| | | sensorMapper.update(deleteSensor,wrapper); |
| | | QueryWrapper<VersionSensorUnit> wrapper_Version = new QueryWrapper<>(); |
| | | wrapper_Version.eq("sensor_id",sensor.getId()); |
| | | wrapper_Version.eq("sensor_code",sensor.getCode()); |
| | | wrapper_Version.eq("is_delete","0"); |
| | | VersionSensorUnit versionSensorUnit = new VersionSensorUnit(); |
| | | versionSensorUnit.setIsDelete(Constants.DELETE); |
| | | versionSensorUnitMapper.update(versionSensorUnit,wrapper_Version); |
| | | if (!ObjectUtils.isEmpty(sensor.getCode())&&!sensor.getCode().equals("")){ |
| | | QueryWrapper<OrganizationUnitAlarm> wrapper_OUA = new QueryWrapper<>(); |
| | | wrapper_OUA.eq("is_delete",Constants.NOT_DELETE); |
| | | wrapper_OUA.eq("sensor_code",sensor.getCode()); |
| | | OrganizationUnitAlarm organizationUnitAlarm = new OrganizationUnitAlarm(); |
| | | organizationUnitAlarm.setIsDelete(Constants.DELETE); |
| | | organizationUnitAlarmMapper.update(organizationUnitAlarm,wrapper_OUA); |
| | | } |
| | | //操作插入日志 |
| | | HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); |
| | | String content = "删除因子:"+sensor.getName()+";"; |
| | |
| | | return resultMap; |
| | | } |
| | | |
| | | @Override |
| | | public Map<String,Sensor> getAllSensorFromCache(){ |
| | | Map<String,Sensor> sensors = redisTemplate.opsForHash().entries(RedisConstants.SENSOR_KEY); |
| | | if(ObjectUtils.isEmpty(sensors)) |
| | |
| | | //刷新缓存 |
| | | refreshCache(sensors); |
| | | return sensors; |
| | | } |
| | | |
| | | @Override |
| | | public void refreshCache(){ |
| | | Map<String, Sensor> sensors = getAllSensorFromDB(); |
| | | refreshCache(sensors); |
| | | } |
| | | |
| | | private Map<String,Sensor> getAllSensorFromDB(){ |
| | |
| | | result.put(sensor.getCode(),sensor); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | private void refreshCache(){ |
| | | Map<String, Sensor> sensors = getAllSensorFromDB(); |
| | | refreshCache(sensors); |
| | | } |
| | | |
| | | private void refreshCache(Map<String,Sensor> sensors){ |