1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package handler
- import (
- "github.com/gin-gonic/gin"
- "github.com/go-nunu/nunu-layout/internal/model"
- "github.com/go-nunu/nunu-layout/internal/service"
- "github.com/go-nunu/nunu-layout/pkg/log"
- "github.com/go-nunu/nunu-layout/pkg/resp"
- "github.com/sony/sonyflake"
- "go.uber.org/zap"
- "net/http"
- )
- type UserHandler struct {
- userService *service.UserService
- log *log.Logger
- }
- func NewUserHandler(log *log.Logger, sf *sonyflake.Sonyflake, userService *service.UserService) *UserHandler {
- return &UserHandler{
- userService: userService,
- log: log,
- }
- }
- func (c *UserHandler) CreateUser(ctx *gin.Context) {
- var params struct {
- Username string `json:"username" binding:"required,min=2,max=20"`
- Email string `json:"email" binding:"required,email"`
- }
- if err := ctx.ShouldBind(¶ms); err != nil {
- resp.HandleError(ctx, http.StatusBadRequest, 1, err.Error(), nil)
- return
- }
- user, err := c.userService.CreateUser(&model.User{
- Username: params.Username,
- Email: params.Email,
- })
- c.log.Logger.Info("CreateUser", zap.Any("user", user))
- if err != nil {
- resp.HandleError(ctx, http.StatusInternalServerError, 1, err.Error(), nil)
- return
- }
- resp.HandleSuccess(ctx, user)
- }
- func (c *UserHandler) GetUserById(ctx *gin.Context) {
- var params struct {
- Id int64 `form:"id" binding:"required"`
- }
- if err := ctx.ShouldBind(¶ms); err != nil {
- resp.HandleError(ctx, http.StatusBadRequest, 1, err.Error(), nil)
- return
- }
- user, err := c.userService.GetUserById(params.Id)
- c.log.Logger.Info("GetUserByID", zap.Any("user", user))
- if err != nil {
- resp.HandleError(ctx, http.StatusInternalServerError, 1, err.Error(), nil)
- return
- }
- resp.HandleSuccess(ctx, user)
- }
- func (c *UserHandler) UpdateUser(ctx *gin.Context) {
- resp.HandleSuccess(ctx, nil)
- }
|