diff --git a/internal/models/user.go b/internal/models/user.go index e10abf4..02737e8 100644 --- a/internal/models/user.go +++ b/internal/models/user.go @@ -40,8 +40,8 @@ type ModifyInfo struct { } type Query struct { - Page int `form:"page" json:"page" binding:"required"` - PageSize int `form:"page_size" json:"page_size" binding:"required"` + Page int `form:"page" json:"page" ` + PageSize int `form:"page_size" json:"page_size"` Keyword string `form:"keyword" Json:"keyword"` Sort string `form:"sort" json:"sort" binding:"sql_sort"` } @@ -55,3 +55,21 @@ type ResetPwdReq struct { type GetUserReq struct { Account string `form:"account" json:"account" binding:"required"` } + +func (q *Query) Default() { + if q.Page < 0 { + q.Page = 0 + } + + if q.PageSize <= 0 { + q.PageSize = 20 + } + + if len(q.Sort) == 0 { + q.Sort = "created_on desc" + } +} + +type Enable struct { + Id uint `json:"id" binding:"required"` +} diff --git a/internal/service/user/interface.go b/internal/service/user/interface.go index cb800d3..27aa694 100644 --- a/internal/service/user/interface.go +++ b/internal/service/user/interface.go @@ -10,8 +10,8 @@ type UserService interface { Login(ctx context.Context, lInfo models.LoginInfo) error Logout(ctx context.Context) error Modify(ctx context.Context, mInfo *models.ModifyInfo) error - Disable(ctx context.Context) error - Enable(ctx context.Context) error + Disable(ctx context.Context, req *models.Enable) error + Enable(ctx context.Context, req *models.Enable) error Search(ctx context.Context, query *models.Query) ([]models.User, error) ResetPwd(ctx context.Context, req *models.ResetPwdReq) error GetUser(ctx context.Context, req *models.GetUserReq) (user models.User, err error) diff --git a/internal/service/user/user.go b/internal/service/user/user.go index b0f20bf..256b6c6 100644 --- a/internal/service/user/user.go +++ b/internal/service/user/user.go @@ -158,9 +158,9 @@ func (u *userService) Modify(ctx context.Context, mInfo *models.ModifyInfo) erro return u.repo.SaveUser(ctx, user) } -func (u *userService) Disable(ctx context.Context) error { +func (u *userService) Disable(ctx context.Context, req *models.Enable) error { // 获取操作用户 - session, err := contextUtil.GetSession(ctx) + _, err := contextUtil.GetSession(ctx) if err != nil { return err } @@ -168,11 +168,11 @@ func (u *userService) Disable(ctx context.Context) error { // todo 判断是否有权限 // 修改对应用户状态 - return u.repo.SetUserStatus(ctx, session.ID, models.DisableUserStatus) + return u.repo.SetUserStatus(ctx, req.Id, models.DisableUserStatus) } -func (u *userService) Enable(ctx context.Context) error { - session, err := contextUtil.GetSession(ctx) +func (u *userService) Enable(ctx context.Context, req *models.Enable) error { + _, err := contextUtil.GetSession(ctx) if err != nil { return err } @@ -180,7 +180,7 @@ func (u *userService) Enable(ctx context.Context) error { // todo 判断是否有权限 // 修改对应用户状态 - return u.repo.SetUserStatus(ctx, session.ID, models.EnableUserStatus) + return u.repo.SetUserStatus(ctx, req.Id, models.EnableUserStatus) } func (u *userService) Search(ctx context.Context, query *models.Query) ([]models.User, error) { diff --git a/pkg/validator/custom_rules.go b/pkg/validator/custom_rules.go index a02fe96..aea686c 100644 --- a/pkg/validator/custom_rules.go +++ b/pkg/validator/custom_rules.go @@ -7,7 +7,7 @@ import ( ) var ( - sortMatch = regexp.MustCompile("^[a-zA-z0-9_]+") + sortMatch = regexp.MustCompile("^[a-zA-z0-9_,]+") ) func tableName(fl validator.FieldLevel) bool { diff --git a/server/user/user.go b/server/user/user.go index 2fe7b4e..5248b26 100644 --- a/server/user/user.go +++ b/server/user/user.go @@ -37,7 +37,9 @@ func RegisterRoute(api *gin.RouterGroup) { api.POST("/modify", ginUtil.WrapNoRsp(server.Modify)) api.GET("/search", ginUtil.Wrap(server.Search)) api.GET("/user", ginUtil.Wrap(server.GetUser)) - api.POST("/reset", ginUtil.Wrap(server.GetUser)) + api.POST("/reset", ginUtil.WrapNoRsp(server.ResetPwd)) + api.POST("/enable", ginUtil.WrapNoRsp(server.Enable)) + api.POST("/disable", ginUtil.WrapNoRsp(server.Disable)) } func (u *UserServer) Add(ctx context.Context, req *models.AddInfo) (rsp proto.AddResponse, err error) { @@ -73,15 +75,16 @@ func (u *UserServer) Modify(ctx context.Context, req *models.ModifyInfo) error { return u.userService.Modify(ctx, req) } -func (u *UserServer) Disable(ctx context.Context) error { - return u.userService.Disable(ctx) +func (u *UserServer) Disable(ctx context.Context, req *models.Enable) error { + return u.userService.Disable(ctx, req) } -func (u *UserServer) Enable(ctx context.Context) error { - return u.userService.Enable(ctx) +func (u *UserServer) Enable(ctx context.Context, req *models.Enable) error { + return u.userService.Enable(ctx, req) } func (u *UserServer) Search(ctx context.Context, query *models.Query) ([]models.User, error) { + query.Default() return u.userService.Search(ctx, query) }