- 添加 acme_user 模型和相关数据库迁移- 实现 acme 用户的 CRUD 功能 - 新增 acme 用户相关的 handler 和 service -优化 domain 模型,移除冗余字段 - 更新全局异常处理,增加日志记录
73 lines
1.5 KiB
Go
73 lines
1.5 KiB
Go
package handler
|
|
|
|
import (
|
|
"acme-mana-server-go/model"
|
|
"acme-mana-server-go/service"
|
|
"acme-mana-server-go/vo"
|
|
"github.com/gin-gonic/gin"
|
|
"strconv"
|
|
)
|
|
|
|
var acmeUserService = &service.AcmeUserService{}
|
|
|
|
type AcmeUserHandler struct {
|
|
}
|
|
|
|
func (a *AcmeUserHandler) Register(r *gin.RouterGroup) {
|
|
group := r.Group("/acme_user")
|
|
group.GET("/", a.List)
|
|
group.POST("/", a.Add)
|
|
group.GET("/:id", a.Get)
|
|
group.DELETE("/:id", a.Delete)
|
|
group.POST("/page", a.Page)
|
|
}
|
|
|
|
func (a *AcmeUserHandler) List(c *gin.Context) {
|
|
acmeUsers := acmeUserService.List()
|
|
c.JSON(200, vo.Success(acmeUsers))
|
|
}
|
|
|
|
func (a *AcmeUserHandler) Add(c *gin.Context) {
|
|
acmeUser := &model.AcmeUser{}
|
|
err := c.BindJSON(acmeUser)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
acmeUser = acmeUserService.Add(acmeUser)
|
|
c.JSON(200, vo.Success(acmeUser))
|
|
}
|
|
|
|
func (a *AcmeUserHandler) Get(c *gin.Context) {
|
|
idStr := c.Param("id")
|
|
id, err := strconv.Atoi(idStr)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
acmeUser := acmeUserService.Get(id)
|
|
c.JSON(200, vo.Success(acmeUser))
|
|
}
|
|
|
|
func (a *AcmeUserHandler) Delete(c *gin.Context) {
|
|
idStr := c.Param("id")
|
|
id, err := strconv.Atoi(idStr)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
acmeUserService.Delete(id)
|
|
c.JSON(200, vo.Success(""))
|
|
}
|
|
|
|
func (a *AcmeUserHandler) Page(c *gin.Context) {
|
|
req := &vo.AcmeUserPageReq{}
|
|
err := c.BindJSON(req)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
total, acmeUsers := acmeUserService.Page(req)
|
|
result := vo.PageResult{
|
|
Total: total,
|
|
List: acmeUsers,
|
|
}
|
|
c.JSON(200, vo.Success(&result))
|
|
}
|