BaseService.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. // 大名科技(天津)有限公司 版权所有
  2. //
  3. // 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
  4. //
  5. // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动
  6. //
  7. // 任何基于本项目二次开发而产生的一切法律纠纷和责任,均与作者无关
  8. namespace Admin.NET.Core;
  9. /// <summary>
  10. /// 实体操作基服务
  11. /// </summary>
  12. /// <typeparam name="TEntity"></typeparam>
  13. public class BaseService<TEntity> : IDynamicApiController where TEntity : class, new()
  14. {
  15. private readonly SqlSugarRepository<TEntity> _rep;
  16. public BaseService(SqlSugarRepository<TEntity> rep)
  17. {
  18. _rep = rep;
  19. }
  20. /// <summary>
  21. /// 获取详情 🔖
  22. /// </summary>
  23. /// <param name="id"></param>
  24. /// <returns></returns>
  25. [DisplayName("获取详情")]
  26. public virtual async Task<TEntity> GetDetail(long id)
  27. {
  28. return await _rep.GetByIdAsync(id);
  29. }
  30. /// <summary>
  31. /// 获取集合 🔖
  32. /// </summary>
  33. /// <returns></returns>
  34. [DisplayName("获取集合")]
  35. public virtual async Task<List<TEntity>> GetList()
  36. {
  37. return await _rep.GetListAsync();
  38. }
  39. ///// <summary>
  40. ///// 获取实体分页 🔖
  41. ///// </summary>
  42. ///// <param name="input"></param>
  43. ///// <returns></returns>
  44. //[ApiDescriptionSettings(Name = "Page")]
  45. //[DisplayName("获取实体分页")]
  46. //public async Task<SqlSugarPagedList<TEntity>> GetPage([FromQuery] BasePageInput input)
  47. //{
  48. // return await _rep.AsQueryable().ToPagedListAsync(input.Page, input.PageSize);
  49. //}
  50. /// <summary>
  51. /// 增加 🔖
  52. /// </summary>
  53. /// <param name="entity"></param>
  54. /// <returns></returns>
  55. [ApiDescriptionSettings(Name = "Add"), HttpPost]
  56. [DisplayName("增加")]
  57. public virtual async Task<bool> Add(TEntity entity)
  58. {
  59. return await _rep.InsertAsync(entity);
  60. }
  61. /// <summary>
  62. /// 更新 🔖
  63. /// </summary>
  64. /// <param name="entity"></param>
  65. /// <returns></returns>
  66. [ApiDescriptionSettings(Name = "Update"), HttpPost]
  67. [DisplayName("更新")]
  68. public virtual async Task<int> Update(TEntity entity)
  69. {
  70. return await _rep.AsUpdateable(entity).IgnoreColumns(true).ExecuteCommandAsync();
  71. }
  72. /// <summary>
  73. /// 删除 🔖
  74. /// </summary>
  75. /// <param name="id"></param>
  76. /// <returns></returns>
  77. [ApiDescriptionSettings(Name = "Delete"), HttpPost]
  78. [DisplayName("删除")]
  79. public virtual async Task<bool> Delete(long id)
  80. {
  81. return await _rep.DeleteByIdAsync(id);
  82. }
  83. }