/// <summary> /// 屏蔽用户/取消屏蔽时动态处理 /// </summary> /// <param name="sender">关注实体</param> /// <param name="eventArgs">事件参数</param> void UserBlockedObjectActivityEventModule_After(UserBlockedObject sender, CommonEventArgs eventArgs) { int ownerType = -1; if (sender.ObjectType == BlockedObjectTypes.Instance().User()) ownerType = ActivityOwnerTypes.Instance().User(); else if (sender.ObjectType == BlockedObjectTypes.Instance().Group()) ownerType = ActivityOwnerTypes.Instance().Group(); else return; ActivityService activityService = new ActivityService(); if (EventOperationType.Instance().Create() == eventArgs.EventOperationType) { activityService.RemoveInboxAboutOwner(sender.UserId, sender.ObjectId, ownerType); } else if (EventOperationType.Instance().Delete() == eventArgs.EventOperationType) { activityService.TraceBackInboxAboutOwner(sender.UserId, sender.ObjectId, ownerType); } }
//todo:mazq,by zhengw:走查以下代码:用户关注帖吧时,要追溯该帖吧的动态 /// <summary> /// 关注帖吧事件处理程序 /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> void SubscribeBarSectionEventModule_After(long sender, SubscribeEventArgs eventArgs) { if (eventArgs.TenantTypeId != TenantTypeIds.Instance().BarSection()) return; ActivityService activityService = new ActivityService(); if (EventOperationType.Instance().Create() == eventArgs.EventOperationType) { activityService.TraceBackInboxAboutOwner(eventArgs.UserId, sender, ActivityOwnerTypes.Instance().BarSection()); //用户内容计数 OwnerDataService ownerDataService = new OwnerDataService(TenantTypeIds.Instance().User()); ownerDataService.Change(eventArgs.UserId, OwnerDataKeys.Instance().FollowSectionCount(), 1); } else if (EventOperationType.Instance().Delete() == eventArgs.EventOperationType) { activityService.RemoveInboxAboutOwner(eventArgs.UserId, sender, ActivityOwnerTypes.Instance().BarSection()); //用户内容计数 OwnerDataService ownerDataService = new OwnerDataService(TenantTypeIds.Instance().User()); ownerDataService.Change(eventArgs.UserId, OwnerDataKeys.Instance().FollowSectionCount(), -1); } }
/// <summary> /// 关注用户/取消关注动态处理 /// </summary> /// <param name="sender">关注实体</param> /// <param name="eventArgs">事件参数</param> void FollowActivityEventModule_After(FollowEntity sender, CommonEventArgs eventArgs) { ActivityService activityService = new ActivityService(); if (EventOperationType.Instance().Create() == eventArgs.EventOperationType) { IUser user = DIContainer.Resolve<UserService>().GetUser(sender.UserId); if (user == null) return; Activity activity = Activity.New(); activity.ActivityItemKey = ActivityItemKeys.Instance().FollowUser(); activity.OwnerType = ActivityOwnerTypes.Instance().User(); activity.OwnerId = sender.UserId; activity.OwnerName = user.DisplayName; activity.UserId = sender.UserId; activity.ReferenceId = sender.FollowedUserId; activity.TenantTypeId = TenantTypeIds.Instance().User(); activityService.Generate(activity, false); activityService.TraceBackInboxAboutOwner(sender.UserId, sender.FollowedUserId, ActivityOwnerTypes.Instance().User()); } else if (EventOperationType.Instance().Delete() == eventArgs.EventOperationType) { activityService.RemoveInboxAboutOwner(sender.UserId, sender.FollowedUserId, ActivityOwnerTypes.Instance().User()); } }