cjl
2023-10-13 100690a225167806a08f64eafff3326564a7154a
screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.googlecode.aviator.AviatorEvaluator;
import com.googlecode.aviator.Expression;
@@ -190,7 +191,7 @@
        //设备信息存入redis
        setDeviceInfoToRedis(mac, deviceInfo);
        //刷新deviceInfo缓存
        CacheUtils.refreshDeviceAlarmInfo();
        CacheUtils.refreshDeviceAlarmInfo(mac);
        //操作日志记录
        HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
        StringBuilder content = new StringBuilder();
@@ -483,7 +484,6 @@
    }
    @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);
@@ -519,9 +519,10 @@
            }
        }
        //修改设备状态
        UpdateWrapper<Device> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id", device.getId()).set("state", String.valueOf(state));
        deviceMapper.update(null, updateWrapper);
        Device device1 = new Device();
        device1.setId(device.getId());
        device1.setState(String.valueOf(state));
        deviceMapper.updateById(device1);
    }
    @Override
@@ -623,4 +624,14 @@
            organizationUnitAlarmMapper.update(null, deleteWrapper);
        }
    }
    @Override
    public void setRedisDevice() {
        List<Device> list = lambdaQuery().eq(Device::getIsDelete,0).list();
        for(Device d : list){
            redisTemplate.opsForHash().delete(RedisConstants.DEVICE, d.getMac());
            Map<String, Object> deviceInfo = selectDeviceInfoById(d.getId());
            setDeviceInfoToRedis(d.getMac(), deviceInfo);
        }
    }
}