@ -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 : : getFa nUserId , pushChatMessage . getUserId ( ) ) ) ;
List < PushBlacklist > pushBlacklists = iPushBlacklistService . list ( Wrappers . < PushBlacklist > lambdaQuery ( ) . eq ( PushBlacklist : : getConcer nUserId , pushChatMessage . getUserId ( ) ) ) ;
pushBlacklists . forEach ( item - > pushChatMessage . setAlias ( pushChatMessage . getAlias ( ) . replaceAll ( item . getConcernUserId ( ) + ",|$" , "" ) ) ) ;
// 查询推送用户 设置的推送类型,如果参数中没有指定则采用默认的推送类型
// 查询粉丝 设置的推送类型,如果参数中没有指定则采用默认的推送类型
List < PushConcernFanType > pushConcernFanTypeList = iPushConcernFanTypeService . list ( Wrappers . < PushConcernFanType > lambdaQuery ( )
. eq ( PushConcernFanType : : getFanUser Id , pushChatMessage . getUserId ( ) )
. eq ( PushConcernFanType : : getConcern FanId , pushChatMessage . getUserId ( ) )
. eq ( StrUtil . isNotBlank ( pushChatMessage . getPushTypeId ( ) ) , PushConcernFanType : : getTypeId , pushChatMessage . getPushTypeId ( ) )
. eq ( StrUtil . isBlank ( pushChatMessage . getPushTypeId ( ) ) , PushConcernFanType : : getDefaultType , "1" ) ) ;