消息管理
This commit is contained in:
parent
0f127d5b6a
commit
7e0a405019
|
|
@ -67,27 +67,40 @@ public class BmMessageServiceImpl implements IBmMessageService {
|
||||||
JSONArray arrayCache = SpringUtils.getBean(RedisService.class).getCacheObject(t);
|
JSONArray arrayCache = SpringUtils.getBean(RedisService.class).getCacheObject(t);
|
||||||
list.addAll(arrayCache.toList(BmMessage.class));
|
list.addAll(arrayCache.toList(BmMessage.class));
|
||||||
});
|
});
|
||||||
List<BmMessage> result = list.stream().filter(o -> companyId.equals(o.getFromCompany())).collect(Collectors.toList());
|
List<BmMessage> result = list.stream().filter(o -> companyId.equals(o.getFromCompany()) || companyId.equals(o.getToCompany())).collect(Collectors.toList());
|
||||||
Map<Long, BmMessage> groupedMessages = result.stream()
|
Map<Long, BmMessage> groupedMessages1 = result.stream()
|
||||||
.collect(Collectors.toMap(
|
.collect(Collectors.toMap(
|
||||||
BmMessage::getFromCompany,
|
BmMessage::getFromCompany,
|
||||||
Function.identity(),
|
Function.identity(),
|
||||||
(existing, replacement) -> existing
|
(existing, replacement) -> existing
|
||||||
));
|
));
|
||||||
List<BmMessage> messages = new ArrayList<>(groupedMessages.values());
|
Map<Long, BmMessage> groupedMessages2 = result.stream()
|
||||||
return messages;
|
.collect(Collectors.toMap(
|
||||||
|
BmMessage::getToCompany,
|
||||||
|
Function.identity(),
|
||||||
|
(existing, replacement) -> existing
|
||||||
|
));
|
||||||
|
List<BmMessage> messages1 = new ArrayList<>(groupedMessages1.values());
|
||||||
|
List<BmMessage> messages2 = new ArrayList<>(groupedMessages2.values());
|
||||||
|
List<BmMessage> messages3 = new ArrayList<>();
|
||||||
|
messages3.addAll(messages1);
|
||||||
|
messages3.addAll(messages2);
|
||||||
|
return messages3;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<BmMessage> selectBmMessageListFromCacheOne(BmMessage bmMessage) {
|
public List<BmMessage> selectBmMessageListFromCacheOne(BmMessage bmMessage) {
|
||||||
Long companyId = SecurityUtils.getLoginUser().getSysUser().getCompanyId();
|
Long companyId = SecurityUtils.getLoginUser().getSysUser().getCompanyId();
|
||||||
Collection<String> keys = SpringUtils.getBean(RedisService.class).keys(MaterialConstants.CACHE_MATERIAL_MALL_MESSAGE + "*");
|
Collection<String> keys1 = SpringUtils.getBean(RedisService.class).keys(MaterialConstants.CACHE_MATERIAL_MALL_MESSAGE + "*" + ":" + companyId);
|
||||||
|
Collection<String> keys2 = SpringUtils.getBean(RedisService.class).keys(MaterialConstants.CACHE_MATERIAL_MALL_MESSAGE + companyId + ":" + "*");
|
||||||
|
List<String> keys = new ArrayList<>();
|
||||||
|
keys.addAll(keys1);
|
||||||
|
keys.addAll(keys2);
|
||||||
List<BmMessage> list = new ArrayList<>();
|
List<BmMessage> list = new ArrayList<>();
|
||||||
keys.stream().forEach(t -> {
|
keys.stream().forEach(t -> {
|
||||||
JSONArray arrayCache = SpringUtils.getBean(RedisService.class).getCacheObject(t);
|
JSONArray arrayCache = SpringUtils.getBean(RedisService.class).getCacheObject(t);
|
||||||
list.addAll(arrayCache.toList(BmMessage.class));
|
list.addAll(arrayCache.toList(BmMessage.class));
|
||||||
});
|
});
|
||||||
List<BmMessage> result = list.stream().filter(o -> companyId.equals(o.getFromCompany()) && o.getToCompany().equals(bmMessage.getToCompany())).collect(Collectors.toList());
|
return list;
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -104,7 +117,7 @@ public class BmMessageServiceImpl implements IBmMessageService {
|
||||||
bmMessage.setFromCompany(companyId);
|
bmMessage.setFromCompany(companyId);
|
||||||
bmMessage.setFromUser(SecurityUtils.getLoginUser().getSysUser().getUserId());
|
bmMessage.setFromUser(SecurityUtils.getLoginUser().getSysUser().getUserId());
|
||||||
bmMessage.setUuid(String.valueOf(UUID.randomUUID()));
|
bmMessage.setUuid(String.valueOf(UUID.randomUUID()));
|
||||||
String msgKey = MaterialConstants.CACHE_MATERIAL_MALL_MESSAGE + System.currentTimeMillis();
|
String msgKey = MaterialConstants.CACHE_MATERIAL_MALL_MESSAGE + companyId + ":" + bmMessage.getToCompany();
|
||||||
(SpringUtils.getBean(RedisService.class)).setCacheObject(msgKey, Arrays.asList(bmMessage), MaterialConstants.CACHE_MATERIAL_MALL_MESSAGE_HOURS, TimeUnit.HOURS);
|
(SpringUtils.getBean(RedisService.class)).setCacheObject(msgKey, Arrays.asList(bmMessage), MaterialConstants.CACHE_MATERIAL_MALL_MESSAGE_HOURS, TimeUnit.HOURS);
|
||||||
return bmMessageMapper.insertBmMessage(bmMessage);
|
return bmMessageMapper.insertBmMessage(bmMessage);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue