Browse Source

fix: 修复企业推送粉丝关联错误

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

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

@ -83,28 +83,30 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe @@ -83,28 +83,30 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe
.eq(PushApplication::getMessageSecret, pushChatMessage.getMessageSecret())
.eq(PushApplication::getCreateById, pushChatMessage.getUserId())
.eq(PushApplication::getStatus, "0"));
pushApplication = Optional.of(pushApplication).orElseThrow(() -> new CheckedException("你当前没有权限发送消息,请联系管理员!"));
pushApplication = Optional.of(pushApplication).orElseThrow(() -> new CheckedException("你当前没有权限推送消息,请先创建推送应用后在试!"));
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
// 如果ip地址存在即验证发送方ip
if (StrUtil.isNotBlank(pushApplication.getIgnoreIp()) && !StrUtil.contains(pushApplication.getIgnoreIp(), ServletUtil.getClientIP(request))) {
throw new CheckedException("你的ip地址不正确,请检查消息应用中设置的ip地址!");
throw new CheckedException("你的ip地址不正确,请检查推送应用中设置的ip地址!");
}
// 配置推送用户
if (StrUtil.isBlank(pushChatMessage.getAlias())) {
List<PushConcernFan> pushConcernFanList = iPushConcernFanService.list(Wrappers.<PushConcernFan>lambdaQuery().eq(PushConcernFan::getFanUserId, pushChatMessage.getUserId()));
List<PushConcernFan> pushConcernFanList = iPushConcernFanService.list(Wrappers.<PushConcernFan>lambdaQuery()
.eq(PushConcernFan::getConcernUserId, pushChatMessage.getUserId())
.eq(PushConcernFan::getStatus, PushAuditStatusEnum.APPROVED));
pushChatMessage.setAlias(pushConcernFanList.stream().map(item -> item.getConcernUserId()).collect(Collectors.joining()));
}
// 过滤掉黑名单用户
List<PushBlacklist> pushBlacklists = iPushBlacklistService.list(Wrappers.<PushBlacklist>lambdaQuery().eq(PushBlacklist::getFanUserId, pushChatMessage.getUserId()));
List<PushBlacklist> pushBlacklists = iPushBlacklistService.list(Wrappers.<PushBlacklist>lambdaQuery().eq(PushBlacklist::getConcernUserId, pushChatMessage.getUserId()));
pushBlacklists.forEach(item -> pushChatMessage.setAlias(pushChatMessage.getAlias().replaceAll(item.getConcernUserId() + ",|$", "")));
// 查询推送用户设置的推送类型,如果参数中没有指定则采用默认的推送类型
// 查询粉丝设置的推送类型,如果参数中没有指定则采用默认的推送类型
List<PushConcernFanType> pushConcernFanTypeList = iPushConcernFanTypeService.list(Wrappers.<PushConcernFanType>lambdaQuery()
.eq(PushConcernFanType::getFanUserId, pushChatMessage.getUserId())
.eq(PushConcernFanType::getConcernFanId, pushChatMessage.getUserId())
.eq(StrUtil.isNotBlank(pushChatMessage.getPushTypeId()), PushConcernFanType::getTypeId, pushChatMessage.getPushTypeId())
.eq(StrUtil.isBlank(pushChatMessage.getPushTypeId()), PushConcernFanType::getDefaultType, "1"));

Loading…
Cancel
Save