package controller import ( "bigdata_archives/app/e" "bigdata_archives/app/model" "bigdata_archives/app/service" "bigdata_archives/unity" "bigdata_archives/utils" "github.com/gin-gonic/gin" "github.com/go-playground/validator/v10" "strconv" ) var users service.UserService = &model.User{} // Login @Summary 用户登录 func Login(c *gin.Context) { var user model.User if err := c.ShouldBindJSON(&user); err != nil { e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg()) return } else { validate := validator.New() if err := validate.Struct(user); err != nil { e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg()) return } login, rescode := users.Login(user.Account, user.Password) if rescode == e.SUCCESS { e.ResponseSuccess(c, login) return } e.ResponseWithMsg(c, rescode, rescode.GetMsg()) return } } // AddUser @Summary 添加用户 func AddUser(c *gin.Context) { var user model.User if err := c.ShouldBindJSON(&user); err != nil { e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg()) return } else { validate := validator.New() if err := validate.Struct(user); err != nil { e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg()) return } addUser, rescode := users.AddUser(user) if rescode == e.SUCCESS { e.ResponseSuccess(c, addUser) return } e.ResponseWithMsg(c, rescode, rescode.GetMsg()) } } // UserList @Summary 用户列表 func UserList(c *gin.Context) { var params unity.QueryPageParams if err := c.ShouldBindJSON(¶ms); err != nil { e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg()) return } result, total, err := unity.PaginateWithCondition(params, model.User{}, nil) if err != nil { e.ResponseWithMsg(c, e.PaginationFailed, e.PaginationFailed.GetMsg()) return } e.ResPonsePage(c, result, total, params) } // GetUserById @Summary 根据id获取用户 func GetUserById(c *gin.Context) { value := c.Query("id") atoi, _ := strconv.Atoi(value) err := validator.New().Var(atoi, "required") if err != nil { e.ResponseWithMsg(c, e.CheckRequired, e.CheckRequired.GetMsg()) return } id, rescode := users.GetUserById(atoi) if rescode == e.SUCCESS { e.ResponseSuccess(c, id) return } e.ResponseWithMsg(c, rescode, rescode.GetMsg()) } // DeleteUser @Summary 删除用户 func DeleteUser(c *gin.Context) { var user model.User err := c.ShouldBindJSON(&user) if err != nil { e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg()) return } id, err := unity.DeleteById(user.ID, user) if err != nil { e.ResponseWithMsg(c, e.DELETEFAIL, e.DELETEFAIL.GetMsg()) return } e.ResponseSuccess(c, id) } // UpdateUserById @Summary 修改用户 func UpdateUserById(c *gin.Context) { var user model.User if err := c.ShouldBindJSON(&user); err != nil { e.ResponseWithMsg(c, e.JSONParsingFailed, e.JSONParsingFailed.GetMsg()) return } if user.Password != "" { md5 := utils.MD5(user.Password) user.Password = md5 } id, err := unity.UpdateById(user.ID, user) if err != nil { e.ResponseWithMsg(c, e.UPDATEFAIL, e.UPDATEFAIL.GetMsg()) return } e.ResponseSuccess(c, id) }