diff --git a/app/admin/apis/sys_config.go b/app/admin/apis/sys_config.go index 598b7c82..9a46a432 100644 --- a/app/admin/apis/sys_config.go +++ b/app/admin/apis/sys_config.go @@ -179,38 +179,6 @@ func (e SysConfig) UpdateSysConfig(c *gin.Context) { e.OK(control.GetId(), "更新成功") } -// SetSysConfig 设置配置 -// @Summary 设置配置 -// @Description 界面操作设置配置值 -// @Tags 配置管理 -// @Accept application/json -// @Product application/json -// @Param data body []dto.SysConfigSetReq true "body" -// @Success 200 {object} response.Response "{"code": 200, "message": "修改成功"}" -// @Router /api/v1/set-config [put] -// @Security Bearer -func (e SysConfig) SetSysConfig(c *gin.Context) { - s := service.SysConfig{} - req := make([]dto.SysConfigSetReq, 0) - err := e.MakeContext(c). - MakeOrm(). - Bind(&req). - MakeService(&s.Service). - Errors - if err != nil { - e.Logger.Error(err) - return - } - - err = s.SetSysConfig(&req) - if err != nil { - e.Error(http.StatusUnprocessableEntity, err, "更新失败") - e.Logger.Errorf("Orm获取失败, error:%s", err) - return - } - e.OK("", "更新成功") -} - func (e SysConfig) GetSetSysConfig(c *gin.Context) { s := service.SysConfig{} err := e.MakeContext(c). @@ -222,7 +190,7 @@ func (e SysConfig) GetSetSysConfig(c *gin.Context) { return } - d := make([]dto.SysConfigSetReq, 0) + d := make([]dto.GetSetSysConfigReq, 0) err = s.GetSetSysConfig(&d) if err != nil { e.Logger.Errorf("GetSetSysConfig 查询失败, error:%s", err) @@ -231,21 +199,44 @@ func (e SysConfig) GetSetSysConfig(c *gin.Context) { } m := make(map[string]interface{}, 0) for _, req := range d { - - if req.ConfigKey == "sys_app_logo" { - mp := make(map[string]interface{}, 0) - mp["url"] = req.ConfigValue - l := make([]map[string]interface{}, 0) - l = append(l, mp) - m[req.ConfigKey] = l - } else { - m[req.ConfigKey] = req.ConfigValue - } - + m[req.ConfigKey] = req.ConfigValue } e.OK(m, "查询成功") } +// UpdateSetSysConfig 设置配置 +// @Summary 设置配置 +// @Description 界面操作设置配置值 +// @Tags 配置管理 +// @Accept application/json +// @Product application/json +// @Param data body []dto.GetSetSysConfigReq true "body" +// @Success 200 {object} response.Response "{"code": 200, "message": "修改成功"}" +// @Router /api/v1/set-config [put] +// @Security Bearer +func (e SysConfig) UpdateSetSysConfig(c *gin.Context) { + s := service.SysConfig{} + d := make([]dto.GetSetSysConfigReq, 0) + err := e.MakeContext(c). + MakeOrm(). + Bind(&d). + MakeService(&s.Service). + Errors + if err != nil { + e.Logger.Error(err) + return + } + + err = s.UpdateSetSysConfig(&d) + if err != nil { + e.Logger.Errorf("GetSetSysConfig 更新失败, error:%s", err) + e.Error(500, err, err.Error()) + return + } + + e.OK("", "更新成功") +} + // DeleteSysConfig 删除配置管理 // @Summary 删除配置管理 // @Description 删除配置管理 diff --git a/app/admin/router/sys_config.go b/app/admin/router/sys_config.go index d3242424..6d43352f 100644 --- a/app/admin/router/sys_config.go +++ b/app/admin/router/sys_config.go @@ -35,7 +35,7 @@ func registerSysConfigRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMidd r3 := v1.Group("/set-config") { - r3.PUT("", api.SetSysConfig) + r3.PUT("", api.UpdateSetSysConfig) r3.GET("", api.GetSetSysConfig) } diff --git a/app/admin/service/dto/sys_config.go b/app/admin/service/dto/sys_config.go index 95d7a7e0..c9e2facb 100644 --- a/app/admin/service/dto/sys_config.go +++ b/app/admin/service/dto/sys_config.go @@ -59,16 +59,17 @@ func (s *SysConfigControl) GetId() interface{} { return s.Id } -// SysConfigSetReq 增、改使用的结构体 -type SysConfigSetReq struct { - ConfigKey string `json:"configKey" comment:""` +// GetSetSysConfigReq 增、改使用的结构体 +type GetSetSysConfigReq struct { + ConfigKey string `json:"configKey" comment:""` ConfigValue string `json:"configValue" comment:""` } // Generate 结构体数据转化 从 SysConfigControl 至 system.SysConfig 对应的模型 -func (s *SysConfigSetReq) Generate(model *models.SysConfig) { +func (s *GetSetSysConfigReq) Generate(model *models.SysConfig) { model.ConfigValue = s.ConfigValue } +type UpdateSetSysConfigReq map[string]string // SysConfigByKeyReq 根据Key获取配置 type SysConfigByKeyReq struct { diff --git a/app/admin/service/sys_config.go b/app/admin/service/sys_config.go index f4b640fd..0deb49a5 100644 --- a/app/admin/service/sys_config.go +++ b/app/admin/service/sys_config.go @@ -99,28 +99,28 @@ func (e *SysConfig) UpdateSysConfig(c *dto.SysConfigControl) error { } // SetSysConfig 修改SysConfig对象 -func (e *SysConfig) SetSysConfig(c *[]dto.SysConfigSetReq) error { +func (e *SysConfig) SetSysConfig(c *[]dto.GetSetSysConfigReq) error { var err error for _, req := range *c { var model = models.SysConfig{} - e.Orm.Where("config_key = ?",req.ConfigKey).First(&model) - if model.Id!=0{ - req.Generate(&model) - db := e.Orm.Save(&model) - err = db.Error - if err != nil { - e.Log.Errorf("Service SetSysConfig error:%s", err) - return err - } - if db.RowsAffected == 0 { - return errors.New("无权更新该数据") - } - } + e.Orm.Where("config_key = ?", req.ConfigKey).First(&model) + if model.Id != 0 { + req.Generate(&model) + db := e.Orm.Save(&model) + err = db.Error + if err != nil { + e.Log.Errorf("Service SetSysConfig error:%s", err) + return err + } + if db.RowsAffected == 0 { + return errors.New("无权更新该数据") + } + } } return nil } -func (e *SysConfig) GetSetSysConfig(c *[]dto.SysConfigSetReq) error { +func (e *SysConfig) GetSetSysConfig(c *[]dto.GetSetSysConfigReq) error { var err error var data models.SysConfig @@ -133,6 +133,31 @@ func (e *SysConfig) GetSetSysConfig(c *[]dto.SysConfigSetReq) error { return nil } +func (e *SysConfig) UpdateSetSysConfig(c *[]dto.GetSetSysConfigReq) error { + m := *c + for _, req := range m { + var data models.SysConfig + if err := e.Orm.Where("config_key = ?", req.ConfigKey). + First(&data).Error; + err != nil { + e.Log.Errorf("Service GetSysConfigPage error:%s", err) + return err + } + if data.ConfigValue != req.ConfigValue { + data.ConfigValue = req.ConfigValue + + if err := e.Orm.Save(&data).Error; + err != nil { + e.Log.Errorf("Service GetSysConfigPage error:%s", err) + return err + } + } + + } + + return nil +} + // RemoveSysConfig 删除SysConfig func (e *SysConfig) RemoveSysConfig(d *dto.SysConfigById) error { var err error