gas_cylinder_spec.go 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. package service
  2. import (
  3. "errors"
  4. "gas-cylinder-api/app/admin/model"
  5. "gas-cylinder-api/app/admin/service/dto"
  6. "gas-cylinder-api/common/actions"
  7. cDto "gas-cylinder-api/common/dto"
  8. "gas-cylinder-api/common/global"
  9. "gogs.baozhida.cn/zoie/OAuth-core/service"
  10. "gorm.io/gorm"
  11. )
  12. type GasCylinderSpec struct {
  13. service.Service
  14. }
  15. // GetPage 获取GasCylinderSpec列表
  16. func (e *GasCylinderSpec) GetPage(c *dto.GasCylinderSpecGetPageReq, list *[]model.GasCylinderSpec, count *int64, p *actions.DataPermission) error {
  17. var err error
  18. var data model.GasCylinderSpec
  19. err = e.Orm.Model(&data).
  20. Scopes(
  21. cDto.MakeCondition(c.GetNeedSearch()),
  22. cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
  23. actions.Permission(data.TableName(), p),
  24. ).
  25. Find(list).Limit(-1).Offset(-1).
  26. Count(count).Error
  27. if err != nil {
  28. e.Log.Errorf("db error: %s", err)
  29. return global.GetFailedErr
  30. }
  31. return nil
  32. }
  33. // Get 获取GasCylinderSpec对象
  34. func (e *GasCylinderSpec) Get(d *dto.GasCylinderSpecGetReq, gasCylinderAllotModel *model.GasCylinderSpec, p *actions.DataPermission) error {
  35. err := e.Orm.
  36. Scopes(actions.Permission(gasCylinderAllotModel.TableName(), p)).
  37. First(gasCylinderAllotModel, d.GetId()).Error
  38. if err != nil {
  39. e.Log.Errorf("db error: %s", err)
  40. if errors.Is(err, gorm.ErrRecordNotFound) {
  41. return global.GetNotFoundOrNoPermissionErr
  42. }
  43. return global.GetFailedErr
  44. }
  45. return nil
  46. }
  47. // Insert 创建GasCylinderSpec对象
  48. func (e *GasCylinderSpec) Insert(c *dto.GasCylinderSpecInsertReq) error {
  49. var err error
  50. var data model.GasCylinderSpec
  51. tx := e.Orm.Begin()
  52. defer func() {
  53. if err != nil {
  54. tx.Rollback()
  55. } else {
  56. tx.Commit()
  57. }
  58. }()
  59. // 添加角色
  60. c.Generate(&data)
  61. err = tx.Create(&data).Error
  62. if err != nil {
  63. e.Log.Errorf("db error: %s", err)
  64. return global.CreateFailedErr
  65. }
  66. c.Id = data.Id
  67. return nil
  68. }
  69. // Update 修改GasCylinderSpec对象
  70. func (e *GasCylinderSpec) Update(c *dto.GasCylinderSpecUpdateReq, p *actions.DataPermission) error {
  71. var err error
  72. tx := e.Orm.Begin()
  73. defer func() {
  74. if err != nil {
  75. tx.Rollback()
  76. } else {
  77. tx.Commit()
  78. }
  79. }()
  80. var gasCylinderAllotModel = model.GasCylinderSpec{}
  81. // 查询角色是否存在
  82. err = e.Orm.Scopes(actions.Permission(gasCylinderAllotModel.TableName(), p)).
  83. First(&gasCylinderAllotModel, c.GetId()).Error
  84. if err != nil {
  85. e.Log.Errorf("db error: %s", err)
  86. if errors.Is(err, gorm.ErrRecordNotFound) {
  87. return global.UpdateNotFoundOrNoPermissionErr
  88. }
  89. return global.UpdateFailedErr
  90. }
  91. c.Generate(&gasCylinderAllotModel)
  92. err = tx.Save(&gasCylinderAllotModel).Error
  93. if err != nil {
  94. e.Log.Errorf("db error: %s", err)
  95. return global.UpdateFailedErr
  96. }
  97. c.Id = gasCylinderAllotModel.Id
  98. return nil
  99. }
  100. // Remove 删除GasCylinderSpec
  101. func (e *GasCylinderSpec) Remove(c *dto.GasCylinderSpecDeleteReq, p *actions.DataPermission) error {
  102. var err error
  103. tx := e.Orm.Begin()
  104. defer func() {
  105. if err != nil {
  106. tx.Rollback()
  107. } else {
  108. tx.Commit()
  109. }
  110. }()
  111. var gasCylinderAllotModel model.GasCylinderSpec
  112. // 查询角色是否存在
  113. err = e.Orm.Scopes(actions.Permission(gasCylinderAllotModel.TableName(), p)).
  114. First(&gasCylinderAllotModel, c.GetId()).Error
  115. if err != nil {
  116. e.Log.Errorf("db error: %s", err)
  117. if errors.Is(err, gorm.ErrRecordNotFound) {
  118. return global.DeleteNotFoundOrNoPermissionErr
  119. }
  120. return global.DeleteFailedErr
  121. }
  122. db := tx.Delete(&gasCylinderAllotModel)
  123. if err = db.Error; err != nil {
  124. e.Log.Errorf("db error: %s", err)
  125. return global.DeleteFailedErr
  126. }
  127. if db.RowsAffected == 0 {
  128. return global.DeleteNotFoundOrNoPermissionErr
  129. }
  130. return nil
  131. }
  132. // GetAppletPage 获取GasCylinderSpec列表
  133. func (e *GasCylinderSpec) GetAppletPage(c *dto.AppletGasCylinderSpecGetPageReq, list *[]model.GasCylinderSpec, count *int64) error {
  134. var err error
  135. var data model.GasCylinderSpec
  136. err = e.Orm.Model(&data).
  137. Scopes(
  138. cDto.MakeCondition(c.GetNeedSearch()),
  139. cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
  140. ).
  141. Find(list).Limit(-1).Offset(-1).
  142. Count(count).Error
  143. if err != nil {
  144. e.Log.Errorf("db error: %s", err)
  145. return global.GetFailedErr
  146. }
  147. return nil
  148. }