public ActionResult Create(TimeLink link) { try { if (link.Name == null) { link.Name = Tools.LinkGenerate(context); } if (!Tools.Unique(context, link.Name) || link.Time < DateTime.Now) { return(RedirectToAction(nameof(Create))); } context.TimeLinks.Add(link); context.SaveChanges(); return(RedirectToAction(nameof(Index))); } catch { return(RedirectToAction(nameof(Create))); } }
/// <summary> /// 自动摘要 /// </summary> /// <param name="categoryName">关键词组名</param> /// <param name="time">查询时间</param> /// <param name="projectId">项目Id</param> /// <param name="source">折线图返回自动摘要时使用</param> /// <returns></returns> public List <string> GetSummary(string categoryName, string time, string projectId, string source) { List <string> result = new List <string>(); string text = ""; //自动摘要使用文本 if (source == null) { //拆分projectId,判断是否为多项目 var proObjIds = CommonTools.GetObjIdListFromStr(projectId); //获取起止时间 DateTime endTime = new DateTime(); DateTime.TryParse(time, out endTime); DateTime startTime = endTime.AddDays(-1); //获取词组ID var builderCatId = Builders <Dnl_KeywordCategory> .Filter; var filterCatId = builderCatId.Eq(x => x.Name, categoryName); filterCatId &= builderCatId.In(x => x.ProjectId, proObjIds); var categoryId = MongoDBHelper.Instance.GetDnl_KeywordCategory().Find(filterCatId).Project(x => x._id).FirstOrDefault(); //获取关键词ID列表 var builderKey = Builders <Dnl_KeywordMapping> .Filter; var filterKey = builderKey.Eq(x => x.CategoryId, categoryId); var keywordList = MongoDBHelper.Instance.GetDnl_KeywordMapping().Find(filterKey).Project(x => x.KeywordId.ToString()).ToList(); //获取项目内已删除的链接Id var builderLinkMap = Builders <Dnl_LinkMapping_Baidu> .Filter; var filterLinkMap = builderLinkMap.In(x => x.ProjectId, proObjIds) & builderLinkMap.Eq(x => x.DataCleanStatus, (byte)2); var exLinkObjIds = MongoDBHelper.Instance.GetDnl_LinkMapping_Baidu().Find(filterLinkMap).Project(x => x.LinkId).ToList(); //项目中已删除的链接ID列表 //获取链接标题及摘要 var builder = Builders <Dnl_Link_Baidu> .Filter; var filter = builder.In(x => x.SearchkeywordId, keywordList) & builder.Ne(x => x.PublishTime, ""); filter &= builder.Nin(x => x._id, exLinkObjIds); var queryDatas = MongoDBHelper.Instance.GetDnl_Link_Baidu().Find(filter).Project(x => new { Title = x.Title, Description = x.Description, PublishTime = x.PublishTime }).ToList(); //获取起止时间内数据 List <TimeLink> LinkInfo = new List <TimeLink>(); foreach (var gr in queryDatas) { TimeLink v = new TimeLink(); v.Title = gr.Title; v.Description = gr.Description; DateTime dt = new DateTime(); DateTime.TryParse(gr.PublishTime, out dt); v.PublishTime = dt; LinkInfo.Add(v); } LinkInfo = LinkInfo.Where(x => x.PublishTime > startTime && x.PublishTime <= endTime).ToList(); foreach (var x in LinkInfo) { text += x.Title + "。" + System.Environment.NewLine; text += x.Description + "。" + System.Environment.NewLine; } } else { text = source; } GetList(text, 3, 1); foreach (var i in keySentenceList) { result.Add(AllsentenceList[i]); } return(result); }