BaseService.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. // 麻省理工学院许可证
  2. //
  3. // 版权所有 (c) 2021-2023 zuohuaijun,大名科技(天津)有限公司 联系电话/微信:18020030720 QQ:515096995
  4. //
  5. // 特此免费授予获得本软件的任何人以处理本软件的权利,但须遵守以下条件:在所有副本或重要部分的软件中必须包括上述版权声明和本许可声明。
  6. //
  7. // 软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于对适销性、适用性和非侵权的保证。
  8. // 在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他方式引起的,与软件或其使用或其他交易有关。
  9. namespace Admin.NET.Core;
  10. /// <summary>
  11. /// 实体操作基服务
  12. /// </summary>
  13. /// <typeparam name="TEntity"></typeparam>
  14. public class BaseService<TEntity> : IDynamicApiController where TEntity : class, new()
  15. {
  16. private readonly SqlSugarRepository<TEntity> _rep;
  17. public BaseService(SqlSugarRepository<TEntity> rep)
  18. {
  19. _rep = rep;
  20. }
  21. /// <summary>
  22. /// 获取实体详情
  23. /// </summary>
  24. /// <param name="id"></param>
  25. /// <returns></returns>
  26. [DisplayName("获取实体详情")]
  27. public virtual async Task<TEntity> GetDetail(long id)
  28. {
  29. return await _rep.GetByIdAsync(id);
  30. }
  31. /// <summary>
  32. /// 获取实体集合
  33. /// </summary>
  34. /// <returns></returns>
  35. [DisplayName("获取实体集合")]
  36. public virtual async Task<List<TEntity>> GetList()
  37. {
  38. return await _rep.GetListAsync();
  39. }
  40. ///// <summary>
  41. ///// 获取实体分页
  42. ///// </summary>
  43. ///// <param name="input"></param>
  44. ///// <returns></returns>
  45. //[ApiDescriptionSettings(Name = "Page")]
  46. //[DisplayName("获取实体分页")]
  47. //public async Task<SqlSugarPagedList<TEntity>> GetPage([FromQuery] BasePageInput input)
  48. //{
  49. // return await _rep.AsQueryable().ToPagedListAsync(input.Page, input.PageSize);
  50. //}
  51. /// <summary>
  52. /// 增加实体
  53. /// </summary>
  54. /// <param name="entity"></param>
  55. /// <returns></returns>
  56. [ApiDescriptionSettings(Name = "Add"), HttpPost]
  57. [DisplayName("增加实体")]
  58. public virtual async Task<bool> Add(TEntity entity)
  59. {
  60. return await _rep.InsertAsync(entity);
  61. }
  62. /// <summary>
  63. /// 更新实体
  64. /// </summary>
  65. /// <param name="entity"></param>
  66. /// <returns></returns>
  67. [ApiDescriptionSettings(Name = "Update"), HttpPost]
  68. [DisplayName("更新实体")]
  69. public virtual async Task<bool> Update(TEntity entity)
  70. {
  71. return await _rep.UpdateAsync(entity);
  72. }
  73. /// <summary>
  74. /// 删除实体
  75. /// </summary>
  76. /// <param name="id"></param>
  77. /// <returns></returns>
  78. [ApiDescriptionSettings(Name = "Delete"), HttpPost]
  79. [DisplayName("删除实体")]
  80. public virtual async Task<bool> Delete(long id)
  81. {
  82. return await _rep.DeleteByIdAsync(id);
  83. }
  84. }