redis链接失败的首页返回值处理

This commit is contained in:
qinjie 2024-12-06 10:06:04 +08:00
parent 3826f7f885
commit 1e15debe49
1 changed files with 41 additions and 27 deletions

View File

@ -6,6 +6,8 @@ import com.isu.gaswellwatch.vo.DeviceVO;
import com.isu.gaswellwatch.vo.summary.PieDataVO;
import com.isu.gaswellwatch.vo.summary.PieSummaryVO;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.RedisConnectionFailureException;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -19,6 +21,7 @@ import static com.isu.gaswellwatch.modbus.data.PersistenceHandler.*;
@Service("summaryService")
@Transactional(rollbackFor = Exception.class)
@Slf4j
public class SummaryServiceImpl implements SummaryService {
@Resource(name = "stringRedisTemplate")
@ -30,7 +33,14 @@ public class SummaryServiceImpl implements SummaryService {
@Override
public List<PieSummaryVO> getIndexPieSummary() {
Map<String,String> onlineMap = redisTemplate.opsForHash().entries(ONLINE_DEVICE_CACHE);
Map<String,String> onlineMap = new HashMap<>();
try{
onlineMap = redisTemplate.opsForHash().entries(ONLINE_DEVICE_CACHE);
}catch (RedisConnectionFailureException e){
log.error("获取在线设备缓存失败",e);
return getPieSummaryVOS();
}
//TODO 记得改回从缓存里取值
// Map<String,String> onlineMap = new HashMap<>();
// onlineMap.put("1","true");
@ -38,32 +48,7 @@ public class SummaryServiceImpl implements SummaryService {
// onlineMap.put("3","true");
// onlineMap.put("4","true");
if(onlineMap.isEmpty()){
List<PieSummaryVO> result = new ArrayList<>();
PieSummaryVO pieSummaryVO = new PieSummaryVO();
pieSummaryVO.setChartName("total");
pieSummaryVO.setTitle("设备总数");
pieSummaryVO.setData(List.of());
result.add(pieSummaryVO);
PieSummaryVO pieSummaryVO1 = new PieSummaryVO();
pieSummaryVO1.setChartName(KNPCV1_MODBUS_TYPE);
pieSummaryVO1.setTitle("KNPCV1");
pieSummaryVO1.setData(List.of());
result.add(pieSummaryVO1);
PieSummaryVO pieSummaryVO2 = new PieSummaryVO();
pieSummaryVO2.setChartName(ETC_MODBUS_TYPE);
pieSummaryVO2.setTitle("ETC");
pieSummaryVO2.setData(List.of());
result.add(pieSummaryVO2);
PieSummaryVO pieSummaryVO3 = new PieSummaryVO();
pieSummaryVO3.setChartName(SCSS_MODBUS_TYPE);
pieSummaryVO3.setTitle("四川双晟");
pieSummaryVO3.setData(List.of());
result.add(pieSummaryVO3);
return result;
return getPieSummaryVOS();
}
List<Long> deviceIdList = onlineMap.keySet().stream().map(Long::parseLong).toList();
@ -110,6 +95,35 @@ public class SummaryServiceImpl implements SummaryService {
return pieSummaryVOList;
}
private static List<PieSummaryVO> getPieSummaryVOS() {
List<PieSummaryVO> result = new ArrayList<>();
PieSummaryVO pieSummaryVO = new PieSummaryVO();
pieSummaryVO.setChartName("total");
pieSummaryVO.setTitle("设备总数");
pieSummaryVO.setData(List.of());
result.add(pieSummaryVO);
PieSummaryVO pieSummaryVO1 = new PieSummaryVO();
pieSummaryVO1.setChartName(KNPCV1_MODBUS_TYPE);
pieSummaryVO1.setTitle("KNPCV1");
pieSummaryVO1.setData(List.of());
result.add(pieSummaryVO1);
PieSummaryVO pieSummaryVO2 = new PieSummaryVO();
pieSummaryVO2.setChartName(ETC_MODBUS_TYPE);
pieSummaryVO2.setTitle("ETC");
pieSummaryVO2.setData(List.of());
result.add(pieSummaryVO2);
PieSummaryVO pieSummaryVO3 = new PieSummaryVO();
pieSummaryVO3.setChartName(SCSS_MODBUS_TYPE);
pieSummaryVO3.setTitle("四川双晟");
pieSummaryVO3.setData(List.of());
result.add(pieSummaryVO3);
return result;
}
private static void addKNPCDeviceSummary(String productName, Map<String, List<DeviceVO>> deviceGroup, Map<String, String> onlineMap, List<PieSummaryVO> pieSummaryVOList, String title) {
List<DeviceVO> knpcDeviceList = deviceGroup.get(productName);
PieSummaryVO pieSummaryVO = new PieSummaryVO();