public async Task <IActionResult> Post(UpdatePostModel model) { var post = await PostSvc.GetByIdAsync(model.Id); if (post == null) { return(new JsonResult(new APIResult <long> { ErrorMsg = "帖子不存在" }) { StatusCode = 400 }); } var statu = await StatuSvc.GetByIdAsync(model.PostStatusId); if (statu == null) { return(new JsonResult(new APIResult <long> { ErrorMsg = "帖子状态不存在" }) { StatusCode = 400 }); } UpdatePostDTO dto = new UpdatePostDTO(); dto.Id = model.Id; dto.PostStatusId = model.PostStatusId; dto.IsEssence = model.IsEssence; await PostSvc.UpdateAsync(dto); return(Ok()); }
public async Task <IActionResult> Put(AddPostModel model) { var postType = await TypeSvc.GetByIdAsync(model.PostTypeId); if (postType == null) { return(new JsonResult(new APIResult <long> { ErrorMsg = "帖子类型不存在" }) { StatusCode = 400 }); } AddPostDTO dto = new AddPostDTO(); dto.Content = model.Content; dto.Title = model.Title; dto.UserId = model.UserId; dto.PostTypeId = model.PostTypeId; if (postType.Name == "分享") { dto.PostStatusId = 1; } else { dto.PostStatusId = 2; } return(new JsonResult(new APIResult <long> { Data = await PostSvc.AddNewAsync(dto) })); }
public async Task <IActionResult> GetByTypeId(long postTypeId, int pageIndex = 1, int pageDataCount = 10, bool?IsKnot = null, bool?IsEssence = null) { var postType = await TypeSvc.GetByIdAsync(postTypeId); if (postType == null) { return(new JsonResult( new APIResult <long>() { ErrorMsg = "帖子类型不存在" } ) { StatusCode = 400 }); } return(new JsonResult( new APIResult <ListModel <ListPostDTO> >() { Data = new ListModel <ListPostDTO> { Datas = await PostSvc.GetPageByTypeIdAsync(postTypeId, pageIndex, pageDataCount, IsKnot, IsEssence), TotalCount = await PostSvc.GetByPostTypeIdCountAsync(postTypeId, IsKnot, IsEssence) } } )); }
public async Task <IActionResult> List(int pageIndex = 1, int pageDataCount = 10) { var pers = await PostSvc.GetAdminWebPageDataAsync(pageIndex, pageDataCount); if (pers == null) { return(Content(PostSvc.ErrorMsg)); } List <long> userIds = pers.Datas.Select(e => e.UserId).ToList(); var users = await UserSvc.GetByIdsAsync(userIds); AdminWebListPostModel model = new AdminWebListPostModel(); model.Posts = pers.Datas; model.TotalCount = pers.TotalCount; model.Users = users; NoRainPage page = new NoRainPage(); page.DataCount = pers.TotalCount; page.PageIndex = pageIndex; page.Url = "/Post/List?pageIndex=@parms"; model.Page = page.GetPaging(); return(View(model)); }
public async Task <IActionResult> GetPosts() { //获取置顶的帖子 var stickPosts = await PostSvc.GetStickAsync(); List <long> stickUserIds = stickPosts.Select(e => e.UserId).ToList(); var stickUsers = await UserSvc.GetByIdsAsync(stickUserIds); //获取综合的帖子 var colligatePosts = await PostSvc.GetColligatePostAsync(); List <long> colligateUserIds = colligatePosts.Datas.Select(e => e.UserId).ToList(); var colligateUsers = await UserSvc.GetByIdsAsync(colligateUserIds); var model = new ListPostUserModel() { StickPosts = stickPosts, StickUsers = stickUsers, ColligatePosts = colligatePosts.Datas, ColligateUsers = colligateUsers }; return(Json(new AjaxResult { Status = "ok", Data = model })); }
public async Task <IActionResult> GetStick() { return(new JsonResult( new APIResult <List <ListPostDTO> >() { Data = await PostSvc.GetByCommentCountAsync() } )); }
public async Task <IActionResult> GetQuestionPostByUserId(long userId) { var Posts = await PostSvc.GetQuestionPostByUserIdAsync(userId); return(new JsonResult( new APIResult <List <ListPostDTO> >() { Data = Posts })); }
public async Task <IActionResult> Add(AddPostModel model) { if (await PostSvc.AddNewAsync(model) < 1) { return(Json(new AjaxResult { Status = "error", ErrorMsg = PostSvc.ErrorMsg })); } return(Json(new AjaxResult { Status = "ok" })); }
public async Task <IActionResult> Delete(long id) { if (!await PostSvc.DeleteAsync(id)) { return(Json(new AjaxResult { Status = "error", ErrorMsg = PostSvc.ErrorMsg })); } return(Json(new AjaxResult { Status = "ok" })); }
public async Task <IActionResult> Edit(UpdatePostModel model) { if (!await PostSvc.UpdateAsync(model)) { return(Json(new AjaxResult { Status = "error", ErrorMsg = PostSvc.ErrorMsg })); } return(Json(new AjaxResult { Status = "ok" })); }
public async Task <IActionResult> GetCollectionPostByUserId(long userId, int pageIndex = 1, int pageDataCount = 10) { return(new JsonResult( new APIResult <ListModel <ListPostDTO> >() { Data = new ListModel <ListPostDTO> { Datas = await PostSvc.GetPageCollectionPostByUserIdAsync(userId, pageIndex, pageDataCount), TotalCount = await PostSvc.GetCollectionPostByUserIdTotalCountAsync(userId) } } )); }
public async Task <IActionResult> GetDayPost() { List <ListPostDTO> dayPost = await PostSvc.GetDayPostAsync(); if (dayPost == null) { return(Json(new AjaxResult { Status = "error", Data = PostSvc.ErrorMsg })); } return(Json(new AjaxResult { Status = "ok", Data = dayPost })); }
public async Task <IActionResult> GetAdminWebPageData(int pageIndex = 1, int pageDataCount = 10) { var Posts = await PostSvc.GetAdminWebPageDataAsync(pageIndex, pageDataCount); var TotalCount = await PostSvc.GetAdminWebTotalCountAsync(); return(new JsonResult( new APIResult <ListModel <ListPostDTO> >() { Data = new ListModel <ListPostDTO> { Datas = Posts, TotalCount = TotalCount } })); }
public async Task <IActionResult> GetPageData(int pageIndex = 1, int pageDataCount = 10, bool?isKnot = null, bool?isEssence = null) { var Posts = await PostSvc.GetPageDataAsync(pageIndex, pageDataCount, isKnot, isEssence); var TotalCount = await PostSvc.TotalCountAsync(); return(new JsonResult( new APIResult <ListModel <ListPostDTO> >() { Data = new ListModel <ListPostDTO> { Datas = Posts, TotalCount = TotalCount } })); }
public async Task <IActionResult> Adopt(AdoptPostModel model) { long userId = Convert.ToInt64(HttpContext.Session.GetString(ConstList.USERID)); model.UserId = userId; if (!await PostSvc.AdoptPostAsync(model)) { return(Json(new AjaxResult { Status = "error", ErrorMsg = PostSvc.ErrorMsg })); } return(Json(new AjaxResult { Status = "ok" })); }
public async Task <IActionResult> Detail(long postId) { ListContentPostDTO post; ListUserDTO user; string postCache = await RedisHelper.GetAsync($"postDetail_{postId}"); string userCache = await RedisHelper.GetAsync($"user_{postId}"); if (!string.IsNullOrEmpty(postCache) && !string.IsNullOrEmpty(userCache)) { post = JsonConvert.DeserializeObject <ListContentPostDTO>(postCache); user = JsonConvert.DeserializeObject <ListUserDTO>(userCache); } else { post = await PostSvc.GetByIdAsync(postId); user = await UserSvc.GetByIdAsync(post.UserId); if (post == null) { return(Json(new AjaxResult { Status = "redirect", Data = "/Error/Error404" })); } if (user == null) { return(Json(new AjaxResult { Status = "error", Data = UserSvc.ErrorMsg })); } await RedisHelper.SetAsync($"postDetail_{postId}", post); await RedisHelper.SetAsync($"user_{postId}", user); } long count = await RedisHelper.IncrByAsync("post_" + postId); PostDetailModel model = new PostDetailModel(); model.Post = post; model.User = user; model.LookCount = count; return(Json(new AjaxResult { Status = "ok", Data = model })); }
public async Task <IActionResult> UserCollectionPost(UserCollectionModel model) { var post = await PostSvc.GetByIdAsync(model.PostId); if (post == null) { return(new JsonResult(new APIResult <long> { ErrorMsg = "帖子不存在" }) { StatusCode = 400 }); } return(new JsonResult(new APIResult <long> { Data = await PostSvc.UserCollectionPostAsync(model.UserId, model.PostId) })); }
public async Task <IActionResult> Comment(AddCommentModel model) { long userId = Convert.ToInt64(HttpContext.Session.GetString(ConstList.USERID)); model.CommentUserId = userId; var replyUserId = await UserSvc.GetByIdAsync(model.ReplyUserId); if (replyUserId == null) { return(Json(new AjaxResult { Status = "error", ErrorMsg = "您所回复的用户不存在" })); } if (await CommentSvc.AddNewAsync(model) < 1) { return(Json(new AjaxResult { Status = "error", ErrorMsg = CommentSvc.ErrorMsg })); } ListUserDTO commentUser = await UserSvc.GetByIdAsync(userId); ListContentPostDTO post; if (RedisHelper.Exists($"postDetail_{model.PostId}")) { post = JsonConvert.DeserializeObject <ListContentPostDTO>(await RedisHelper.GetAsync($"postDetail_{model.PostId}")); } else { post = await PostSvc.GetByIdAsync(model.PostId); await RedisHelper.SetAsync($"postDetail_{model.PostId}", post); } MessageModel msg = new MessageModel(); msg.CommentUserName = commentUser.NickName; msg.PostId = model.PostId; msg.ReplyUserId = model.ReplyUserId; msg.PostTitle = post.Title; await RedisHelper.SAddAsync($"msg_{model.ReplyUserId}", msg); return(Json(new AjaxResult { Status = "ok" })); }
public async Task <IActionResult> GetById(long id) { var post = await PostSvc.GetByIdAsync(id); if (post == null) { return(new JsonResult(new APIResult <long> { ErrorMsg = "帖子不存在" }) { StatusCode = 400 }); } return(new JsonResult(new APIResult <ListPostDTO>() { Data = post })); }
public async Task <IActionResult> Add(FrontAddPostModel model) { if (TempData[ConstList.VALIDCODE] == null) { return(Json(new AjaxResult { Status = "error", ErrorMsg = "验证码过期" })); } string code = (string)TempData[ConstList.VALIDCODE]; TempData[ConstList.VALIDCODE] = null; if (!code.Equals(model.ValidCode, StringComparison.InvariantCultureIgnoreCase)) { return(Json(new AjaxResult { Status = "error", ErrorMsg = "验证码错误" })); } long userId = Convert.ToInt64(HttpContext.Session.GetString(ConstList.USERID)); var user = await UserSvc.GetByIdAsync(userId); if (!user.IsActive) { return(Json(new AjaxResult { Status = "error", ErrorMsg = "邮箱未激活" })); } AddPostModel addPost = new AddPostModel(); addPost.Content = model.Content; addPost.PostTypeId = model.PostTypeId; addPost.Title = model.Title; addPost.UserId = userId; if (await PostSvc.AddNewAsync(addPost) < 1) { return(Json(new AjaxResult { Status = "error", ErrorMsg = PostSvc.ErrorMsg })); } return(Json(new AjaxResult { Status = "ok" })); }
public async Task <IActionResult> GetByPostId(long postId, int pageIndex = 1, int pageDataCount = 10) { var post = await PostSvc.GetByIdAsync(postId); if (post == null) { return(new JsonResult(new APIResult <long> { ErrorMsg = "帖子不存在" }) { StatusCode = 400 }); } return(new JsonResult(new APIResult <ListModel <ListPostCommentDTO> > { Data = new ListModel <ListPostCommentDTO> { Datas = await CommentSvc.GetPageByPostIdAsync(postId, pageIndex, pageDataCount), TotalCount = await CommentSvc.GetTotalCountByPostIdAsync(postId) } })); }
public async Task <IActionResult> Collection(UserCollectionModel model) { long userId = Convert.ToInt64(HttpContext.Session.GetString(ConstList.USERID)); if (await RedisHelper.SIsMemberAsync($"collection_{userId}", model.PostId)) { return(Json(new AjaxResult { Status = "error", ErrorMsg = "不能重复收藏帖子" })); } model.UserId = userId; if (!await PostSvc.UserCollectionPostAsync(model)) { return(Json(new AjaxResult { Status = "error", ErrorMsg = PostSvc.ErrorMsg })); } await RedisHelper.SAddAsync($"collection_{userId}", model.PostId); return(Json(new AjaxResult { Status = "ok" })); }
public async Task <IActionResult> Edit(long id) { var post = await PostSvc.GetByIdAsync(id); if (post == null) { return(NotFound()); } var user = await UserSvc.GetByIdAsync(post.UserId); if (user == null) { return(NotFound()); } var status = await PsSVC.GetAllAsync(); LookPostModel model = new LookPostModel(); model.Post = post; model.User = user; model.PostStatuses = status; return(View(model)); }
public async Task <IActionResult> GetPageData(int pageIndex = 1, int pageDataCount = 10, bool?isKnot = null, bool?isEssence = null) { var posts = await PostSvc.GetColligatePostAsync(pageIndex, pageDataCount, isKnot, isEssence); if (posts == null) { return(Json(new AjaxResult { Status = "error", ErrorMsg = PostSvc.ErrorMsg })); } List <long> userIds = posts.Datas.Select(e => e.UserId).ToList(); var users = await UserSvc.GetByIdsAsync(userIds); if (users == null) { return(Json(new AjaxResult { Status = "error", ErrorMsg = UserSvc.ErrorMsg })); } return(Json(new AjaxResult { Status = "ok", Data = new { Posts = posts, Users = users } })); }
public async Task <IActionResult> Put(AddCommentModel model) { var post = await PostSvc.GetByIdAsync(model.PostId); if (post == null) { return(new JsonResult(new APIResult <long> { ErrorMsg = "帖子不存在" }) { StatusCode = 400 }); } AddPostCommentDTO dto = new AddPostCommentDTO(); dto.CommentUserId = model.CommentUserId; dto.Content = model.Content; dto.PostId = model.PostId; dto.ReplyUserId = model.ReplyUserId; return(new JsonResult(new APIResult <long> { Data = await CommentSvc.AddNewAsync(dto) })); }
public async Task <IActionResult> AdoptPost(AdoptPostModel model) { var post = await PostSvc.GetByIdAsync(model.PostId); if (post == null) { return(new JsonResult(new APIResult <long> { ErrorMsg = "帖子不存在" }) { StatusCode = 400 }); } if (post.UserId != model.UserId) { return(new JsonResult(new APIResult <long> { ErrorMsg = "只有帖子拥有者才能采纳" }) { StatusCode = 400 }); } var comment = await CommentSvc.GetByIdAsync(model.CommentId); if (comment == null) { return(new JsonResult(new APIResult <long> { ErrorMsg = "评论Id不存在" }) { StatusCode = 400 }); } await PostSvc.AdoptPostAsync(model.UserId, model.PostId, model.CommentId); return(Ok()); }
public async Task <IActionResult> GetByTypeId(PostGetByTypeIdModel model) { var posts = await PostSvc.GetByPostTypeIdAsync(model.PostTypeId, model.PageIndex, model.PageDataCount, model.IsKnot, model.IsEssence); if (posts == null) { return(Json(new AjaxResult { Status = "error", ErrorMsg = PostSvc.ErrorMsg })); } List <long> userIds = posts.Datas.Select(e => e.UserId).ToList(); var users = await UserSvc.GetByIdsAsync(userIds); if (users == null) { return(Json(new AjaxResult { Status = "error", ErrorMsg = UserSvc.ErrorMsg })); } return(Json(new AjaxResult { Status = "ok", Data = new { Posts = posts, Users = users } })); }
public async Task <IActionResult> GetDayPost() { return(new JsonResult(new APIResult <List <ListPostDTO> > { Data = await PostSvc.GetByDayCommentAsync() })); }