sgj
2026-03-12 25c18d63f3310b5d762b88c750b8007045c2a44d
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/GatewaySerService.java
@@ -53,6 +53,7 @@
        if (StringUtils.isNotBlank(parentId)) {
            queryWrapper.likeRight("dept_id", parentId);
        }
        queryWrapper.orderByAsc("order_num");
        return gatewaySerMapper.selectList(queryWrapper);
    }
@@ -100,14 +101,24 @@
        if (StringUtils.isEmpty(ser.getCompanyId())) {
            ser.setCompanyId(ContextUtil.getCompanyId());
        }
        if (StringUtils.isEmpty(ser.getDeptId())) {
            ser.setDeptId(ContextUtil.subDeptId(null));
        //判断接口路径
        if (StringUtils.isEmpty(ser.getPlateNumUrl())) {
            ser.setPlateNumUrl("/open/api/get-plateNum");
        }
        if (StringUtils.isEmpty(ser.getPlayUrl())) {
            ser.setPlayUrl("/open/api/get-media");
        }
        if (StringUtils.isEmpty(ser.getSnapUrl())) {
            ser.setSnapUrl("/open/api/snap-img");
        }
        if (StringUtils.isEmpty(ser.getPtzUrl())) {
            ser.setPtzUrl("/open/api/ptz-media");
        }
        ser.setUpdateBy(ContextUtil.getLoginUserName());
        ser.setUpdateTime(new Date());
        if (StringUtils.isBlank(ser.getCreateBy())) {
            ser.setHeartbeatTime(new Date());
            ser.setCreateBy(ContextUtil.getLoginUserName());
            ser.setCreateTime(new Date());
            gatewaySerMapper.insert(ser);
@@ -129,10 +140,9 @@
        if(isUpdateTime){
            //心跳时间
            ser.setHeartbeatTime(new Date());
            ser.setUpdateTime(new Date());
        }
        ser.setUpdateTime(new Date());
        ser.setStatus(status);
        gatewaySerMapper.updateById(ser);
@@ -149,7 +159,58 @@
        //删除缓存
        delCache(ser);
    }
    /**
     * 获取组织下所有网关信息
     * @param companyId
     * @return
     */
    public List<GatewaySer> getCacheSer(String companyId) {
        if (StringUtils.isEmpty(companyId)) {
            companyId = ContextUtil.getCompanyId();
        }
        List<GatewaySer> result = new ArrayList<>();
        String patten = RedisConst.buildKey(companyId, RedisConst.KEY_GATEWAY_SER_LIST) + "*";
        Collection<String> keys = redisCache.keys(patten);
        if (null != keys) {
            for (String key : keys) {
                result.add((GatewaySer) redisCache.getCacheObject(key));
            }
        }
        if(result.isEmpty()){
            result = getAllSer();
            this.setCacheSer(result);
        }
        return result;
    }
    /**
     * 根据分机ID获取分机信息
     *
     * @param deptId
     * @return
     */
    public GatewaySer getCacheSerByDeptId(String deptId) {
        if (StringUtils.isEmpty(deptId)) {
            return null;
        }
        String patten = RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_GATEWAY_SER_LIST) + "*";
        Collection<String> keys = redisCache.keys(patten);
        if (null == keys) {
            return null;
        }
        GatewaySer ser = null;
        for (String key : keys) {
            ser = (GatewaySer) redisCache.getCacheObject(key);
            if(deptId.equals(ser.getDeptId())){
                return ser;
            }
        }
        return null;
    }
    /**
@@ -166,26 +227,27 @@
        if (StringUtils.isEmpty(companyId)) {
            companyId = ContextUtil.getCompanyId();
        }
        String patten = RedisConst.buildKey(companyId, RedisConst.KEY_DEVICE_SER_LIST) + "*";
        Collection<String> keys = redisCache.keys(patten);
        if (null == keys) {
            return null;
        }
        GatewaySer result = null;
        GatewaySer ser = null;
        for (String key : keys) {
            ser = (GatewaySer) redisCache.getCacheObject(key);
            if(id.equals(ser.getId())){
                break;
        String patten = RedisConst.buildKey(companyId, RedisConst.KEY_GATEWAY_SER_LIST) + "*";
        Collection<String> keys = redisCache.keys(patten);
        if (null != keys && !keys.isEmpty()) {
            for (String key : keys) {
                ser = (GatewaySer) redisCache.getCacheObject(key);
                if(id.equals(ser.getId())){
                    result = ser;
                    break;
                }
            }
        }
        if(null == ser){
            ser = getById(id);
            this.setCacheSer(ser);
        if(null == result){
            result = getById(id);
            this.setCacheSer(result);
        }
        return ser;
        return result;
    }
    /**