/// <summary> /// 删除用户记录(删除用户时使用) /// </summary> /// <param name="userId">被删除用户</param> /// <param name="takeOverUserName">接管用户名</param> /// <param name="takeOverAll">是否接管被删除用户的所有内容</param> public void DeleteUser(long userId, string takeOverUserName, bool takeOverAll) { long takeOverUserId = UserIdToUserNameDictionary.GetUserId(takeOverUserName); IUserService userService = DIContainer.Resolve <IUserService>(); User takeOver = userService.GetFullUser(takeOverUserId); BarSectionService barSectionService = new BarSectionService(); BarThreadService barThreadService = new BarThreadService(); BarPostService barPostService = new BarPostService(); //删除用户时,不删除贴吧,把贴吧转让,如果没有指定转让人,那就转给网站初始管理员 if (takeOver == null) { takeOverUserId = new SystemDataService().GetLong("Founder"); takeOver = userService.GetFullUser(takeOverUserId); } barThreadRepository.DeleteUser(userId, takeOver, takeOverAll); if (takeOver != null) { if (!takeOverAll) { barThreadService.DeletesByUserId(userId); barPostService.DeletesByUserId(userId); } } //else //{ // barSectionService.DeletesByUserId(userId); // barThreadService.DeletesByUserId(userId); // barPostService.DeletesByUserId(userId); //} }
/// <summary> /// 获取统计代码 /// </summary> /// <returns></returns> public string GetStatisticsCode() { SystemDataService service = new SystemDataService(); long siteId = service.GetLong("CNZZStatisticsSiteId"); if (siteId > 0) { return(string.Format("<script src='http://pw.cnzz.com/c.php?id={0}&l=2' language='JavaScript' charset='gb2312'></script>", siteId)); } return(string.Empty); }
/// <summary> /// 获取展示统计页面的连接 /// </summary> /// <returns></returns> public string GetCNZZStatisticsPageLink() { SystemDataService service = new SystemDataService(); long siteId = service.GetLong("CNZZStatisticsSiteId"); long password = service.GetLong("CNZZStatisticsPassword"); SiteSettings siteSettings = siteSettingsManager.Get(); if (siteId <= 0 || password <= 0) { return(string.Empty); } return(string.Format("http://wss.cnzz.com/user/companion/spacebuilder_login.php?site_id={0}&password={1}", siteId, password)); }
/// <summary> /// 获取统计账户信息 /// </summary> /// <returns></returns> public StatisticsAccount GetAccount() { SystemDataService systemDataService = new SystemDataService(); StatisticsAccount account = new StatisticsAccount(); long siteId = systemDataService.GetLong("CNZZStatisticsSiteId"); long password = systemDataService.GetLong("CNZZStatisticsPassword"); if (siteId <= 0 || password <= 0) { return(null); } account.UserName = siteId.ToString(); account.Password = password.ToString(); return(account); }
/// <summary> /// 保存统计帐号 /// <param name="account">被保存的统计帐号</param> /// </summary> public void SaveStatisticsAccount(StatisticsAccount account) { if (account == null || string.IsNullOrEmpty(account.Password) || string.IsNullOrEmpty(account.UserName)) { return; } SystemDataService systemDataService = new SystemDataService(); long siteId = systemDataService.GetLong("CNZZStatisticsSiteId"); long password = systemDataService.GetLong("CNZZStatisticsPassword"); long accountSiteId = 0; if (!long.TryParse(account.UserName, out accountSiteId)) { return; } long accountPassword = 0; if (!long.TryParse(account.Password, out accountPassword)) { return; } if (accountSiteId != siteId) { systemDataService.Change("CNZZStatisticsSiteId", accountSiteId - siteId); } if (accountPassword != password) { systemDataService.Change("CNZZStatisticsPassword", accountPassword - password); } Enable = true; ISiteSettingsManager siteSettingsManager = DIContainer.Resolve <ISiteSettingsManager>(); SiteSettings siteSettings = siteSettingsManager.Get(); siteSettings.StatScript = GetStatisticsCode(); siteSettingsManager.Save(siteSettings); }
/// <summary> /// 删除用户记录(删除用户时使用) /// </summary> /// <param name="userId">被删除用户</param> /// <param name="takeOverUserName">接管用户名</param> /// <param name="takeOverAll">是否接管被删除用户的所有内容</param> public void DeleteUser(long userId, string takeOverUserName, bool takeOverAll) { //设计要点: //1.利用sql转移给接管用户、删除群组成员、群组成员申请; //2.删除群组成员时,维护群组的成员数; //如果没设置由谁接管群组,就把群组转给网站初始管理员 long takeOverUserId = 0; if (string.IsNullOrEmpty(takeOverUserName)) { takeOverUserId = new SystemDataService().GetLong("Founder"); } else { takeOverUserId = UserIdToUserNameDictionary.GetUserId(takeOverUserName); } IUserService userService = DIContainer.Resolve <IUserService>(); User takeOver = userService.GetFullUser(takeOverUserId); groupRepository.DeleteUser(userId, takeOver, takeOverAll); }
protected override async Task ExecuteAsync(CancellationToken stoppingToken) { while (!stoppingToken.IsCancellationRequested) { using (IServiceScope scope = _provider.CreateScope()) { try { using (var _dbContext = scope.ServiceProvider.GetRequiredService <WorkerAppDbContext>()) { var taskTicket = await _dbContext.TaskTickets.FirstOrDefaultAsync(s => s.TicketStatus == TicketStatus.Added).ConfigureAwait(false); if (taskTicket != null) { SystemDataService systemDataService = new SystemDataService(_logger, _dbContext); var source = await _dbContext.Sources.FirstOrDefaultAsync(i => i.SourceId == taskTicket.SourceId).ConfigureAwait(false); switch (taskTicket.TicketType) { case TicketType.ImportDocuments: List <Document> documents = new List <Document>(); if (source != null) { try { switch (source.Type) { case "oracle_sben_dp": documents = await ProceedSbenOracleDpDocuments(source, taskTicket, systemDataService); break; case "bp_flat_file": await FvpWebAppUtils.ChangeTicketStatus(_dbContext, taskTicket.TaskTicketId, TicketStatus.Pending).ConfigureAwait(false); documents = await _dbContext.Documents.Where(d => d.TaskTicketId == taskTicket.TaskTicketId).ToListAsync().ConfigureAwait(false); await FvpWebAppUtils.ChangeTicketStatus(_dbContext, taskTicket.TaskTicketId, TicketStatus.Done).ConfigureAwait(false); break; default: await FvpWebAppUtils.ChangeTicketStatus(_dbContext, taskTicket.TaskTicketId, TicketStatus.Failed).ConfigureAwait(false); break; } } catch (Exception ex) { await FvpWebAppUtils.ChangeTicketStatus(_dbContext, taskTicket.TaskTicketId, TicketStatus.Failed).ConfigureAwait(false); _logger.LogError(ex.InnerException != null ? ex.InnerException.Message : ex.Message); } } else { await FvpWebAppUtils.ChangeTicketStatus(_dbContext, taskTicket.TaskTicketId, TicketStatus.Failed).ConfigureAwait(false); } _logger.LogInformation($"Documents: {documents.Count}"); try { await ProceedContractors(documents, systemDataService).ConfigureAwait(false); } catch (Exception ex) { _logger.LogError(ex.InnerException != null ? ex.InnerException.Message : ex.Message); } break; case TicketType.ImportContractors: await FvpWebAppUtils.ChangeTicketStatus(_dbContext, taskTicket.TaskTicketId, TicketStatus.Done).ConfigureAwait(false); break; case TicketType.CheckContractors: try { await systemDataService.CheckContractors(taskTicket.TaskTicketId); } catch (Exception ex) { _logger.LogError(ex.InnerException != null ? ex.InnerException.Message : ex.Message); } break; case TicketType.MatchContractors: try { var target = await _dbContext.Targets.FirstOrDefaultAsync(t => t.TargetId == source.TargetId); await systemDataService.MatchContractors(taskTicket, target); await FvpWebAppUtils.ChangeTicketStatus(_dbContext, taskTicket.TaskTicketId, TicketStatus.Done).ConfigureAwait(false); } catch (Exception ex) { await FvpWebAppUtils.ChangeTicketStatus(_dbContext, taskTicket.TaskTicketId, TicketStatus.Failed).ConfigureAwait(false); _logger.LogError(ex.InnerException != null ? ex.InnerException.Message : ex.Message); } break; case TicketType.ExportContractorsToErp: try { var target = await _dbContext.Targets.FirstOrDefaultAsync(t => t.TargetId == source.TargetId); TargetDataService targetDataService = new TargetDataService(_logger, _dbContext, _procOutput); await targetDataService.ExportContractorsToErp(taskTicket, target); await FvpWebAppUtils.ChangeTicketStatus(_dbContext, taskTicket.TaskTicketId, TicketStatus.Done).ConfigureAwait(false); } catch (Exception ex) { await FvpWebAppUtils.ChangeTicketStatus(_dbContext, taskTicket.TaskTicketId, TicketStatus.Failed).ConfigureAwait(false); _logger.LogError(ex.InnerException != null ? ex.InnerException.Message : ex.Message); } break; case TicketType.ExportDocumentsToErp: try { var target = await _dbContext.Targets.FirstOrDefaultAsync(t => t.TargetId == source.TargetId); TargetDataService targetDataService = new TargetDataService(_logger, _dbContext, _procOutput); await targetDataService.InsertDocumentsToTarget(taskTicket, target); await FvpWebAppUtils.ChangeTicketStatus(_dbContext, taskTicket.TaskTicketId, TicketStatus.Done).ConfigureAwait(false); } catch (Exception ex) { await FvpWebAppUtils.ChangeTicketStatus(_dbContext, taskTicket.TaskTicketId, TicketStatus.Failed).ConfigureAwait(false); _logger.LogError(ex.InnerException != null ? ex.InnerException.Message : ex.Message); } break; default: break; } } }; } catch (Exception ex) { _logger.LogError(ex.Message); } } await Task.Delay(5000).ConfigureAwait(false); } }
private async Task ProceedContractors(List <Document> documents, SystemDataService systemDataService) { await systemDataService.TransferContractors(documents); }
private async Task <List <Document> > ProceedSbenOracleDpDocuments(Source source, TaskTicket taskTicket, SystemDataService systemDataService) { SBenDataService sBenDataService = new SBenDataService(); var documentsResponse = await sBenDataService.GetDocuments(source, taskTicket).ConfigureAwait(false); if (documentsResponse != null && documentsResponse.Count > 0) { await systemDataService.TransferDocuments(documentsResponse, taskTicket); } return(documentsResponse); }
public async void Loaded() { SystemList = await SystemDataService.GetSystemList(); }