sys_config.go 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. package service
  2. import (
  3. cDto "Medical_OAuth/common/dto"
  4. "Medical_OAuth/common/global"
  5. "errors"
  6. "gogs.baozhida.cn/zoie/OAuth-core/service"
  7. "gorm.io/gorm"
  8. "Medical_OAuth/app/admin/model"
  9. "Medical_OAuth/app/admin/service/dto"
  10. )
  11. type SysConfig struct {
  12. service.Service
  13. }
  14. // GetPage 获取SysConfig列表
  15. func (e *SysConfig) GetPage(c *dto.SysConfigGetPageReq, list *[]model.SysConfig, count *int64) error {
  16. err := e.Orm.
  17. Scopes(
  18. cDto.MakeCondition(c.GetNeedSearch()),
  19. cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
  20. ).
  21. Find(list).Limit(-1).Offset(-1).
  22. Count(count).Error
  23. if err != nil {
  24. e.Log.Errorf("Service GetSysConfigPage error: %s", err)
  25. return err
  26. }
  27. return nil
  28. }
  29. // Get 获取SysConfig对象
  30. func (e *SysConfig) Get(d *dto.SysConfigGetReq, model *model.SysConfig) error {
  31. err := e.Orm.First(model, d.GetId()).Error
  32. if err != nil {
  33. e.Log.Errorf("db error: %s", err)
  34. if errors.Is(err, gorm.ErrRecordNotFound) {
  35. return global.GetNotFoundOrNoPermissionErr
  36. }
  37. return global.GetFailedErr
  38. }
  39. return nil
  40. }
  41. // Insert 创建SysConfig对象
  42. func (e *SysConfig) Insert(c *dto.SysConfigControl) error {
  43. var err error
  44. var data model.SysConfig
  45. c.Generate(&data)
  46. err = e.Orm.Create(&data).Error
  47. if err != nil {
  48. e.Log.Errorf("Service InsertSysConfig error: %s", err)
  49. return global.CreateFailedErr
  50. }
  51. return nil
  52. }
  53. // Update 修改SysConfig对象
  54. func (e *SysConfig) Update(c *dto.SysConfigControl) error {
  55. var err error
  56. var confModel = model.SysConfig{}
  57. err = e.Orm.First(&confModel, c.GetId()).Error
  58. if err != nil {
  59. e.Log.Errorf("db error: %s", err)
  60. if errors.Is(err, gorm.ErrRecordNotFound) {
  61. return global.UpdateNotFoundOrNoPermissionErr
  62. }
  63. return global.UpdateFailedErr
  64. }
  65. c.Generate(&confModel)
  66. err = e.Orm.Save(&confModel).Error
  67. if err != nil {
  68. e.Log.Errorf("Service UpdateSysConfig error: %s", err)
  69. return global.UpdateFailedErr
  70. }
  71. return nil
  72. }
  73. // SetSysConfig 修改SysConfig对象
  74. func (e *SysConfig) SetSysConfig(c *[]dto.GetSetSysConfigReq) error {
  75. for _, req := range *c {
  76. var confModel = model.SysConfig{}
  77. err := e.Orm.Where("config_key = ?", req.ConfigKey).First(&confModel).Error
  78. if err != nil {
  79. e.Log.Errorf("db error: %s", err)
  80. if errors.Is(err, gorm.ErrRecordNotFound) {
  81. return global.UpdateNotFoundOrNoPermissionErr
  82. }
  83. return global.UpdateFailedErr
  84. }
  85. }
  86. return nil
  87. }
  88. func (e *SysConfig) GetForSet(c *[]dto.GetSetSysConfigReq) error {
  89. var err error
  90. var data model.SysConfig
  91. err = e.Orm.Model(&data).Find(c).Error
  92. if err != nil {
  93. e.Log.Errorf("Service GetSysConfigPage error: %s", err)
  94. return global.GetFailedErr
  95. }
  96. return nil
  97. }
  98. func (e *SysConfig) UpdateForSet(c *[]dto.GetSetSysConfigReq) error {
  99. m := *c
  100. for _, req := range m {
  101. var data model.SysConfig
  102. if err := e.Orm.Where("config_key = ?", req.ConfigKey).
  103. First(&data).Error; err != nil {
  104. e.Log.Errorf("Service GetSysConfigPage error: %s", err)
  105. if errors.Is(err, gorm.ErrRecordNotFound) {
  106. return global.UpdateNotFoundOrNoPermissionErr
  107. }
  108. return global.UpdateFailedErr
  109. }
  110. if data.ConfigValue != req.ConfigValue {
  111. data.ConfigValue = req.ConfigValue
  112. if err := e.Orm.Save(&data).Error; err != nil {
  113. e.Log.Errorf("Service GetSysConfigPage error: %s", err)
  114. return global.UpdateFailedErr
  115. }
  116. }
  117. }
  118. return nil
  119. }
  120. // Remove 删除SysConfig
  121. func (e *SysConfig) Remove(d *dto.SysConfigDeleteReq) error {
  122. var err error
  123. var data model.SysConfig
  124. db := e.Orm.Delete(&data, d.Ids)
  125. if err = db.Error; err != nil {
  126. err = db.Error
  127. e.Log.Errorf("Service RemoveSysConfig error: %s", err)
  128. return global.DeleteFailedErr
  129. }
  130. if db.RowsAffected == 0 {
  131. return global.DeleteNotFoundOrNoPermissionErr
  132. }
  133. return nil
  134. }
  135. // GetWithKey 根据Key获取SysConfig
  136. func (e *SysConfig) GetWithKey(c *dto.SysConfigByKeyReq, resp *dto.GetSysConfigByKEYForServiceResp) error {
  137. var err error
  138. var data model.SysConfig
  139. err = e.Orm.Table(data.TableName()).Where("config_key = ?", c.ConfigKey).First(resp).Error
  140. if err != nil {
  141. e.Log.Errorf("At Service GetSysConfigByKEY error: %s", err)
  142. return global.GetFailedErr
  143. }
  144. return nil
  145. }
  146. func (e *SysConfig) GetWithKeyList(c *dto.SysConfigGetToSysAppReq, list *[]model.SysConfig) error {
  147. var err error
  148. err = e.Orm.
  149. Scopes(
  150. cDto.MakeCondition(c.GetNeedSearch()),
  151. ).
  152. Find(list).Error
  153. if err != nil {
  154. e.Log.Errorf("Service GetSysConfigByKey error: %s", err)
  155. return global.GetFailedErr
  156. }
  157. return nil
  158. }