diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/service/flightInfo/FlightInfoServiceImpl.java b/src/main/java/com/gzzn/omms/msgexchangeapi/service/flightInfo/FlightInfoServiceImpl.java index b90e38b8..4c0356dc 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/service/flightInfo/FlightInfoServiceImpl.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/service/flightInfo/FlightInfoServiceImpl.java @@ -1,9 +1,10 @@ package com.gzzn.omms.msgexchangeapi.service.flightInfo; import java.util.ArrayList; -import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; import java.util.List; -import java.util.Set; +import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -39,71 +40,40 @@ public class FlightInfoServiceImpl implements IFlightInfoService { .getSCHD() .getFLTR(); - for(SCHD.FLTR fltr : lsFltr) - { - Boolean result = redisSet(fltr); - if(result == false) - { - return false; - } - }//end for - - return true; + Map mapFltr = new HashMap(); + for(FLTR fltr : lsFltr) + { + mapFltr.put(fltr.getFLID().toString(), fltr); + } + return redisService.hmset(redisKey, mapFltr); } //end function @Override public SCHD.FLTR getByFlid(String flid) { - SCHD.FLTR fltr = (SCHD.FLTR) redisGet(flid); + SCHD.FLTR fltr = (SCHD.FLTR) redisService.hget(redisKey, flid); return fltr; } @Override public boolean saveFltr(SCHD.FLTR fltr) { - return redisSet(fltr); + return redisService.hset(redisKey, fltr.getFLID().toString(),(Object)fltr); } - /** - * 重新包装的set - * @param fltr - * @return - */ - private boolean redisSet(SCHD.FLTR fltr) - { - return redisService.set(redisKey + fltr.getFLID(), fltr); - } - /** - * 重新包装的get - * @param flid - * @return - */ - private Object redisGet(String flid) - { - return redisService.get(redisKey + flid); - } - - /** - * 情况所有动态航班信息 - */ - private void removeAll() - { - Set keys = redisService.keys(redisKey + "*"); - redisService.del(keys); - } - - @Override public List findAll() { - Set keys = redisService.keys(redisKey + "*"); - List lsResult = new ArrayList(); - keys.forEach(key->{ - SCHD.FLTR fltr = (SCHD.FLTR) redisService.get(key); - lsResult.add(fltr); - }); + Map mapResult = redisService.hmget(redisKey); + if(mapResult == null) + { + throw new RuntimeException("findAll fltr from redis fail"); + } + + Collection valueCollection = mapResult.values(); + List lsResult = new ArrayList(valueCollection); return lsResult; }//end method @@ -111,7 +81,7 @@ public class FlightInfoServiceImpl implements IFlightInfoService { @Override public boolean deleteFltr(FLTR fltr) { - redisService.del(Arrays.asList(redisKey + fltr.getFLID())); + redisService.hdel(redisKey, fltr.getFLID()); return true; } }