车辆实训记录数据管理 - 在线车辆、直播间和用户实训记录存储
/** 保存所有车辆(流动站)当前在线记录数据\n * 1、当设备上线就会生成一条在线记录,添加到当前map\n * 2、当设备离线(判定真正离线)就从当前map中移除\n * key:流动站ID value:车辆实训记录实体类\n /\n private final Map<Long,CarRealRecord> allOnlineCarsRealRecordsMap = new HashMap<>();\n /* 保存当前在线车辆(流动站)直播间,里面的观众进出直播间的数据\n * 1、当用户进入直播间,就生成一条数据,通过流动站编号\n * 2、当设备离线(判定真正离线)就从当前map中移除\n * Map1 key:流动站ID value:Map2\n * Map2 key:看直播用户编号 value:直播用户记录实体类集合\n /\n private final Map<Long,Map<Long,List<LiveUserRecord>>> allLiveUserRecordsMap = new HashMap<>();\n /* 保存当前在线车辆(流动站)对应的用户实训记录\n * Map1 key:流动站ID value:Map2\n * Map2 key: 实训用户ID value:实训记录List\n */\n private final Map<Long,Map<Long,List<UserRealRecord>>> allUserRealRecordsMap = new HashMap<>();\n\n \n\n public void addOneLiveUserRecordMap(long userId,long moveId){\n //1.在线车辆map中此车辆是否存在\n if (allOnlineCarsRealRecordsMap.containsKey(moveId)) {\n CarRealRecord carRealRecord = allOnlineCarsRealRecordsMap.get(moveId);\n //2.直播用户记录map是否存在此流动站\n if (allLiveUserRecordsMap.containsKey(moveId)){\n Map<Long,List<LiveUserRecord>> liveUserRecordMap = allLiveUserRecordsMap.get(moveId);\n //3.其中是否存在此用户ID\n if (liveUserRecordMap.containsKey(userId)){\n //存在此用户ID,在其对应list添加一条数据\n List<LiveUserRecord> liveUserRecordList = liveUserRecordMap.get(userId);\n LiveUserRecord liveUserRecord = new LiveUserRecord();\n liveUserRecord.setUserId(userId);\n liveUserRecord.setStartDatetime(new Date());\n liveUserRecord.setMobileDeviceId(moveId);\n liveUserRecord.setCarRealRecordId(carRealRecord.getCarRealRecordId());\n liveUserRecordList.add(liveUserRecord);\n }else {\n //不存在此用户ID,新增一条map\n List<LiveUserRecord> liveUserRecordList = new ArrayList<>();\n LiveUserRecord liveUserRecord = new LiveUserRecord();\n liveUserRecord.setUserId(userId);\n liveUserRecord.setStartDatetime(new Date());\n liveUserRecord.setMobileDeviceId(moveId);\n liveUserRecord.setCarRealRecordId(carRealRecord.getCarRealRecordId());\n liveUserRecordList.add(liveUserRecord);\n liveUserRecordMap.put(userId,liveUserRecordList);\n allLiveUserRecordsMap.put(moveId,liveUserRecordMap);\n }\n }else {\n //直播用户记录map不存在此流动站\n Map<Long,List<LiveUserRecord>> liveUserRecordMap = new HashMap<>();\n List<LiveUserRecord> liveUserRecordList = new ArrayList<>();\n LiveUserRecord liveUserRecord = new LiveUserRecord();\n liveUserRecord.setUserId(userId);\n liveUserRecord.setStartDatetime(new Date());\n liveUserRecord.setMobileDeviceId(moveId);\n liveUserRecord.setCarRealRecordId(carRealRecord.getCarRealRecordId());\n liveUserRecordList.add(liveUserRecord);\n liveUserRecordMap.put(userId,liveUserRecordList);\n allLiveUserRecordsMap.put(moveId,liveUserRecordMap);\n }\n }\n }\n
原文地址: https://www.cveoy.top/t/topic/qEzs 著作权归作者所有。请勿转载和采集!