消息管理
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);
|
||||
list.addAll(arrayCache.toList(BmMessage.class));
|
||||
});
|
||||
List<BmMessage> result = list.stream().filter(o -> companyId.equals(o.getFromCompany())).collect(Collectors.toList());
|
||||
Map<Long, BmMessage> groupedMessages = result.stream()
|
||||
List<BmMessage> result = list.stream().filter(o -> companyId.equals(o.getFromCompany()) || companyId.equals(o.getToCompany())).collect(Collectors.toList());
|
||||
Map<Long, BmMessage> groupedMessages1 = result.stream()
|
||||
.collect(Collectors.toMap(
|
||||
BmMessage::getFromCompany,
|
||||
Function.identity(),
|
||||
(existing, replacement) -> existing
|
||||
));
|
||||
List<BmMessage> messages = new ArrayList<>(groupedMessages.values());
|
||||
return messages;
|
||||
Map<Long, BmMessage> groupedMessages2 = result.stream()
|
||||
.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) {
|
||||
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<>();
|
||||
keys.stream().forEach(t -> {
|
||||
JSONArray arrayCache = SpringUtils.getBean(RedisService.class).getCacheObject(t);
|
||||
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 result;
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -104,7 +117,7 @@ public class BmMessageServiceImpl implements IBmMessageService {
|
|||
bmMessage.setFromCompany(companyId);
|
||||
bmMessage.setFromUser(SecurityUtils.getLoginUser().getSysUser().getUserId());
|
||||
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);
|
||||
return bmMessageMapper.insertBmMessage(bmMessage);
|
||||
} catch (Exception e) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue