/// <summary> /// 根据文章ID查询文章信息,用于从首页点击进入阅读文章页面,根据返回数据前端判断是否可以直接阅读或者需要遮罩付费 /// </summary> /// <param name="req"></param> /// <returns></returns> public Ptcp <M_QueryArticleByIdRes> QueryArticleById(M_QueryArticleByIdReq req) { var ptcp = new Ptcp <M_QueryArticleByIdRes>(); if (req.IsNull()) { ptcp.DoResult = "非法请求"; return(ptcp); } if (req.ArticleSysNo <= 0) { ptcp.DoResult = "文章ID错误"; return(ptcp); } //获取当前文章信息 var artciclInfo = DbSession.MLT.T_SelfMediaArticleRepository.QueryBy(new T_SelfMediaArticle() { SysNo = req.ArticleSysNo, IsEnable = true }).FirstOrDefault(); if (artciclInfo.IsNull() || artciclInfo.SysNo <= 0) { ptcp.DoResult = "未能获取到信息"; return(ptcp); } //获取当前作者信息 var authorInfo = DbSession.MLT.T_SelfMediaAuthorRepository.QueryBy(new T_SelfMediaAuthor() { SysNo = artciclInfo.AuthorSysNo, IsEnable = true }).FirstOrDefault(); if (authorInfo.IsNull() || authorInfo.SysNo <= 0) { ptcp.DoResult = "未能获取到作者信息"; return(ptcp); } int payCount = 0; if (req.UserId > 0) { var payDbCount = DbSession.MLT.T_SelfMediaPayRecordRepository.QueryCountBy(new T_SelfMediaPayRecord() { UserId = req.UserId, ArticleSysNo = artciclInfo.SysNo, AuthorSysNo = authorInfo.SysNo, IsEnable = true }); payCount = Converter.ParseInt(payDbCount, 0); } var artciclCount = DbSession.MLT.T_SelfMediaArticleRepository.QueryCountBy(new T_SelfMediaArticle() { AuthorSysNo = authorInfo.SysNo, IsHot = true, IsEnable = true }); M_ArticleEntity articleEntity = new M_ArticleEntity(); if (payCount > 0) { articleEntity.IsRead = true; } articleEntity.ReadScore = artciclInfo.ReadScore.GetValueOrDefault(); articleEntity.SysNo = artciclInfo.SysNo.GetValueOrDefault(); articleEntity.Title = artciclInfo.Title; articleEntity.HeadPic = artciclInfo.HeadPic; articleEntity.Subtitle = artciclInfo.Subtitle; articleEntity.Content = artciclInfo.Content; //articleEntity.StartDateTime = artciclInfo.StartDateTime.GetValueOrDefault(); //articleEntity.EndDateTime = artciclInfo.EndDateTime.GetValueOrDefault(); articleEntity.SortId = artciclInfo.SortId.GetValueOrDefault(); articleEntity.RowCeateDate = artciclInfo.RowCeateDate.GetValueOrDefault(); articleEntity.StrRowCeateDate = articleEntity.RowCeateDate.ToString("yyyy-MM-dd"); M_AuthorEntity author = new M_AuthorEntity(); author.AuthorSysNo = authorInfo.SysNo.GetValueOrDefault(); author.AuthorName = authorInfo.AuthorName; author.Portrait = authorInfo.Portrait; author.Describe = authorInfo.Describe; author.HotArticleCount = Converter.ParseInt(artciclCount, 0); ptcp.ReturnValue = new M_QueryArticleByIdRes(); ptcp.ReturnValue.ArticleEntity = articleEntity; ptcp.ReturnValue.AuthorEntity = author; ptcp.DoFlag = PtcpState.Success; return(ptcp); }
/// <summary> /// 查询作者下面所有的文章信息 /// </summary> /// <param name="req"></param> /// <returns></returns> public Ptcp <M_QueryAuthorArticleRes> QueryAuthorArticle(M_QueryAuthorArticleReq req) { var ptcp = new Ptcp <M_QueryAuthorArticleRes>(); if (req.IsNull()) { ptcp.DoResult = "非法请求"; return(ptcp); } if (req.AuthorSysNo <= 0) { ptcp.DoResult = "作者ID错误"; return(ptcp); } if (req.PageIndex <= 0 || req.PageIndex > 10000) { req.PageIndex = 1; } if (req.PageSize <= 0 || req.PageSize > 100) { req.PageSize = 10; } //获取当前作者信息 var authorInfo = DbSession.MLT.T_SelfMediaAuthorRepository.QueryBy(new T_SelfMediaAuthor() { SysNo = req.AuthorSysNo, IsEnable = true }).FirstOrDefault(); if (authorInfo.IsNull() || authorInfo.SysNo <= 0) { ptcp.DoResult = "未能获取到作者信息"; return(ptcp); } //获取作者文章信息 var artciclListCount = DbSession.MLT.T_SelfMediaArticleRepository.QueryCountBy(new T_SelfMediaArticle() { AuthorSysNo = req.AuthorSysNo, IsEnable = true }); var artciclList = DbSession.MLT.T_SelfMediaArticleRepository.QueryPageBy(req.PageIndex, req.PageSize, new T_SelfMediaArticle() { AuthorSysNo = req.AuthorSysNo, IsEnable = true }, " ORDER BY SysNo DESC").ToList(); int follow = 0; if (req.UserId > 0) { //是否关注 var followDb = DbSession.MLT.T_SelfMediaFollowRecordRepository.QueryCountBy(new T_SelfMediaFollowRecord() { UserId = req.UserId, AuthorSysNo = req.AuthorSysNo, IsFollow = true, IsEnable = true }); follow = Converter.ParseInt(followDb, 0); } M_AuthorEntity author = new M_AuthorEntity(); author.AuthorSysNo = authorInfo.SysNo.GetValueOrDefault(); author.AuthorName = authorInfo.AuthorName; author.Portrait = authorInfo.Portrait; author.Describe = authorInfo.Describe; if (follow > 0) { author.IsFollow = true; } List <M_ArticleEntity> articleEntities = new List <M_ArticleEntity>(); if (artciclList.IsNotNull() && artciclList.IsHasRow()) { foreach (var art in artciclList) { M_ArticleEntity articleEntity = new M_ArticleEntity(); articleEntity.ReadScore = art.ReadScore.GetValueOrDefault(); articleEntity.SysNo = art.SysNo.GetValueOrDefault(); articleEntity.HeadPic = art.HeadPic; articleEntity.Title = art.Title; articleEntity.Subtitle = art.Subtitle; articleEntity.Content = art.Content; articleEntity.SortId = art.SortId.GetValueOrDefault(); articleEntity.RowCeateDate = art.RowCeateDate.GetValueOrDefault(); articleEntity.StrRowCeateDate = articleEntity.RowCeateDate.ToString("yyyy-MM-dd"); articleEntities.Add(articleEntity); } } ptcp.ReturnValue = new M_QueryAuthorArticleRes(); ptcp.ReturnValue.ArticleEntities = articleEntities; ptcp.ReturnValue.AuthorEntity = author; ptcp.ReturnValue.Total = Converter.ParseInt(artciclListCount, 0); ptcp.DoFlag = PtcpState.Success; return(ptcp); }