72 lines
1.3 KiB
Go
72 lines
1.3 KiB
Go
|
package admin
|
||
|
|
||
|
import (
|
||
|
"errors"
|
||
|
"github.com/gin-gonic/gin"
|
||
|
"website-nav/http/param"
|
||
|
"website-nav/http/response"
|
||
|
"website-nav/service"
|
||
|
)
|
||
|
|
||
|
type Navigation struct{}
|
||
|
|
||
|
func NavigationAPI() Navigation {
|
||
|
return Navigation{}
|
||
|
}
|
||
|
|
||
|
// List
|
||
|
// @description: 分页列表
|
||
|
// @receiver Navigation
|
||
|
// @param c
|
||
|
func (Navigation) List(c *gin.Context) {
|
||
|
var p param.NavigationList
|
||
|
if err := c.ShouldBind(&p); err != nil {
|
||
|
response.R(c).Validator(err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
data, total, err := service.Navigation().List(p)
|
||
|
if err != nil {
|
||
|
response.R(c).FailedWithError(err)
|
||
|
return
|
||
|
}
|
||
|
response.R(c).Paginate(data, total, p.Current, p.Size)
|
||
|
}
|
||
|
|
||
|
// Save
|
||
|
// @description: 新增/编辑
|
||
|
// @receiver Navigation
|
||
|
// @param c
|
||
|
func (Navigation) Save(c *gin.Context) {
|
||
|
var p param.SaveNavigation
|
||
|
if err := c.ShouldBind(&p); err != nil {
|
||
|
response.R(c).Validator(err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
if err := service.Navigation().SaveNavigation(p); err != nil {
|
||
|
response.R(c).FailedWithError(err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
response.R(c).OK()
|
||
|
}
|
||
|
|
||
|
// Delete
|
||
|
// @description: 删除
|
||
|
// @receiver Navigation
|
||
|
// @param c
|
||
|
func (Navigation) Delete(c *gin.Context) {
|
||
|
var id = c.Param("id")
|
||
|
if id == "" || id == "undefined" {
|
||
|
response.R(c).Validator(errors.New("id不能为空"))
|
||
|
return
|
||
|
}
|
||
|
|
||
|
if err := service.Navigation().DeleteNavigation(id); err != nil {
|
||
|
response.R(c).FailedWithError(err)
|
||
|
return
|
||
|
}
|
||
|
response.R(c).OK()
|
||
|
}
|