From af4809efca33ee4344321efd485ff53503f7f40f Mon Sep 17 00:00:00 2001 From: zhouxiunai <154707516@qq.com> Date: Tue, 4 Dec 2018 10:26:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=88=AA=E7=8F=AD=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E4=BF=A1=E6=81=AF=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../msgexchangeapi/redis/RedisService.java | 21 ++++++---- .../service/FlightInfoServiceImpl.java | 42 ++++++++++++++++--- 2 files changed, 51 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/redis/RedisService.java b/src/main/java/com/gzzn/omms/msgexchangeapi/redis/RedisService.java index 7893d0aa..41071d02 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/redis/RedisService.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/redis/RedisService.java @@ -1,5 +1,6 @@ package com.gzzn.omms.msgexchangeapi.redis; +import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; @@ -64,13 +65,9 @@ public final class RedisService { * @param key 可以传一个值 或多个 */ @SuppressWarnings("unchecked") - public void del(String... key) { - if (key != null && key.length > 0) { - if (key.length == 1) { - redisTemplate.delete(key[0]); - } else { - redisTemplate.delete(CollectionUtils.arrayToList(key)); - } + public void del(Collection keys) { + if (keys != null && keys.size() > 0) { + redisTemplate.delete(keys); } } // ============================String============================= @@ -498,4 +495,14 @@ public final class RedisService { return 0; } } + + /** + * 返回指定模式的keys + * @param patten + * @return + */ + public Set keys(String pattern) + { + return redisTemplate.keys(pattern); + } } diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/service/FlightInfoServiceImpl.java b/src/main/java/com/gzzn/omms/msgexchangeapi/service/FlightInfoServiceImpl.java index 274dc0d4..00953776 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/service/FlightInfoServiceImpl.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/service/FlightInfoServiceImpl.java @@ -1,6 +1,7 @@ package com.gzzn.omms.msgexchangeapi.service; import java.util.List; +import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -13,10 +14,11 @@ import com.gzzn.omms.msgexchangeapi.redis.RedisService; @Service public class FlightInfoServiceImpl implements IFlightInfoService { + private static final String redisKey="FlightInfo:"; + @Autowired RedisService redisService; - @Autowired IExchangeService exchangeService; @@ -27,14 +29,16 @@ public class FlightInfoServiceImpl implements IFlightInfoService { public Boolean updateByDaySchd(Cminmsg cminmsg) { String clobMsg = cminmsg.getCminmsgsClobMsg(); DnldMsg dnldMsg = exchangeService.xmlstrToObject(clobMsg, DnldMsg.class); - + + this.removeAll(); + + // List lsFltr = dnldMsg .getSchd() .getFltr(); - for(FLTR fltr : lsFltr) { - redisService.set(fltr.getFlid(), fltr); + redisSet(fltr); } return true; @@ -52,7 +56,35 @@ public class FlightInfoServiceImpl implements IFlightInfoService { } - return null; }//end function + + /** + * 重新包装的set + * @param fltr + * @return + */ + private boolean redisSet(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); + } }