XMTT 6 years ago
parent
commit
c48d118883

+ 34 - 19
src/main/java/com/ekexiu/project/bridge/resource/service/BridgeService.java

@ -397,28 +397,43 @@ public class BridgeService {
397 397
398 398
    @Get
399 399
    @Path("/all/byUser")
400
    public Map<String,Object> queryAll(@JdbcConn Connection con,@Nullable Boolean active,@LoginUser SessionUser user)throws SQLException {
400
    public Map<String, Object> queryAll(@JdbcConn Connection con, @Nullable Boolean active, @LoginUser SessionUser user) throws SQLException {
401 401
        Map<String, Object> map = new HashMap<>();
402 402
        List<Bridge> bridges = this.bridgeDao.listQueryByUser(con, active, user.getId());
403
        String[] bridgeId = new String[bridges.size()];
404
        for(int i = 0 ; i < bridges.size() ; ++i) {
405
            bridgeId[i] = bridges.get(i).getId();
406
        }
407
        List<BridgeServer> bridgeServices = this.bridgeServerDao.queryByBridges(con, active, bridgeId);
408
        String[] serverId = new String[bridgeServices.size()];
409
        for (int i = 0; i < bridgeServices.size(); ++i) {
410
            serverId[i] = bridgeServices.get(i).getId();
411
        }
412
        List<CollectDevice> collectDevices = this.collectDeviceDao.queryByServers(con, active, serverId);
413
        String[] deviceId = new String[collectDevices.size()];
414
        for (int i = 0; i < collectDevices.size(); ++i) {
415
            deviceId[i] = collectDevices.get(i).getId();
416
        }
417
        List<Transducer> transducers = this.transducerDao.queryByUser(con, active, deviceId);
418 403
        map.put("bridge", bridges);
419
        map.put("server", bridgeServices);
420
        map.put("device", collectDevices);
421
        map.put("transducer", transducers);
404
        if (bridges.size() > 0) {
405
            String[] bridgeId = new String[bridges.size()];
406
            for (int i = 0; i < bridges.size(); ++i) {
407
                bridgeId[i] = bridges.get(i).getId();
408
            }
409
            List<BridgeServer> bridgeServers = this.bridgeServerDao.queryByBridges(con, active, bridgeId);
410
            map.put("server", bridgeServers);
411
            if (bridgeServers.size() > 0) {
412
                String[] serverId = new String[bridgeServers.size()];
413
                for (int i = 0; i < bridgeServers.size(); ++i) {
414
                    serverId[i] = bridgeServers.get(i).getId();
415
                }
416
                List<CollectDevice> collectDevices = this.collectDeviceDao.queryByServers(con, active, serverId);
417
                map.put("device", collectDevices);
418
                if (collectDevices.size() > 0) {
419
                    String[] deviceId = new String[collectDevices.size()];
420
                    for (int i = 0; i < collectDevices.size(); ++i) {
421
                        deviceId[i] = collectDevices.get(i).getId();
422
                    }
423
                    List<Transducer> transducers = this.transducerDao.queryByUser(con, active, deviceId);
424
                    map.put("transducer", transducers);
425
                } else {
426
                    map.put("transducer", collectDevices);
427
                }
428
            } else {
429
                map.put("device", bridgeServers);
430
                map.put("transducer", bridgeServers);
431
            }
432
        } else {
433
            map.put("server", bridges);
434
            map.put("device", bridges);
435
            map.put("transducer", bridges);
436
        }
422 437
        return map;
423 438
    }
424 439