package system_setting import ( "surveyService/model" "github.com/golang-module/carbon" "github.com/samber/lo" ) type SystemSetting struct { Key string `json:"key"` Value string `json:"value"` CreatedAt string `json:"createdAt"` } // Get 批量获取 func Get(keys []string) []*SystemSetting { var systemSettings []*SystemSetting = make([]*SystemSetting, 0) var settings []*model.SystemSetting model.DB.Where("`key` IN ?", keys).Find(&settings) for _, key := range keys { systemSetting, has := lo.Find(settings, func(setting *model.SystemSetting) bool { return setting.Key == key }) if has { systemSettings = append(systemSettings, &SystemSetting{ Key: systemSetting.Key, Value: systemSetting.Value, CreatedAt: carbon.Time2Carbon(systemSetting.CreatedAt).Format("Y/m/d H:i:s"), }) continue } systemSettings = append(systemSettings, &SystemSetting{ Key: key, Value: "", CreatedAt: "", }) } return systemSettings }