feat 添加修改配置接口

This commit is contained in:
wenjianzhang
2021-05-27 19:33:41 +08:00
parent dc32d92755
commit d69b7807c1
4 changed files with 123 additions and 5 deletions
+67 -1
View File
@@ -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 删除配置管理
+6
View File
@@ -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)
}
}
+14 -3
View File
@@ -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"`
+35
View File
@@ -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