private List <ArticleInfoView> GetArticleList(List <NewsInfoView> newsList) { List <ArticleInfoView> lstArticles = new List <ArticleInfoView>(); int i = 0; newsList.ForEach(a => a.Id = i++); var content = JsonConvert.SerializeObject(newsList); foreach (var a in newsList) { var entity = a.ConvertToEntityArticle(); // entity.UserName = User.Identity.Name; entity.ArticleContentEdit = content; entity.ArticleType = 2; //标记是口令消息 entity.IsLike = true; entity.ArticleStatus = "Published"; entity.PublishDate = DateTime.Now; entity.ImageCoverUrl = a.ImageSrc; //前端的bug entity.OrderID = a.Id; _articleInfoService.InsertView(entity); lstArticles.Add(entity); } return(lstArticles); }
private List <ArticleInfoView> GetArticleList(List <NewsInfoView> newsList, bool isPreview, string strSendType = null, SearchUserMPView searchCondition = null, bool toDB = true) { List <ArticleInfoView> lstArticles = new List <ArticleInfoView>(); int i = 0; var codeArt = Guid.NewGuid(); newsList.ForEach(a => { a.Id = i++; a.NewsCode = codeArt.ToString(); }); var content = JsonConvert.SerializeObject(newsList); foreach (var a in newsList) { var entity = a.ConvertToEntityArticle(); entity.NewsInfo = a; // entity.UserName = User.Identity.Name; if (a.NewsCate.Equals("news", StringComparison.CurrentCultureIgnoreCase)) { if (a.materialId.HasValue && a.materialId.Value > 0) { entity.Id = a.materialId.Value; } entity.SecurityLevel = a.SecurityLevel; if (!string.IsNullOrEmpty(strSendType)) { switch (strSendType) { case "ToAll": case "ByTag": entity.ToTag = entity.Group.Value.ToString(); break; case "ByOpenId": string[] userOpenIds = _WechatMPUserService.GetUserBySearchCondition(searchCondition, AccountManageID).Select(u => u.OpenId).ToArray(); entity.ToUser = string.Join(",", userOpenIds); break; default: break; } } } if (a.PostType == (int)MessagePostTypeEnum.定时推送) { entity.ScheduleSendTime = DateTime.Parse(a.ScheduleSendTime.Date) .AddHours(a.ScheduleSendTime.Hour) .AddMinutes(a.ScheduleSendTime.Minute); var canPass = false; if (entity.ScheduleSendTime.HasValue) { var now = DateTime.Now; TimeSpan ts = entity.ScheduleSendTime.Value - now; canPass = ts.Minutes >= 30; } if (!canPass) { throw new Exception("定时推送时间必须比当前时间延后30分钟!"); } } entity.ArticleURL = a.ArticleURL; entity.ArticleContentEdit = content; entity.ArticleType = 1; //标记是消息 entity.IsLike = a.IsLike; entity.ShowComment = a.ShowComment; entity.ShowReadCount = a.ShowReadCount; entity.IsWatermark = a.IsWatermark; entity.NoShare = a.NoShare; entity.OrderID = a.Id; entity.ArticleCode = codeArt; if (a.PostType != (int)MessagePostTypeEnum.定时推送 && !isPreview) { entity.ArticleStatus = "Published"; entity.PublishDate = DateTime.Now; } else { if (isPreview) { entity.PreviewStartDate = DateTime.Now; } entity.ArticleStatus = "Saved"; } if (toDB) { if (entity.Id == 0) { _objServiceArticle.InsertView(entity); } else { //通过选择素材进行的图文类型消息均更新到图文列表中,而不需要出现在消息列表中 if (a.NewsCate.Equals("news", StringComparison.CurrentCultureIgnoreCase)) { entity.ArticleType = 0; } _objServiceArticle.UpdateView(entity); } } lstArticles.Add(entity); } return(lstArticles); }