ArticleTopicService.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. using Infrastructure;
  2. using Infrastructure.Attribute;
  3. using Mapster;
  4. using ZR.Model;
  5. using ZR.Model.Content;
  6. using ZR.Model.Content.Dto;
  7. using ZR.Repository;
  8. using ZR.Service.Content.IService;
  9. namespace ZR.Service.Content
  10. {
  11. /// <summary>
  12. /// 文章话题Service业务层处理
  13. /// </summary>
  14. [AppService(ServiceType = typeof(IArticleTopicService), ServiceLifetime = LifeTime.Transient)]
  15. public class ArticleTopicService : BaseService<ArticleTopic>, IArticleTopicService
  16. {
  17. /// <summary>
  18. /// 查询文章话题列表
  19. /// </summary>
  20. /// <param name="parm"></param>
  21. /// <returns></returns>
  22. public PagedInfo<ArticleTopicDto> GetList(ArticleTopicQueryDto parm)
  23. {
  24. var predicate = QueryExp(parm);
  25. var response = Queryable()
  26. .Where(predicate.ToExpression())
  27. .ToPage<ArticleTopic, ArticleTopicDto>(parm);
  28. return response;
  29. }
  30. /// <summary>
  31. /// 获取详情
  32. /// </summary>
  33. /// <param name="TopicId"></param>
  34. /// <returns></returns>
  35. public ArticleTopic GetInfo(long TopicId)
  36. {
  37. var response = Queryable()
  38. .Where(x => x.TopicId == TopicId)
  39. .First();
  40. return response;
  41. }
  42. /// <summary>
  43. /// 添加文章话题
  44. /// </summary>
  45. /// <param name="model"></param>
  46. /// <returns></returns>
  47. public ArticleTopic AddArticleTopic(ArticleTopic model)
  48. {
  49. if (Any(f => f.TopicName == model.TopicName))
  50. {
  51. throw new CustomException("话题名已存在");
  52. }
  53. return Insertable(model).ExecuteReturnEntity();
  54. }
  55. /// <summary>
  56. /// 修改文章话题
  57. /// </summary>
  58. /// <param name="model"></param>
  59. /// <returns></returns>
  60. public int UpdateArticleTopic(ArticleTopic model)
  61. {
  62. return Update(model, true);
  63. }
  64. /// <summary>
  65. /// 导出文章话题
  66. /// </summary>
  67. /// <param name="parm"></param>
  68. /// <returns></returns>
  69. public PagedInfo<ArticleTopicDto> ExportList(ArticleTopicQueryDto parm)
  70. {
  71. var predicate = QueryExp(parm);
  72. var response = Queryable()
  73. .Where(predicate.ToExpression())
  74. .Select((it) => new ArticleTopicDto()
  75. {
  76. }, true)
  77. .ToPage(parm);
  78. return response;
  79. }
  80. /// <summary>
  81. /// 查询导出表达式
  82. /// </summary>
  83. /// <param name="parm"></param>
  84. /// <returns></returns>
  85. private static Expressionable<ArticleTopic> QueryExp(ArticleTopicQueryDto parm)
  86. {
  87. var predicate = Expressionable.Create<ArticleTopic>();
  88. return predicate;
  89. }
  90. /// <summary>
  91. /// 查询热门文章话题列表
  92. /// </summary>
  93. /// <param name="parm"></param>
  94. /// <returns></returns>
  95. public List<ArticleTopicDto> GetTopicList(ArticleTopicQueryDto parm)
  96. {
  97. var predicate = Expressionable.Create<ArticleTopic>();
  98. var response = Queryable()
  99. .Where(predicate.ToExpression())
  100. .ToList();
  101. return response.Adapt<List<ArticleTopicDto>>();
  102. }
  103. }
  104. }