sgj
2026-03-09 c3fc4153f75b6467126081191f4d5fa1152ea386
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);
    }
@@ -139,10 +140,9 @@
        if(isUpdateTime){
            //心跳时间
            ser.setHeartbeatTime(new Date());
            ser.setUpdateTime(new Date());
        }
        ser.setUpdateTime(new Date());
        ser.setStatus(status);
        gatewaySerMapper.updateById(ser);
@@ -159,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;
    }
    /**
@@ -176,26 +227,27 @@
        if (StringUtils.isEmpty(companyId)) {
            companyId = ContextUtil.getCompanyId();
        }
        GatewaySer result = null;
        GatewaySer ser = null;
        String patten = RedisConst.buildKey(companyId, 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(id.equals(ser.getId())){
                break;
        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;
    }
    /**