From db070ecf27c6df1e9f7db15678d4eccab25ef39a Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Thu, 29 Jul 2021 10:25:47 +0800 Subject: [PATCH] screen-api 字典类型以及字典数据添加日志功能 --- screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java | 29 +++++++++++++++-------------- 1 files changed, 15 insertions(+), 14 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java index 6e0e9b3..c7916b7 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java @@ -90,21 +90,21 @@ * ���redis������������������ * */ private Map<String, Object> getDeviceInfoFromRedis(String mac) { - return (Map<String, Object>) redisTemplate.opsForValue().get(RedisConstants.DEVICE + mac); + return (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DEVICE, mac); } /* * ������������������redis */ private void setDeviceInfoToRedis(String mac, Map<String, Object> deviceInfo) { - redisTemplate.opsForValue().set(RedisConstants.DEVICE + mac, deviceInfo); + redisTemplate.opsForHash().put(RedisConstants.DEVICE, mac, deviceInfo); } /* * ���redis������������������ */ private void delDeviceInfoFromRedis(String mac) { - redisTemplate.delete(RedisConstants.DEVICE + mac); + redisTemplate.opsForHash().delete(RedisConstants.DEVICE, mac); } @Override @@ -127,7 +127,7 @@ //������������������ HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); StringBuilder content = new StringBuilder(); - content.append("������������������").append(device.getName()).append("���").append("mac���").append(mac); + content.append("������������������").append(device.getName()).append(":").append("mac���").append(mac); logUtils.saveOperationForManage(request, content.toString(), Constants.INSERT_OPERATE_TYPE); } @@ -203,7 +203,7 @@ Object o1 = method.invoke(oldDevice); Object o2 = method.invoke(device); if (o2 != null) { - content.append(fieldName).append("���").append(o1).append("-->").append(o2).append("���"); + content.append(fieldName).append("���").append(o1).append("-->").append(o2).append(":"); } } catch (Exception e) { @@ -428,9 +428,9 @@ Object areaCode = monitorPoint.get("areaCode"); Object cityCode = monitorPoint.get("cityCode"); - Map<String, Object> aqiMap = redisTemplate.opsForHash().entries(RedisConstants.AQI_DATA + areaCode); + Map<String, Object> aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, areaCode); if (ObjectUtils.isEmpty(aqiMap)) { - aqiMap = redisTemplate.opsForHash().entries(RedisConstants.AQI_DATA + cityCode); + aqiMap = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, cityCode); } return adjustDataUtils.adjust(deviceData, adjustFormula, ObjectUtils.isEmpty(aqiMap) ? null : aqiMap); } @@ -438,6 +438,7 @@ } @Override + @Transactional public void judgeDeviceState(Map<String, Object> deviceData) { String mac = deviceData.remove("mac").toString(); Device device = (Device) redisTemplate.opsForHash().get(RedisConstants.DEVICE_INFO, mac); @@ -451,19 +452,19 @@ if (StringUtils.isEmpty(alarmLevel)) { continue; } - List<Double> list = JSONObject.parseObject(alarmLevel, List.class); + List<Object> list = JSONObject.parseObject(alarmLevel, List.class); String sensorCode = sensor.getCode(); //������������ String formula = sensor.getFormula(); //������������������������ String sensorValue = (String) deviceData.get(sensorCode); - double value = Double.parseDouble(String.format("%.4f", sensorValue)); + double value = Double.parseDouble(sensorValue); //������������ if (formula != null) { //������������������ sensorValue = formula.replace("{0}", sensorValue); expression = AviatorEvaluator.compile(sensorValue); - value = Double.parseDouble(String.format("%.4f", expression.execute())); + value = Double.parseDouble(expression.execute().toString()); } int sensorState = judgeState(list, value); if (sensorState > state) { @@ -472,17 +473,17 @@ } //������������������ UpdateWrapper<Device> updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", device.getId()).set("state", state); + updateWrapper.eq("id", device.getId()).set("state", String.valueOf(state)); deviceMapper.update(null, updateWrapper); } //��������������������������� - private int judgeState(List<Double> levels, Double data) { + private int judgeState(List<Object> levels, Double data) { int state = 1; for (int i = levels.size() - 1; i >= 0; i--) { - Double level = levels.get(i); + Double level = Double.parseDouble(levels.get(i).toString()); if (data >= level) { - state = i + 2; + state = i + 1; break; } } -- Gitblit v1.8.0