mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-22 02:27:57 +00:00
feat✨ 添加修改配置接口
This commit is contained in:
@@ -87,7 +87,6 @@ func (e SysConfig) GetSysConfigBySysApp(c *gin.Context) {
|
|||||||
e.OK(mp, "查询成功")
|
e.OK(mp, "查询成功")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// GetSysConfig 获取配置管理
|
// GetSysConfig 获取配置管理
|
||||||
// @Summary 获取配置管理
|
// @Summary 获取配置管理
|
||||||
// @Description 获取配置管理
|
// @Description 获取配置管理
|
||||||
@@ -180,6 +179,73 @@ func (e SysConfig) UpdateSysConfig(c *gin.Context) {
|
|||||||
e.OK(control.GetId(), "更新成功")
|
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 删除配置管理
|
// DeleteSysConfig 删除配置管理
|
||||||
// @Summary 删除配置管理
|
// @Summary 删除配置管理
|
||||||
// @Description 删除配置管理
|
// @Description 删除配置管理
|
||||||
|
|||||||
@@ -33,4 +33,10 @@ func registerSysConfigRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMidd
|
|||||||
r2.GET("", api.GetSysConfigBySysApp)
|
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 {
|
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"`
|
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"`
|
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{} {
|
func (m *SysConfigSearch) GetNeedSearch() interface{} {
|
||||||
@@ -59,6 +59,17 @@ func (s *SysConfigControl) GetId() interface{} {
|
|||||||
return s.Id
|
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获取配置
|
// SysConfigByKeyReq 根据Key获取配置
|
||||||
type SysConfigByKeyReq struct {
|
type SysConfigByKeyReq struct {
|
||||||
ConfigKey string `uri:"configKey" search:"type:contains;column:config_key;table:sys_config"`
|
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
|
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
|
// RemoveSysConfig 删除SysConfig
|
||||||
func (e *SysConfig) RemoveSysConfig(d *dto.SysConfigById) error {
|
func (e *SysConfig) RemoveSysConfig(d *dto.SysConfigById) error {
|
||||||
var err error
|
var err error
|
||||||
|
|||||||
Reference in New Issue
Block a user