Files
go-admin/app/admin/apis/system/settings.go
T

100 lines
2.4 KiB
Go

package system
import (
"fmt"
"go-admin/app/admin/service"
"go-admin/app/admin/service/dto"
"go-admin/common/apis"
"go-admin/common/log"
"net/http"
"strings"
"github.com/gin-gonic/gin"
"go-admin/app/admin/models"
"go-admin/tools"
)
type SysSetting struct {
apis.Api
}
// @Summary 查询系统信息
// @Description 获取JSON
// @Tags 系统信息
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
// @Router /api/v1/setting [get]
func (e *SysSetting) GetSetting(c *gin.Context) {
msgID := tools.GenerateMsgIDFromContext(c)
db, err := tools.GetOrm(c)
if err != nil {
log.Error(err)
return
}
sysSettingService := service.SysSetting{}
sysSettingService.MsgID=msgID
sysSettingService.Orm=db
var model = models.SysSetting{}
err = sysSettingService.GetSysSetting(&model)
if err != nil {
e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
return
}
if model.Logo != "" {
if !strings.HasPrefix(model.Logo, "http") {
model.Logo = fmt.Sprintf("http://%s/%s", c.Request.Host, model.Logo)
}
}
e.OK(c, model, "查询成功")
}
// @Summary 更新或提交系统信息
// @Description 获取JSON
// @Tags 系统信息
// @Param data body models.SysUser true "body"
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
// @Router /api/v1/system/setting [post]
func (e *SysSetting) CreateOrUpdateSetting(c *gin.Context) {
control := new(dto.SysSettingControl)
msgID := tools.GenerateMsgIDFromContext(c)
db, err := tools.GetOrm(c)
if err != nil {
log.Error(err)
return
}
//更新操作
err = control.Bind(c)
if err != nil {
e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
object, err := control.Generate()
if err != nil {
e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
return
}
sysSettingService := service.SysSetting{}
sysSettingService.MsgID=msgID
sysSettingService.Orm=db
err = sysSettingService.UpdateSysSetting(object)
if err != nil {
e.Error(c, http.StatusUnprocessableEntity, err, "更新失败")
return
}
if object.Logo != "" {
if !strings.HasPrefix(object.Logo, "http") {
object.Logo = fmt.Sprintf("http://%s/%s", c.Request.Host, object.Logo)
}
}
e.OK(c, object, "提交成功")
}