/// <summary> /// 重建索引 /// </summary> /// <param name="code">CODE</param> /// <returns></returns> public ActionResult RebuildIndex(string code) { ISearcher searcher = SearcherFactory.GetSearcher(code); string name = searcher.Name; string manageIndexUrl = SiteUrls.Instance().ManageIndex(); string rebuildIndexUrl = SiteUrls.Instance().RebuildIndex(code); #region 操作日志 OperationLogEntry log = new OperationLogEntry(); log.DateCreated = DateTime.UtcNow; log.OperatorUserId = currentUser.UserId; log.Operator = currentUser.DisplayName; log.OperatorIP = Tunynet.Utilities.WebUtility.GetIP(); log.OperationType = EntityOperationType.Update.ToString(); log.OperationObjectName = "重建" + name + "索引"; log.Source = "索引管理"; log.AccessUrl = rebuildIndexUrl; #endregion string url = SiteUrls.Instance().ControlPanelOperating("正在执行[重建\"" + name + "\"索引]操作,请耐心等待", manageIndexUrl, rebuildIndexUrl); searcher.RebuildIndex(); log.Description = "重建" + name + "索引成功"; logService.Create(log); return(Redirect(SiteUrls.Instance().ControlPanelSuccess("执行成功", SiteUrls.Instance().ManageIndex()))); }
void UserOperationLogProcesser_After(User sender, CommonEventArgs eventArgs) { if (eventArgs.EventOperationType == EventOperationType.Instance().BanUser() || eventArgs.EventOperationType == EventOperationType.Instance().UnbanUser() || eventArgs.EventOperationType == EventOperationType.Instance().Update()) { OperationLogService logService = new OperationLogService(); logService = Tunynet.DIContainer.Resolve <OperationLogService>(); IUserService userService = DIContainer.Resolve <IUserService>(); OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo); entry.ApplicationId = 0; entry.Source = string.Empty; entry.OperationObjectName = sender.UserName; entry.OperationObjectId = 0; if (eventArgs.EventOperationType == EventOperationType.Instance().Update()) { entry.OperationType = "UpdateUser"; entry.Description = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_Update"), "用户", entry.OperationObjectName); } else { entry.OperationType = eventArgs.EventOperationType; entry.Description = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), entry.OperationObjectName); } logService.Create(entry); } }
/// <summary> /// 问题操作日志事件处理 /// </summary> private void AskQuestionOperationLogEventModule_After(AskQuestion 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()) { //if (eventArgs.EventOperationType == EventOperationType.Instance().SetEssential() // || eventArgs.EventOperationType == EventOperationType.Instance().CancelEssential()) //{ OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo); entry.ApplicationId = eventArgs.ApplicationId; entry.Source = AskConfig.Instance().ApplicationName; entry.OperationType = eventArgs.EventOperationType; entry.OperationObjectName = senders.Subject; entry.OperationObjectId = senders.QuestionId; entry.Description = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType, entry.ApplicationId), "问题", entry.OperationObjectName); OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>(); logService.Create(entry); } }
private void RewardAndPunishmentUser_After(IUser sender, RewardAndPunishmentUserEventArgs eventArgs) { OperationLogService logService = new OperationLogService(); logService = Tunynet.DIContainer.Resolve <OperationLogService>(); OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo); entry.ApplicationId = 0; entry.Source = string.Empty; entry.OperationType = eventArgs.EventOperationType; entry.OperationObjectName = sender.UserName; entry.OperationObjectId = sender.UserId; entry.Description = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), entry.OperationObjectName); logService.Create(entry); }
void UserOperationLogEventMoudle_After(User sender, DeleteUserEventArgs eventArgs) { OperationLogService logService = new OperationLogService(); logService = Tunynet.DIContainer.Resolve <OperationLogService>(); OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo); entry.ApplicationId = 0; entry.Source = string.Empty; entry.OperationType = EventOperationType.Instance().DeleteUser(); entry.OperationObjectName = sender.UserName; entry.OperationObjectId = 0; entry.Description = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + entry.OperationType), entry.OperationObjectName); logService.Create(entry); }
/// <summary> /// 回答操作日志事件处理 /// </summary> private void AskAnswerOperationLogEventModule_After(AskAnswer senders, CommonEventArgs eventArgs) { if (eventArgs.EventOperationType == EventOperationType.Instance().Delete()) { OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo); entry.ApplicationId = entry.ApplicationId; entry.Source = AskConfig.Instance().ApplicationName; entry.OperationType = eventArgs.EventOperationType; entry.OperationObjectName = StringUtility.Trim(senders.Body, 20); entry.OperationObjectId = senders.QuestionId; entry.Description = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), "回答", entry.OperationObjectName); OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>(); logService.Create(entry); } }
/// <summary> /// 资讯操作日志事件处理 /// </summary> private void ContentFolderOperationLogEventModule_After(ContentFolder sender, CommonEventArgs eventArgs) { if (eventArgs.EventOperationType == EventOperationType.Instance().Create() || eventArgs.EventOperationType == EventOperationType.Instance().Update() || eventArgs.EventOperationType == EventOperationType.Instance().Delete() ) { OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo); entry.ApplicationId = CmsConfig.Instance().ApplicationId; entry.Source = CmsConfig.Instance().ApplicationName; entry.OperationType = eventArgs.EventOperationType; entry.OperationObjectName = sender.FolderName; entry.OperationObjectId = sender.ContentFolderId; entry.Description = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType, entry.ApplicationId), "资讯栏目", entry.OperationObjectName); OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>(); logService.Create(entry); } }
void PermissionOperationLogEventMoudle_BatchAfter(IEnumerable <PermissionItemInUserRole> senders, CommonEventArgs eventArgs) { //只记录批量更新操作 if (eventArgs.EventOperationType != EventOperationType.Instance().Update()) { return; } OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>(); PermissionService permissionService = new PermissionService(); OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo); entry.ApplicationId = 0; entry.Source = string.Empty; entry.OperationType = eventArgs.EventOperationType; IEnumerable <string> roleNames = senders.Select(n => n.RoleName).Distinct(); entry.OperationObjectName = string.Join(",", roleNames); entry.OperationObjectId = 0; entry.Description = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), "权限", entry.OperationObjectName); logService.Create(entry); }
/// <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); } }
void UserOperationLogEventMoudle_BatchAfter(IEnumerable <User> senders, CommonEventArgs eventArgs) { //只有批量激活用户、取消激活用户、管制用户、取消管制用户时,才记录到操作日志 if (eventArgs.EventOperationType == EventOperationType.Instance().ActivateUser() || eventArgs.EventOperationType == EventOperationType.Instance().CancelActivateUser() || eventArgs.EventOperationType == EventOperationType.Instance().ModerateUser() || eventArgs.EventOperationType == EventOperationType.Instance().CancelModerateUser()) { OperationLogService logService = new OperationLogService(); logService = Tunynet.DIContainer.Resolve <OperationLogService>(); IUserService userService = DIContainer.Resolve <IUserService>(); OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo); entry.ApplicationId = 0; entry.Source = string.Empty; entry.OperationType = eventArgs.EventOperationType; IEnumerable <string> userNames = senders.Select(n => n.UserName); entry.OperationObjectName = string.Join(",", userNames); entry.OperationObjectId = 0; entry.Description = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), entry.OperationObjectName); logService.Create(entry); } }
/// <summary> /// 照片操作日志事件处理 /// </summary> private void PhotoOperationLogEventModule_After(Photo 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 = PhotoConfig.Instance().ApplicationName; entry.OperationType = eventArgs.EventOperationType; entry.OperationObjectName = string.IsNullOrEmpty(senders.Description) ? "照片" : senders.Description; entry.OperationObjectId = senders.PhotoId; 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> private void RecommendOperationLogEventModule_After(RecommendItem sender, CommonEventArgs eventArgs) { if (eventArgs.EventOperationType == EventOperationType.Instance().Create() || eventArgs.EventOperationType == EventOperationType.Instance().Delete()) { TenantTypeService tenantTypeService = new TenantTypeService(); TenantType tenantType = tenantTypeService.Get(sender.TenantTypeId); if (tenantType == null) { return; } OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo); entry.ApplicationId = tenantType.ApplicationId; entry.Source = tenantType.Name; entry.OperationType = eventArgs.EventOperationType; entry.OperationObjectName = sender.ItemName; entry.OperationObjectId = sender.ItemId; entry.Description = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), tenantType.Name + "推荐", entry.OperationObjectName); OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>(); logService.Create(entry); } }
/// <summary> /// 奖惩用户 /// </summary> /// <param name="userId">被奖惩用户</param> /// <param name="experiencePoints">经验</param> /// <param name="reputationPoints">威望</param> /// <param name="tradePoints">金币</param> /// <param name="description">奖惩理由</param> public void Reward(long userId, int experiencePoints, int reputationPoints, int tradePoints, string description) { if (experiencePoints == 0 && reputationPoints == 0 && tradePoints == 0) { return; } IUserService userService = DIContainer.Resolve <IUserService>(); IUser user = userService.GetUser(userId); if (user == null) { throw new ExceptionFacade(string.Format("用户“{0}”不存在或已被删除", userId)); } //1、增减用户积分额并生成用户积分记录; bool isIncome = experiencePoints > 0 || reputationPoints > 0 || tradePoints > 0; PointRecord pointRecord = new PointRecord(userId, isIncome ? ResourceAccessor.GetString("Common_AdminReward") : ResourceAccessor.GetString("Common_AdminPunish"), description, experiencePoints, reputationPoints, tradePoints); pointRecordRepository.Insert(pointRecord); userService.ChangePoints(userId, experiencePoints, reputationPoints, tradePoints); //2、增减系统积分额并生成系统积分记录; PointRecord systemPointRecord = new PointRecord(0, isIncome ? ResourceAccessor.GetString("Common_RewardUser") : ResourceAccessor.GetString("Common_PunishUser"), description, -experiencePoints, -reputationPoints, -tradePoints); pointRecordRepository.Insert(systemPointRecord); ChangeSystemTradePoints(-tradePoints); //3、生成操作文章 OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>(); IOperatorInfoGetter operatorInfoGetter = DIContainer.Resolve <IOperatorInfoGetter>(); if (operatorInfoGetter == null) { return; } OperationLogEntry logEntry = new OperationLogEntry(operatorInfoGetter.GetOperatorInfo()); logEntry.ApplicationId = 0; logEntry.Source = string.Empty; logEntry.OperationType = EventOperationType.Instance().Update(); logEntry.OperationObjectName = user.UserName; logEntry.OperationObjectId = userId; PointCategory experiencePointCategory = GetPointCategory(PointCategoryKeys.Instance().ExperiencePoints()); if (experiencePointCategory == null) { return; } PointCategory reputationPointCategory = GetPointCategory(PointCategoryKeys.Instance().ReputationPoints()); if (reputationPointCategory == null) { return; } PointCategory tradePointCategory = GetPointCategory(PointCategoryKeys.Instance().TradePoints()); if (tradePointCategory == null) { return; } logEntry.Description = string.Format("{0}“{1}”:{2}{3}{4},{5}{6}{7},{8}{9}{10}", isIncome ? ResourceAccessor.GetString("Common_RewardUser") : ResourceAccessor.GetString("Common_PunishUser"), user.UserName, experiencePoints, experiencePointCategory.Unit, experiencePointCategory.CategoryName, reputationPoints, reputationPointCategory.Unit, reputationPointCategory.CategoryName, tradePoints, tradePointCategory.Unit, tradePointCategory.CategoryName); logService.Create(logEntry); }