/// <summary> /// 微博操作日志事件处理 /// </summary> private void MicroblogOperationLogEventModule_After(MicroblogEntity senders, CommonEventArgs eventArgs) { if (eventArgs.EventOperationType == EventOperationType.Instance().Delete() || eventArgs.EventOperationType == EventOperationType.Instance().Approved() || eventArgs.EventOperationType == EventOperationType.Instance().Disapproved() || eventArgs.EventOperationType == EventOperationType.Instance().SetEssential() || eventArgs.EventOperationType == EventOperationType.Instance().SetSticky() || eventArgs.EventOperationType == EventOperationType.Instance().CancelEssential() || eventArgs.EventOperationType == EventOperationType.Instance().CancelSticky()) { OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo); entry.ApplicationId = entry.ApplicationId; entry.Source = MicroblogConfig.Instance().ApplicationName; entry.OperationType = eventArgs.EventOperationType; entry.OperationObjectName = StringUtility.Trim(senders.Body, 20); entry.OperationObjectId = senders.MicroblogId; entry.Description = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType, entry.ApplicationId), "微博", entry.OperationObjectName); OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>(); logService.Create(entry); } }
/// <summary> /// 微博动态 /// </summary> /// <param name="sender">微博实体</param> /// <param name="eventArgs">事件参数</param> private void MicroblogActivityModule_After(MicroblogEntity sender, AuditEventArgs eventArgs) { ActivityService activityService = new ActivityService(); bool? auditDirection = new AuditService().ResolveAuditDirection(eventArgs.OldAuditStatus, eventArgs.NewAuditStatus); if (auditDirection == true) { var microblogUrlGetter = MicroblogUrlGetterFactory.Get(sender.TenantTypeId); if (microblogUrlGetter == null) { return; } Activity actvity = Activity.New(); actvity.ActivityItemKey = ActivityItemKeys.Instance().CreateMicroblog(); actvity.ApplicationId = MicroblogConfig.Instance().ApplicationId; actvity.HasImage = sender.HasPhoto; actvity.HasMusic = sender.HasMusic; actvity.HasVideo = sender.HasVideo; actvity.IsOriginalThread = !sender.IsForward; actvity.IsPrivate = false; actvity.SourceId = sender.MicroblogId; actvity.TenantTypeId = TenantTypeIds.Instance().Microblog(); actvity.UserId = sender.UserId; //生成Owner为用户的动态 if (microblogUrlGetter.ActivityOwnerType == ActivityOwnerTypes.Instance().User()) { Activity actvityOfUser = Activity.New(); actvityOfUser.ActivityItemKey = actvity.ActivityItemKey; actvityOfUser.ApplicationId = actvity.ApplicationId; actvityOfUser.HasImage = actvity.HasImage; actvityOfUser.HasMusic = actvity.HasMusic; actvityOfUser.HasVideo = actvity.HasVideo; actvityOfUser.IsOriginalThread = actvity.IsOriginalThread; actvityOfUser.IsPrivate = actvity.IsPrivate; actvityOfUser.UserId = actvity.UserId; actvityOfUser.ReferenceId = actvity.ReferenceId; actvityOfUser.SourceId = actvity.SourceId; actvityOfUser.TenantTypeId = actvity.TenantTypeId; actvityOfUser.OwnerId = sender.UserId; actvityOfUser.OwnerName = sender.User.DisplayName; actvityOfUser.OwnerType = ActivityOwnerTypes.Instance().User(); activityService.Generate(actvityOfUser, true); } else { actvity.OwnerId = sender.OwnerId; actvity.OwnerType = microblogUrlGetter.ActivityOwnerType; actvity.OwnerName = microblogUrlGetter.GetOwnerName(sender.OwnerId); activityService.Generate(actvity, false); //生成Owner为用户的动态 if (!microblogUrlGetter.IsPrivate(sender.OwnerId)) { Activity actvityOfUser = Activity.New(); actvityOfUser.ActivityItemKey = actvity.ActivityItemKey; actvityOfUser.ApplicationId = actvity.ApplicationId; actvityOfUser.HasImage = actvity.HasImage; actvityOfUser.HasMusic = actvity.HasMusic; actvityOfUser.HasVideo = actvity.HasVideo; actvityOfUser.IsOriginalThread = actvity.IsOriginalThread; actvityOfUser.IsPrivate = actvity.IsPrivate; actvityOfUser.UserId = actvity.UserId; actvityOfUser.ReferenceId = actvity.ReferenceId; actvityOfUser.SourceId = actvity.SourceId; actvityOfUser.TenantTypeId = actvity.TenantTypeId; actvityOfUser.OwnerId = sender.UserId; actvityOfUser.OwnerName = sender.User.DisplayName; actvityOfUser.OwnerType = ActivityOwnerTypes.Instance().User(); activityService.Generate(actvityOfUser, false); } } } else if (auditDirection == false) //删除动态 { activityService.DeleteSource(TenantTypeIds.Instance().Microblog(), sender.MicroblogId); } }