mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-21 10:13:01 +00:00
feat✨ 添加修改配置接口
This commit is contained in:
@@ -87,7 +87,6 @@ func (e SysConfig) GetSysConfigBySysApp(c *gin.Context) {
|
||||
e.OK(mp, "查询成功")
|
||||
}
|
||||
|
||||
|
||||
// GetSysConfig 获取配置管理
|
||||
// @Summary 获取配置管理
|
||||
// @Description 获取配置管理
|
||||
@@ -180,6 +179,73 @@ 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).
|
||||
MakeOrm().
|
||||
MakeService(&s.Service).
|
||||
Errors
|
||||
if err != nil {
|
||||
e.Logger.Error(err)
|
||||
return
|
||||
}
|
||||
|
||||
d := make([]dto.SysConfigSetReq, 0)
|
||||
err = s.GetSetSysConfig(&d)
|
||||
if err != nil {
|
||||
e.Logger.Errorf("GetSetSysConfig 查询失败, error:%s", err)
|
||||
e.Error(500, err, "查询失败")
|
||||
return
|
||||
}
|
||||
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
|
||||
}
|
||||
|
||||
}
|
||||
e.OK(m, "查询成功")
|
||||
}
|
||||
|
||||
// DeleteSysConfig 删除配置管理
|
||||
// @Summary 删除配置管理
|
||||
// @Description 删除配置管理
|
||||
|
||||
@@ -33,4 +33,10 @@ func registerSysConfigRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMidd
|
||||
r2.GET("", api.GetSysConfigBySysApp)
|
||||
}
|
||||
|
||||
r3 := v1.Group("/set-config")
|
||||
{
|
||||
r3.PUT("", api.SetSysConfig)
|
||||
r3.GET("", api.GetSetSysConfig)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -17,11 +17,11 @@ type SysConfigSearch struct {
|
||||
}
|
||||
|
||||
type SysConfigOrder struct {
|
||||
IdOrder string `search:"type:order;column:id;table:sys_config" form:"idOrder"`
|
||||
IdOrder string `search:"type:order;column:id;table:sys_config" form:"idOrder"`
|
||||
ConfigNameOrder string `search:"type:order;column:config_name;table:sys_config" form:"configNameOrder"`
|
||||
ConfigKeyOrder string `search:"type:order;column:config_key;table:sys_config" form:"configKeyOrder"`
|
||||
ConfigKeyOrder string `search:"type:order;column:config_key;table:sys_config" form:"configKeyOrder"`
|
||||
ConfigTypeOrder string `search:"type:order;column:config_type;table:sys_config" form:"configTypeOrder"`
|
||||
CreatedAtOrder string `search:"type:order;column:created_at;table:sys_config" form:"createdAtOrder"`
|
||||
CreatedAtOrder string `search:"type:order;column:created_at;table:sys_config" form:"createdAtOrder"`
|
||||
}
|
||||
|
||||
func (m *SysConfigSearch) GetNeedSearch() interface{} {
|
||||
@@ -59,6 +59,17 @@ func (s *SysConfigControl) GetId() interface{} {
|
||||
return s.Id
|
||||
}
|
||||
|
||||
// SysConfigSetReq 增、改使用的结构体
|
||||
type SysConfigSetReq struct {
|
||||
ConfigKey string `json:"configKey" comment:""`
|
||||
ConfigValue string `json:"configValue" comment:""`
|
||||
}
|
||||
|
||||
// Generate 结构体数据转化 从 SysConfigControl 至 system.SysConfig 对应的模型
|
||||
func (s *SysConfigSetReq) Generate(model *models.SysConfig) {
|
||||
model.ConfigValue = s.ConfigValue
|
||||
}
|
||||
|
||||
// SysConfigByKeyReq 根据Key获取配置
|
||||
type SysConfigByKeyReq struct {
|
||||
ConfigKey string `uri:"configKey" search:"type:contains;column:config_key;table:sys_config"`
|
||||
|
||||
@@ -98,6 +98,41 @@ func (e *SysConfig) UpdateSysConfig(c *dto.SysConfigControl) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetSysConfig 修改SysConfig对象
|
||||
func (e *SysConfig) SetSysConfig(c *[]dto.SysConfigSetReq) 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("无权更新该数据")
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *SysConfig) GetSetSysConfig(c *[]dto.SysConfigSetReq) error {
|
||||
var err error
|
||||
var data models.SysConfig
|
||||
|
||||
err = e.Orm.Model(&data).
|
||||
Find(c).Error
|
||||
if 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
|
||||
|
||||
Reference in New Issue
Block a user