完善航班动态信息服务

This commit is contained in:
zhouxiunai
2018-12-04 10:26:02 +08:00
parent 0cc33b89c5
commit af4809efca
2 changed files with 51 additions and 12 deletions
@@ -1,5 +1,6 @@
package com.gzzn.omms.msgexchangeapi.redis; package com.gzzn.omms.msgexchangeapi.redis;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@@ -64,13 +65,9 @@ public final class RedisService {
* @param key 可以传一个值 或多个 * @param key 可以传一个值 或多个
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public void del(String... key) { public void del(Collection<String> keys) {
if (key != null && key.length > 0) { if (keys != null && keys.size() > 0) {
if (key.length == 1) { redisTemplate.delete(keys);
redisTemplate.delete(key[0]);
} else {
redisTemplate.delete(CollectionUtils.arrayToList(key));
}
} }
} }
// ============================String============================= // ============================String=============================
@@ -498,4 +495,14 @@ public final class RedisService {
return 0; return 0;
} }
} }
/**
* 返回指定模式的keys
* @param patten
* @return
*/
public Set<String> keys(String pattern)
{
return redisTemplate.keys(pattern);
}
} }
@@ -1,6 +1,7 @@
package com.gzzn.omms.msgexchangeapi.service; package com.gzzn.omms.msgexchangeapi.service;
import java.util.List; import java.util.List;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -13,10 +14,11 @@ import com.gzzn.omms.msgexchangeapi.redis.RedisService;
@Service @Service
public class FlightInfoServiceImpl implements IFlightInfoService { public class FlightInfoServiceImpl implements IFlightInfoService {
private static final String redisKey="FlightInfo:";
@Autowired @Autowired
RedisService redisService; RedisService redisService;
@Autowired @Autowired
IExchangeService exchangeService; IExchangeService exchangeService;
@@ -27,14 +29,16 @@ public class FlightInfoServiceImpl implements IFlightInfoService {
public Boolean updateByDaySchd(Cminmsg cminmsg) { public Boolean updateByDaySchd(Cminmsg cminmsg) {
String clobMsg = cminmsg.getCminmsgsClobMsg(); String clobMsg = cminmsg.getCminmsgsClobMsg();
DnldMsg dnldMsg = exchangeService.xmlstrToObject(clobMsg, DnldMsg.class); DnldMsg dnldMsg = exchangeService.xmlstrToObject(clobMsg, DnldMsg.class);
this.removeAll();
//
List<FLTR> lsFltr = dnldMsg List<FLTR> lsFltr = dnldMsg
.getSchd() .getSchd()
.getFltr(); .getFltr();
for(FLTR fltr : lsFltr) for(FLTR fltr : lsFltr)
{ {
redisService.set(fltr.getFlid(), fltr); redisSet(fltr);
} }
return true; return true;
@@ -52,7 +56,35 @@ public class FlightInfoServiceImpl implements IFlightInfoService {
} }
return null; return null;
}//end function }//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<String> keys = redisService.keys(redisKey + "*");
redisService.del(keys);
}
} }