159 lines
3.5 KiB
Go
159 lines
3.5 KiB
Go
package system
|
|
|
|
import (
|
|
"kra/internal/biz/system"
|
|
"kra/pkg/response"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
type ParamsApi struct{}
|
|
|
|
// CreateParamsRequest 创建参数请求
|
|
type CreateParamsRequest struct {
|
|
Key string `json:"key" binding:"required"`
|
|
Value string `json:"value" binding:"required"`
|
|
Name string `json:"name"`
|
|
Desc string `json:"desc"`
|
|
}
|
|
|
|
// UpdateParamsRequest 更新参数请求
|
|
type UpdateParamsRequest struct {
|
|
ID uint `json:"ID" binding:"required"`
|
|
Key string `json:"key" binding:"required"`
|
|
Value string `json:"value" binding:"required"`
|
|
Name string `json:"name"`
|
|
Desc string `json:"desc"`
|
|
}
|
|
|
|
// DeleteParamsRequest 删除参数请求
|
|
type DeleteParamsRequest struct {
|
|
ID uint `json:"ID" binding:"required"`
|
|
}
|
|
|
|
// GetParamsListRequest 获取参数列表请求
|
|
type GetParamsListRequest struct {
|
|
Page int `json:"page"`
|
|
PageSize int `json:"pageSize"`
|
|
Key string `json:"key"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// CreateSysParams 创建参数
|
|
func (p *ParamsApi) CreateSysParams(c *gin.Context) {
|
|
var req CreateParamsRequest
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
|
|
params := &system.Params{
|
|
Key: req.Key,
|
|
Value: req.Value,
|
|
Name: req.Name,
|
|
Desc: req.Desc,
|
|
}
|
|
|
|
if err := paramsUsecase.Create(c, params); err != nil {
|
|
response.FailWithMessage("创建失败: "+err.Error(), c)
|
|
return
|
|
}
|
|
|
|
response.OkWithMessage("创建成功", c)
|
|
}
|
|
|
|
// DeleteSysParams 删除参数
|
|
func (p *ParamsApi) DeleteSysParams(c *gin.Context) {
|
|
var req DeleteParamsRequest
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
|
|
if err := paramsUsecase.Delete(c, req.ID); err != nil {
|
|
response.FailWithMessage("删除失败: "+err.Error(), c)
|
|
return
|
|
}
|
|
|
|
response.OkWithMessage("删除成功", c)
|
|
}
|
|
|
|
// UpdateSysParams 更新参数
|
|
func (p *ParamsApi) UpdateSysParams(c *gin.Context) {
|
|
var req UpdateParamsRequest
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
|
|
params := &system.Params{
|
|
ID: req.ID,
|
|
Key: req.Key,
|
|
Value: req.Value,
|
|
Name: req.Name,
|
|
Desc: req.Desc,
|
|
}
|
|
|
|
if err := paramsUsecase.Update(c, params); err != nil {
|
|
response.FailWithMessage("更新失败: "+err.Error(), c)
|
|
return
|
|
}
|
|
|
|
response.OkWithMessage("更新成功", c)
|
|
}
|
|
|
|
// GetSysParams 根据Key获取参数
|
|
func (p *ParamsApi) GetSysParams(c *gin.Context) {
|
|
key := c.Query("key")
|
|
if key == "" {
|
|
response.FailWithMessage("参数错误", c)
|
|
return
|
|
}
|
|
|
|
params, err := paramsUsecase.GetByKey(c, key)
|
|
if err != nil {
|
|
response.FailWithMessage("获取失败", c)
|
|
return
|
|
}
|
|
|
|
response.OkWithDetailed(gin.H{"sysParams": params}, "获取成功", c)
|
|
}
|
|
|
|
// GetSysParamsList 获取参数列表
|
|
func (p *ParamsApi) GetSysParamsList(c *gin.Context) {
|
|
var req GetParamsListRequest
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
// GET请求使用默认值
|
|
req.Page = 1
|
|
req.PageSize = 10
|
|
}
|
|
|
|
if req.Page == 0 {
|
|
req.Page = 1
|
|
}
|
|
if req.PageSize == 0 {
|
|
req.PageSize = 10
|
|
}
|
|
|
|
filters := make(map[string]interface{})
|
|
if req.Key != "" {
|
|
filters["key"] = req.Key
|
|
}
|
|
if req.Name != "" {
|
|
filters["name"] = req.Name
|
|
}
|
|
|
|
list, total, err := paramsUsecase.GetList(c, req.Page, req.PageSize, filters)
|
|
if err != nil {
|
|
response.FailWithMessage("获取失败", c)
|
|
return
|
|
}
|
|
|
|
response.OkWithDetailed(response.PageResult{
|
|
List: list,
|
|
Total: total,
|
|
Page: req.Page,
|
|
PageSize: req.PageSize,
|
|
}, "获取成功", c)
|
|
}
|