Administrator
2023-07-26 9ab7ea8617a47e24abe48ab395ace2c4ecd4af62
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
@@ -3,10 +3,12 @@
import java.time.LocalTime;
import java.util.*;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.device.camera.domain.CameraCmd;
import com.ruoyi.device.hiksdk.common.GlobalVariable;
import com.ruoyi.system.domain.SysConfig;
@@ -39,6 +41,25 @@
    @Resource
    private RedisCache redisCache;
    @PostConstruct
    public void loadCameras() {
        List<ArdCameras> ardCameras = selectArdCamerasListNoDataScope(new ArdCameras());
        for (ArdCameras ardCamera : ardCameras) {
            redisCache.setCacheObject(getCacheKey(ardCamera.getId()), ardCamera);
        }
    }
    /**
     * 设置cache key
     *
     * @param configKey 参数键
     * @return 缓存键key
     */
    private String getCacheKey(String configKey) {
        return CacheConstants.CAMERA_LIST_KEY + configKey;
    }
    /**
     * 查询相机设备
@@ -82,9 +103,11 @@
     */
    @Override
    public int insertArdCameras(ArdCameras ardCameras) {
        ardCameras.setId(IdUtils.simpleUUID());
        ardCameras.setCreateBy(SecurityUtils.getUsername());
        ardCameras.setCreateTime(DateUtils.getNowDate());
        ardCameras.setUserId(SecurityUtils.getUserId());
        redisCache.setCacheObject(getCacheKey(ardCameras.getId()), ardCameras);
        return ardCamerasMapper.insertArdCameras(ardCameras);
    }
@@ -97,7 +120,12 @@
    @Override
    public int updateArdCameras(ArdCameras ardCameras) {
        ardCameras.setUpdateTime(DateUtils.getNowDate());
        return ardCamerasMapper.updateArdCameras(ardCameras);
        int res = ardCamerasMapper.updateArdCameras(ardCameras);
        if (res > 0) {
            redisCache.deleteObject(getCacheKey(ardCameras.getId()));
            redisCache.setCacheObject(getCacheKey(ardCameras.getId()), ardCameras);
        }
        return res;
    }
    /**
@@ -108,7 +136,15 @@
     */
    @Override
    public int deleteArdCamerasByIds(String[] ids) {
        return ardCamerasMapper.deleteArdCamerasByIds(ids);
        int res = ardCamerasMapper.deleteArdCamerasByIds(ids);
        if(res>0)
        {
            for(String id:ids)
            {
                redisCache.deleteObject(getCacheKey(id));
            }
        }
        return res;
    }
    /**
@@ -136,10 +172,10 @@
     */
    @Override
    public Map getChildDeptAndCamera() {
    public Map getChildDeptAndCamera(Boolean disabled) {
        Long deptId = SecurityUtils.getDeptId();
        SysDept sysDept = sysDeptMapper.selectDeptById(deptId);
        Map<String, Object> map = fetchChildDepartments(sysDept);
        Map<String, Object> map = fetchChildDepartments(sysDept, disabled);
        return map;
    }
@@ -151,11 +187,11 @@
     * @创建时间 2023/6/2 14:38
     * @修改人和其它信息
     */
    public Map<String, Object> fetchChildDepartments(SysDept sysDept) {
    public Map<String, Object> fetchChildDepartments(SysDept sysDept, Boolean disabled) {
        Map<String, Object> map = new HashMap<>();
        map.put("name", sysDept.getDeptName());
        map.put("deptId", sysDept.getDeptId());
        map.put("disabled", true);
        map.put("disabled", disabled);
        List<SysDept> sysDepts = sysDeptMapper.selectNextChildrenDeptById(sysDept.getDeptId());
        List<ArdCameras> ardCameras = ardCamerasMapper.selectArdCamerasByDeptId(sysDept.getDeptId());
        List<Object> childList = new ArrayList<>();
@@ -163,8 +199,8 @@
            Map<String, Object> childMap = new HashMap<>();
            childMap.put("name", childDept.getDeptName());
            childMap.put("deptId", childDept.getDeptId());
            childMap.put("disabled", true);
            Map<String, Object> map1 = fetchChildDepartments(childDept);
            childMap.put("disabled", disabled);
            Map<String, Object> map1 = fetchChildDepartments(childDept, disabled);
            childMap.putAll(map1);
            childList.add(childMap);
        }