From 07707412d22813d5edd5044b3feebbc837e6dd27 Mon Sep 17 00:00:00 2001 From: LuongXuanNhat Date: Sun, 19 Nov 2023 21:16:49 +0700 Subject: [PATCH] #29.4 -> 30 | Update code docs, update tags code --- .../DTOs/Catalog/Posts/ReportPostDto.cs | 2 +- .../Catalog/Documents/IDocumentService.cs | 2 +- .../Interfaces/Catalog/Posts/IPostService.cs | 9 +- VNH.Application/Mappers/DocumentMapper.cs | 3 +- VNH.Domain/Entities/Post.cs | 3 - .../Catalog/Account/AccountService.cs | 2 +- .../Catalog/Documents/DocumentService.cs | 14 ++- .../Implement/Catalog/Posts/PostService.cs | 87 ++++++++++++------ VNH.WebAPi/Controllers/PostController.cs | 15 ++- VNH.WebAPi/Program.cs | 6 +- .../ffd3abf2-ab40-4534-b5c9-ee5549ebd516.jpg | Bin 0 -> 49668 bytes 11 files changed, 92 insertions(+), 51 deletions(-) create mode 100644 VNH.WebAPi/wwwroot/Images/ffd3abf2-ab40-4534-b5c9-ee5549ebd516.jpg diff --git a/VNH.Application/DTOs/Catalog/Posts/ReportPostDto.cs b/VNH.Application/DTOs/Catalog/Posts/ReportPostDto.cs index eb36340..71fedbc 100644 --- a/VNH.Application/DTOs/Catalog/Posts/ReportPostDto.cs +++ b/VNH.Application/DTOs/Catalog/Posts/ReportPostDto.cs @@ -6,7 +6,7 @@ public class ReportPostDto public string PostId { get; set; } public Guid UserId { get; set; } public Guid ReportId { get; set; } - public string Description { get; set; } = string.Empty; + public string? Description { get; set; } = string.Empty; public DateTime ReportDate { get; set; } = DateTime.Now; public bool Checked { get; set; } = false; } diff --git a/VNH.Application/Interfaces/Catalog/Documents/IDocumentService.cs b/VNH.Application/Interfaces/Catalog/Documents/IDocumentService.cs index 35ed7f3..45a09d8 100644 --- a/VNH.Application/Interfaces/Catalog/Documents/IDocumentService.cs +++ b/VNH.Application/Interfaces/Catalog/Documents/IDocumentService.cs @@ -14,7 +14,7 @@ public interface IDocumentService Task> GetSave(DocumentFpkDto docsFpk); - Task> AddOrRemoveSaveDocs(DocumentFpkDto docsFpk); + Task> AddOrRemoveSaveDocs(DocumentFpkDto docsFpk); } } diff --git a/VNH.Application/Interfaces/Catalog/Posts/IPostService.cs b/VNH.Application/Interfaces/Catalog/Posts/IPostService.cs index 4f94ed7..110aa9b 100644 --- a/VNH.Application/Interfaces/Catalog/Posts/IPostService.cs +++ b/VNH.Application/Interfaces/Catalog/Posts/IPostService.cs @@ -1,4 +1,5 @@ -using VNH.Application.DTOs.Catalog.Posts; +using VNH.Application.DTOs.Catalog.HashTags; +using VNH.Application.DTOs.Catalog.Posts; using VNH.Application.DTOs.Common.ResponseNotification; namespace VNH.Application.Interfaces.Posts @@ -13,11 +14,13 @@ public interface IPostService Task> DeleteAdmin(string id); - Task> AddOrUnLikePost(PostFpkDto postFpk); - Task> AddOrRemoveSavePost(PostFpkDto postFpk); + Task> AddOrUnLikePost(PostFpkDto postFpk); + Task> AddOrRemoveSavePost(PostFpkDto postFpk); Task> ReportPost(ReportPostDto reportPostDto); Task> GetReport(); Task> GetLike(PostFpkDto postFpk); Task> GetSave(PostFpkDto postFpk); + Task>> GetTopTags(int numberTag); + Task>> GetPostByTag(string tag); } } \ No newline at end of file diff --git a/VNH.Application/Mappers/DocumentMapper.cs b/VNH.Application/Mappers/DocumentMapper.cs index 8b71305..ce4ed15 100644 --- a/VNH.Application/Mappers/DocumentMapper.cs +++ b/VNH.Application/Mappers/DocumentMapper.cs @@ -7,8 +7,7 @@ namespace VNH.Application.Mappers { public class DocumentMapper : Profile { - public DocumentMapper - () + public DocumentMapper() { CreateMap() .ForMember(dest => dest.FileName, opt => opt.Ignore()); diff --git a/VNH.Domain/Entities/Post.cs b/VNH.Domain/Entities/Post.cs index d4faacb..7269414 100644 --- a/VNH.Domain/Entities/Post.cs +++ b/VNH.Domain/Entities/Post.cs @@ -1,10 +1,7 @@ // This file has been auto generated by EF Core Power Tools. #nullable disable -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using Microsoft.EntityFrameworkCore; using VNH.Domain.Entities; namespace VNH.Domain diff --git a/VNH.Infrastructure/Implement/Catalog/Account/AccountService.cs b/VNH.Infrastructure/Implement/Catalog/Account/AccountService.cs index 55c118c..b339c76 100644 --- a/VNH.Infrastructure/Implement/Catalog/Account/AccountService.cs +++ b/VNH.Infrastructure/Implement/Catalog/Account/AccountService.cs @@ -96,7 +96,7 @@ public async Task GetToken(User user) var token = new JwtSecurityToken(_config["Tokens:Issuer"], _config["Tokens:Issuer"], claims, - expires: DateTime.Now.AddHours(3), + expires: DateTime.Now.AddDays(15), signingCredentials: creds); return new JwtSecurityTokenHandler().WriteToken(token); diff --git a/VNH.Infrastructure/Implement/Catalog/Documents/DocumentService.cs b/VNH.Infrastructure/Implement/Catalog/Documents/DocumentService.cs index c49e318..e0b76d8 100644 --- a/VNH.Infrastructure/Implement/Catalog/Documents/DocumentService.cs +++ b/VNH.Infrastructure/Implement/Catalog/Documents/DocumentService.cs @@ -12,6 +12,7 @@ using VNH.Infrastructure.Presenters.Migrations; using Microsoft.EntityFrameworkCore; using VNH.Application.DTOs.Catalog.Posts; +using Microsoft.Extensions.Hosting; namespace VNH.Infrastructure.Implement.Catalog.Documents { @@ -178,9 +179,6 @@ public async Task> Detail(string Id) .UserId.ToString()); var documentResponse = _mapper.Map(document); documentResponse.FileName = document.FileName; - - - documentResponse .UserShort = new() { @@ -189,7 +187,6 @@ public async Task> Detail(string Id) Image = user.Image }; - // _dataContext.Documents.Update(document); await _dataContext.SaveChangesAsync(); return new ApiSuccessResult(documentResponse); } @@ -222,15 +219,16 @@ public async Task> GetSave(DocumentFpkDto docsFpk) return new ApiSuccessResult(reuslt); } - public async Task> AddOrRemoveSaveDocs(DocumentFpkDto docsFpk) + public async Task> AddOrRemoveSaveDocs(DocumentFpkDto docsFpk) { var docs = await _dataContext.Documents.FirstOrDefaultAsync(x => x.SubId.Equals(docsFpk.DocumentId)); if (docs is null) { - return new ApiErrorResult("Không tìm thấy bài viết"); + return new ApiErrorResult("Không tìm thấy bài viết"); } var check = _dataContext.DocumentSaves.Where(x => x.DocumentId == docs.Id && x.UserId == Guid.Parse(docsFpk.UserId)).FirstOrDefault(); var mess = ""; + var saveNumber = await _dataContext.DocumentSaves.Where(x => x.DocumentId == docs.Id).CountAsync(); if (check is null) { var save = new DocumentSave() @@ -241,13 +239,13 @@ public async Task> AddOrRemoveSaveDocs(DocumentFpkDto docsFpk) }; _dataContext.DocumentSaves.Add(save); await _dataContext.SaveChangesAsync(); - return new ApiSuccessResult(true); + return new ApiSuccessResult(saveNumber+1); } else { _dataContext.DocumentSaves.Remove(check); await _dataContext.SaveChangesAsync(); - return new ApiSuccessResult(false); + return new ApiSuccessResult(saveNumber-1); } diff --git a/VNH.Infrastructure/Implement/Catalog/Posts/PostService.cs b/VNH.Infrastructure/Implement/Catalog/Posts/PostService.cs index ea53fa1..9ec860e 100644 --- a/VNH.Infrastructure/Implement/Catalog/Posts/PostService.cs +++ b/VNH.Infrastructure/Implement/Catalog/Posts/PostService.cs @@ -241,9 +241,9 @@ public async Task> Detail(string Id) post.ViewNumber += 1; var topic = await _dataContext.Topics.FirstAsync(x => x.Id == post.TopicId); postResponse.TopicName = topic.Title; - postResponse.SaveNumber = await _dataContext.PostSaves.Where(x=>x.PostId.Equals(Id)).CountAsync(); - postResponse.CommentNumber = await _dataContext.PostComments.Where(x => x.PostId.Equals(Id)).CountAsync(); - postResponse.LikeNumber = await _dataContext.PostLikes.Where(x=>x.PostId.Equals(x.PostId)).CountAsync(); + postResponse.SaveNumber = await _dataContext.PostSaves.Where(x=>x.PostId.Equals(post.Id)).CountAsync(); + postResponse.CommentNumber = await _dataContext.PostComments.Where(x => x.PostId.Equals(post.Id)).CountAsync(); + postResponse.LikeNumber = await _dataContext.PostLikes.Where(x=>x.PostId.Equals(post.Id)).CountAsync(); _dataContext.Posts.Update(post); await _dataContext.SaveChangesAsync(); @@ -267,19 +267,6 @@ public async Task>> GetAll() post.UserShort.Id = userShort.Id; post.UserShort.Image = userShort.Image; } - var tags = await _dataContext.PostTags - .Where(x => x.PostId == item.Id) - .Join( - _dataContext.Tags, - postTag => postTag.TagId, - tag => tag.Id, - (postTag, tag) => tag) - .ToListAsync(); - foreach (var tag in tags) - { - post.Tags.Add(_mapper.Map(tag)); - } - post.TopicName = topics.Where(x => x.Id == item.TopicId).Select(x=>x.Title).First(); post.Image = item.Image; result.Add(post); } @@ -323,15 +310,16 @@ public async Task> DeleteAdmin(string id) return new ApiSuccessResult("Đã xóa bài viết"); } - public async Task> AddOrUnLikePost(PostFpkDto postFpk) + public async Task> AddOrUnLikePost(PostFpkDto postFpk) { var post = await _dataContext.Posts.FirstOrDefaultAsync(x => x.SubId.Equals(postFpk.PostId)); if (post is null) { - return new ApiErrorResult("Không tìm thấy bài viết"); + return new ApiErrorResult("Không tìm thấy bài viết"); } var check = _dataContext.PostLikes.Where(x => x.PostId == post.Id && x.UserId == Guid.Parse(postFpk.UserId)).FirstOrDefault(); var mess = ""; + var likeNumber = await _dataContext.PostLikes.Where(x => x.PostId == post.Id).CountAsync(); if (check is null) { var like = new PostLike() @@ -342,26 +330,27 @@ public async Task> AddOrUnLikePost(PostFpkDto postFpk) }; _dataContext.PostLikes.Add(like); await _dataContext.SaveChangesAsync(); - return new ApiSuccessResult(true); + return new ApiSuccessResult(likeNumber+1); } else { _dataContext.PostLikes.Remove(check); await _dataContext.SaveChangesAsync(); - return new ApiSuccessResult(false); + return new ApiSuccessResult(likeNumber-1); } } - public async Task> AddOrRemoveSavePost(PostFpkDto postFpk) + public async Task> AddOrRemoveSavePost(PostFpkDto postFpk) { var post = await _dataContext.Posts.FirstOrDefaultAsync(x => x.SubId.Equals(postFpk.PostId)); if (post is null) { - return new ApiErrorResult("Không tìm thấy bài viết"); + return new ApiErrorResult("Không tìm thấy bài viết"); } var check = _dataContext.PostSaves.Where(x => x.PostId == post.Id && x.UserId == Guid.Parse(postFpk.UserId)).FirstOrDefault(); var mess = ""; + var saveNumber = await _dataContext.PostSaves.Where(x => x.PostId == post.Id).CountAsync(); if (check is null) { var save = new PostSave() @@ -372,13 +361,13 @@ public async Task> AddOrRemoveSavePost(PostFpkDto postFpk) }; _dataContext.PostSaves.Add(save); await _dataContext.SaveChangesAsync(); - return new ApiSuccessResult(true); + return new ApiSuccessResult(saveNumber+1); } else { _dataContext.PostSaves.Remove(check); await _dataContext.SaveChangesAsync(); - return new ApiSuccessResult(false); + return new ApiSuccessResult(saveNumber-1); } @@ -386,14 +375,14 @@ public async Task> AddOrRemoveSavePost(PostFpkDto postFpk) public async Task> ReportPost(ReportPostDto reportPostDto) { - var postId = _dataContext.Posts.FirstOrDefault(x => x.SubId.Equals(reportPostDto.PostId)); - if (postId == null) + var post = _dataContext.Posts.FirstOrDefault(x => x.SubId.Equals(reportPostDto.PostId)); + if (post == null) { return new ApiErrorResult("Bài viết không tồn tại"); } var reportPost = _mapper.Map(reportPostDto); reportPost.Id = Guid.NewGuid(); - + reportPost.PostId = post.Id; _dataContext.PostReportDetails.Add(reportPost); await _dataContext.SaveChangesAsync(); @@ -429,5 +418,49 @@ public async Task> GetSave(PostFpkDto postFpk) var reuslt = check != null; return new ApiSuccessResult(reuslt); } + + public async Task>> GetTopTags(int numberTag) + { + var tags = await _dataContext.Tags + .GroupBy(x => x.Name) + .Select(group => new { Name = group.Key, Count = group.Sum(t => 1) }) + .OrderByDescending(tagName => tagName.Count) + .Take(10) + .Select(group => group.Name) + .ToListAsync(); + + return new ApiSuccessResult>(tags); + } + + public async Task>> GetPostByTag(string tag) + { + var posts = await _dataContext.Posts + .Where(post => _dataContext.PostTags + .Any(postTag => _dataContext.Tags + .Any(tagEntity => tagEntity.Name.ToLower().Contains(tag.ToLower()) && tagEntity.Id == postTag.TagId) + && postTag.PostId == post.Id)) + .ToListAsync(); + if (posts.IsNullOrEmpty()) + { + return new ApiSuccessResult>(new List()); + } + var users = await _dataContext.User.ToListAsync(); + + var result = new List(); + foreach (var item in posts) + { + var post = _mapper.Map(item); + var userShort = users.First(x => x.Id == item.UserId); + if (userShort is not null) + { + post.UserShort.FullName = userShort.Fullname; + post.UserShort.Id = userShort.Id; + post.UserShort.Image = userShort.Image; + } + post.Image = item.Image; + result.Add(post); + } + return new ApiSuccessResult>(result); + } } } diff --git a/VNH.WebAPi/Controllers/PostController.cs b/VNH.WebAPi/Controllers/PostController.cs index 06f01dd..66de34b 100644 --- a/VNH.WebAPi/Controllers/PostController.cs +++ b/VNH.WebAPi/Controllers/PostController.cs @@ -108,7 +108,18 @@ public async Task GetReport() var result = await _postService.GetReport(); return result is null ? BadRequest(result) : Ok(result); } - - + [HttpGet("TopTag")] + public async Task GetTopTags(int numberTag) + { + var result = await _postService.GetTopTags(numberTag); + return result is null ? BadRequest(result) : Ok(result); + } + [HttpGet("FindByTag")] + public async Task GetPostByTag(string tag) + { + var result = await _postService.GetPostByTag(tag); + return result is null ? BadRequest(result) : Ok(result); + } + } } diff --git a/VNH.WebAPi/Program.cs b/VNH.WebAPi/Program.cs index fa9c2e6..2144aac 100644 --- a/VNH.WebAPi/Program.cs +++ b/VNH.WebAPi/Program.cs @@ -106,11 +106,11 @@ public static void Main(string[] args) var app = builder.Build(); // Configure the HTTP request pipeline. - if (app.Environment.IsDevelopment()) - { + //if (app.Environment.IsDevelopment()) + //{ app.UseSwagger(); app.UseSwaggerUI(); - } + //} app.UseForwardedHeaders(); app.UseHttpLogging(); diff --git a/VNH.WebAPi/wwwroot/Images/ffd3abf2-ab40-4534-b5c9-ee5549ebd516.jpg b/VNH.WebAPi/wwwroot/Images/ffd3abf2-ab40-4534-b5c9-ee5549ebd516.jpg new file mode 100644 index 0000000000000000000000000000000000000000..56b295cd4ebfcde0857a493e96b5da0800034bd3 GIT binary patch literal 49668 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