serv_api.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package service
  2. import (
  3. "Medical_OAuth/app/admin/model"
  4. "Medical_OAuth/app/admin/service/dto"
  5. cDto "Medical_OAuth/common/dto"
  6. "Medical_OAuth/common/global"
  7. "errors"
  8. "gorm.io/gorm"
  9. "gogs.baozhida.cn/zoie/OAuth-core/service"
  10. )
  11. type ServApi struct {
  12. service.Service
  13. }
  14. // GetPage 获取ServApi列表
  15. func (e *ServApi) GetPage(c *dto.ServApiGetPageReq, list *[]model.ServApi, count *int64) error {
  16. var err error
  17. var data model.ServApi
  18. err = e.Orm.Model(&data).
  19. Scopes(
  20. cDto.MakeCondition(c.GetNeedSearch()),
  21. cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
  22. ).
  23. Find(list).Limit(-1).Offset(-1).
  24. Count(count).Error
  25. if err != nil {
  26. e.Log.Errorf("db error: %s \r", err)
  27. return global.GetFailedErr
  28. }
  29. return nil
  30. }
  31. // Get 获取ServApi对象
  32. func (e *ServApi) Get(d *dto.ServApiGetReq, servApiModel *model.ServApi) error {
  33. err := e.Orm.First(servApiModel, d.GetId()).Error
  34. if err != nil {
  35. e.Log.Errorf("db error: %s", err)
  36. if errors.Is(err, gorm.ErrRecordNotFound) {
  37. return global.GetNotFoundOrNoPermissionErr
  38. }
  39. return global.GetFailedErr
  40. }
  41. return nil
  42. }
  43. // Insert 创建AppMenu对象
  44. func (e *ServApi) Insert(c *dto.ServApiInsertReq) error {
  45. var err error
  46. var data model.ServApi
  47. err = e.Orm.Where("service_id = ? and path = ? and action = ?", c.ServiceId, c.Path, c.Action).First(&data).Error
  48. if err == nil {
  49. return errors.New("数据已存在")
  50. }
  51. c.Generate(&data)
  52. err = e.Orm.Create(&data).Error
  53. if err != nil {
  54. e.Log.Errorf("db error: %s", err)
  55. return global.CreateFailedErr
  56. }
  57. c.Id = data.Id
  58. return nil
  59. }
  60. // Update 修改ServApi对象
  61. func (e *ServApi) Update(c *dto.ServApiUpdateReq) error {
  62. var servModel = model.ServApi{}
  63. err := e.Orm.First(&servModel, c.GetId()).Error
  64. if err != nil {
  65. e.Log.Errorf("db error: %s", err)
  66. if errors.Is(err, gorm.ErrRecordNotFound) {
  67. return global.UpdateNotFoundOrNoPermissionErr
  68. }
  69. return global.UpdateFailedErr
  70. }
  71. c.Generate(&servModel)
  72. err = e.Orm.Save(&servModel).Error
  73. if err != nil {
  74. e.Log.Errorf("db error: %s", err)
  75. return global.UpdateFailedErr
  76. }
  77. return nil
  78. }
  79. // Remove 删除ServApi
  80. func (e *ServApi) Remove(d *dto.ServApiDeleteReq) error {
  81. var data model.ServApi
  82. db := e.Orm.Model(&data).Delete(&data, d.GetId())
  83. if err := db.Error; err != nil {
  84. e.Log.Errorf("Service RemoveServApi error: %s", err)
  85. return global.DeleteFailedErr
  86. }
  87. return nil
  88. }
  89. func (e *ServApi) GetList(c *dto.ServApiListByIds, list *[]model.ServApi) error {
  90. var err error
  91. var data model.ServApi
  92. err = e.Orm.Model(&data).
  93. Scopes(
  94. cDto.MakeCondition(c.GetNeedSearch()),
  95. ).
  96. Find(list).Limit(-1).Offset(-1).
  97. Error
  98. if err != nil {
  99. e.Log.Errorf("db error: %s \r", err)
  100. return global.GetFailedErr
  101. }
  102. return nil
  103. }