Browse Source

fix: patch chat msg blacklist

master
wangxiang 2 years ago
parent
commit
fe8561b0d5
  1. 5
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java
  2. 10
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushConcernFanServiceImpl.java

5
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java

@ -101,8 +101,8 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe @@ -101,8 +101,8 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe
// 过滤黑名单,根据谁拉黑了推送方用户进行过滤推送用户
List<PushBlacklist> pushBlacklists = iPushBlacklistService.list(Wrappers.<PushBlacklist>lambdaQuery().eq(PushBlacklist::getFanUserId, pushChatMessage.getUserId()));
pushBlacklists.forEach(item -> pushChatMessage.setAlias(pushChatMessage.getAlias().replaceAll(item.getConcernUserId() + ",|$", "")));
pushBlacklists.forEach(item -> pushChatMessage.setAlias(pushChatMessage.getAlias().replaceAll(item.getConcernUserId() + ",?", "")));
if (StrUtil.isBlank(pushChatMessage.getAlias())) throw new CheckedException("消息已推送,但披对方拒收了!");
// 查询粉丝设置的推送类型,如果参数中没有指定则采用默认的推送类型
List<PushConcernFanType> pushConcernFanTypeList = iPushConcernFanTypeService.list(Wrappers.<PushConcernFanType>lambdaQuery()
@ -110,7 +110,6 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe @@ -110,7 +110,6 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe
.eq(StrUtil.isNotBlank(pushChatMessage.getPushTypeId()), PushConcernFanType::getTypeId, pushChatMessage.getPushTypeId())
.eq(StrUtil.isBlank(pushChatMessage.getPushTypeId()), PushConcernFanType::getDefaultType, "1"));
// 推送消息
StrUtil.split(pushChatMessage.getAlias(), ",").forEach(alias -> {
Optional<PushConcernFanType> pushConcernFanTypeOptional = pushConcernFanTypeList.stream().filter(item -> item.getFanUserId().equals(alias)).findFirst();

10
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushConcernFanServiceImpl.java

@ -105,11 +105,19 @@ public class PushConcernFanServiceImpl extends ServiceImpl<PushConcernFanMapper, @@ -105,11 +105,19 @@ public class PushConcernFanServiceImpl extends ServiceImpl<PushConcernFanMapper,
.eq(PushConcernFanType::getConcernFanId, pushChatMessage.getUserId())
.eq(StrUtil.isNotBlank(pushChatMessage.getPushTypeId()), PushConcernFanType::getTypeId, pushChatMessage.getPushTypeId())
.eq(StrUtil.isBlank(pushChatMessage.getPushTypeId()), PushConcernFanType::getDefaultType, "1"));
// 配置推送用户
if (StrUtil.isBlank(pushChatMessage.getAlias())) {
List<PushConcernFan> pushConcernFanList = super.list(Wrappers.<PushConcernFan>lambdaQuery()
.eq(PushConcernFan::getConcernUserId, pushChatMessage.getUserId())
.eq(PushConcernFan::getStatus, PushAuditStatusEnum.APPROVED.getValue()));
pushChatMessage.setAlias(pushConcernFanList.stream().map(item -> item.getConcernUserId()).collect(Collectors.joining()));
}
}
// 过滤黑名单,根据谁拉黑了推送方用户进行过滤推送用户
List<PushBlacklist> pushBlacklists = iPushBlacklistService.list(Wrappers.<PushBlacklist>lambdaQuery().eq(PushBlacklist::getFanUserId, pushChatMessage.getUserId()));
pushBlacklists.forEach(item -> pushChatMessage.setAlias(pushChatMessage.getAlias().replaceAll(item.getConcernUserId() + ",|$", "")));
pushBlacklists.forEach(item -> pushChatMessage.setAlias(pushChatMessage.getAlias().replaceAll(item.getConcernUserId() + ",?", "")));
if (StrUtil.isBlank(pushChatMessage.getAlias())) throw new CheckedException("消息已推送,但披对方拒收了!");
// 推送消息
StrUtil.split(pushChatMessage.getAlias(), ",").forEach(alias -> {

Loading…
Cancel
Save