manage.go 1007 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package system_setting
  2. import (
  3. "surveyService/model"
  4. "github.com/golang-module/carbon"
  5. "github.com/samber/lo"
  6. )
  7. type SystemSetting struct {
  8. Key string `json:"key"`
  9. Value string `json:"value"`
  10. CreatedAt string `json:"createdAt"`
  11. }
  12. // Get 批量获取
  13. func Get(keys []string) []*SystemSetting {
  14. var systemSettings []*SystemSetting = make([]*SystemSetting, 0)
  15. var settings []*model.SystemSetting
  16. model.DB.Where("`key` IN ?", keys).Find(&settings)
  17. for _, key := range keys {
  18. systemSetting, has := lo.Find(settings, func(setting *model.SystemSetting) bool {
  19. return setting.Key == key
  20. })
  21. if has {
  22. systemSettings = append(systemSettings, &SystemSetting{
  23. Key: systemSetting.Key,
  24. Value: systemSetting.Value,
  25. CreatedAt: carbon.Time2Carbon(systemSetting.CreatedAt).Format("Y/m/d H:i:s"),
  26. })
  27. continue
  28. }
  29. systemSettings = append(systemSettings, &SystemSetting{
  30. Key: key,
  31. Value: "",
  32. CreatedAt: "",
  33. })
  34. }
  35. return systemSettings
  36. }