diff --git a/assets b/assets index dd539f6..2c09425 160000 --- a/assets +++ b/assets @@ -1 +1 @@ -Subproject commit dd539f606a1dc7d48a2e745892abef6bbe99405c +Subproject commit 2c094258697d36c07f3374caefa80cecf480a9a8 diff --git a/models/defaults.go b/models/defaults.go index 16a798b..b505da2 100644 --- a/models/defaults.go +++ b/models/defaults.go @@ -27,10 +27,10 @@ var defaultSettings = []Setting{ {Name: "smtpPass", Value: ``, Type: "mail"}, {Name: "smtpEncryption", Value: `0`, Type: "mail"}, {Name: "maxEditSize", Value: `4194304`, Type: "file_edit"}, - {Name: "archive_timeout", Value: `60`, Type: "timeout"}, - {Name: "download_timeout", Value: `60`, Type: "timeout"}, - {Name: "preview_timeout", Value: `60`, Type: "timeout"}, - {Name: "doc_preview_timeout", Value: `60`, Type: "timeout"}, + {Name: "archive_timeout", Value: `600`, Type: "timeout"}, + {Name: "download_timeout", Value: `600`, Type: "timeout"}, + {Name: "preview_timeout", Value: `600`, Type: "timeout"}, + {Name: "doc_preview_timeout", Value: `600`, Type: "timeout"}, {Name: "upload_session_timeout", Value: `86400`, Type: "timeout"}, {Name: "slave_api_timeout", Value: `60`, Type: "timeout"}, {Name: "slave_node_retry", Value: `3`, Type: "slave"}, diff --git a/service/admin/site.go b/service/admin/site.go index 1ab48da..e3c2350 100644 --- a/service/admin/site.go +++ b/service/admin/site.go @@ -52,17 +52,23 @@ func (service *BatchSettingGet) Get() serializer.Response { // Change 批量更改站点设定 func (service *BatchSettingChangeService) Change() serializer.Response { cacheClean := make([]string, 0, len(service.Options)) + tx := model.DB.Begin() for _, setting := range service.Options { - if err := model.DB.Model(&model.Setting{}).Where("name = ?", setting.Key).Update("value", setting.Value).Error; err != nil { + if err := tx.Model(&model.Setting{}).Where("name = ?", setting.Key).Update("value", setting.Value).Error; err != nil { cache.Deletes(cacheClean, "setting_") + tx.Rollback() return serializer.DBErr("设置 "+setting.Key+" 更新失败", err) } cacheClean = append(cacheClean, setting.Key) } + if err := tx.Commit().Error; err != nil { + return serializer.DBErr("设置更新失败", err) + } + cache.Deletes(cacheClean, "setting_") return serializer.Response{}