123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package v1
- import (
- "log"
- )
- import (
- "github.com/gin-gonic/gin"
- "github.com/spf13/cast"
- )
- import (
- "resource-server/common"
- "resource-server/models"
- "resource-server/service"
- )
- func GetConfigs(c *gin.Context) {
- res, err := service.GetConfigList()
- if err != nil {
- common.HttpErr(c, err)
- return
- }
- common.HttpSuccess(c, res)
- }
- func GetConfigOptions(c *gin.Context) {
- flag := c.Query("flag")
- enable := cast.ToBool(c.Query("enable"))
- res, err := service.GetConfigOptionList(flag, enable)
- if err != nil {
- common.HttpErr(c, err)
- return
- }
- common.HttpSuccess(c, res)
- }
- func UpdateConfigItems(c *gin.Context) {
- var items map[string]interface{}
- if err := c.ShouldBindJSON(&items); err != nil {
- common.HttpErr(c, err)
- return
- }
- for key, value := range items {
- log.Printf("Key: %s, Value: %v", key, value)
- var configItem models.ConfigItem
- if err := models.DB.Model(&models.ConfigItem{}).First(&configItem, "uri = ?", key).Error; err != nil {
- //todo 回滚
- common.HttpErr(c, err)
- return
- } else {
- //todo 校验 回滚
- switch configItem.ValueType {
- case "string":
- configItem.Value = cast.ToString(value)
- case "int":
- configItem.Value = cast.ToString(cast.ToInt(value))
- case "bool":
- configItem.Value = cast.ToString(cast.ToBool(value))
- }
- err := models.DB.Save(&configItem).Error
- if err != nil {
- common.HttpErr(c, err)
- return
- }
- }
- }
- common.HttpSuccess(c)
- }
|