liuxiaolong
2019-10-26 f903c085b8adde79c3aeca453a9b935adb1ef033
controllers/user.go
@@ -2,6 +2,7 @@
import (
   "basic.com/dbapi.git"
   "basic.com/valib/logger.git"
   "github.com/gin-gonic/gin"
   "net/http"
   "time"
@@ -24,11 +25,11 @@
// @Accept json
// @Produce json
// @Tags 用户
// @Param username query string true "用户名"
// @Param password query string true "密码"
// @Param username formData string true "用户名"
// @Param password formData string true "密码"
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}"
// @Router /data/api-v/sys/login [post]
// @Router /data/api-u/sys/login [post]
func (uc UserController) Login(c *gin.Context) {
   userName := c.PostForm("username")
   password := c.PostForm("password")
@@ -46,6 +47,11 @@
      tokenM["username"] = loginedM["username"]
      tokenM["permissions"] = loginedM["permissions"]
      tokenStr := (*authDriver).Login(c.Request, c.Writer, tokenM)
      userId := loginedM["id"].(string)
      auth.RemoveOutUser(userId)
      c.JSON(200,map[string]interface{}{
         "userInfo":loginedM,
         "access_token":tokenStr,
@@ -86,10 +92,22 @@
   c.JSON(http.StatusOK,"退出成功")
}
// @Summary 查找所有用户
// @Description 查找所有用户
// @Accept json
// @Produce json
// @Tags 用户
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
// @Router /data/api-u/users/findAllUser [get]
func (uc UserController) FindAllUser(c *gin.Context) {
   authDriver := auth.GenerateAuthDriver()
   user := (*authDriver).User(c)
   logger.Debug("cur userInfo:",user)
   loginM := user.(map[string]interface{})
   userId := loginM["id"].(string)
   var api dbapi.UserApi
   b,d := api.FindAllUser()
   b,d := api.FindAllUser(userId)
   if b {
      util.ResponseFormat(c,code.Success,d)
   } else {
@@ -100,33 +118,57 @@
type UserEditVo struct {
   Id string `json:"id"`
   UserName string `json:"username"`
   OldPwd string `json:"oldPwd"`
   NewPwd string `json:"newPwd"`
   RoleIds []string `json:"roleIds"`
   MenuIds []string `json:"menuIds"`
}
// @Summary 更新用户名,密码和角色权限
// @Description 更新用户名,密码和角色权限
// @Summary 编辑此用户,返回此用户的权限菜单
// @Description 编辑此用户,返回此用户的权限菜单
// @Accept json
// @Produce json
// @Tags 用户
// @Param userVo body UserEditVo true "用户编辑信息"
// @Param userId formData string true "用户id"
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
// @Router /data/api-v/users/edit [post]
func (uc UserController) Edit(c *gin.Context) {
// @Router /data/api-u/users/findById [post]
func (uc UserController) FindById(c *gin.Context) {
   userId := c.PostForm("userId")
   if userId == "" {
      util.ResponseFormat(c,code.RequestParamError,"参数有误")
      return
   }
   var api dbapi.UserApi
   b, d := api.FindById(userId)
   if b {
      util.ResponseFormat(c,code.Success,d)
   } else {
      util.ResponseFormat(c,code.ComError,"")
   }
}
// @Summary 更新用户名,密码和菜单权限
// @Description 更新用户名,密码和菜单权限
// @Accept json
// @Produce json
// @Tags 用户
// @Param userVo body controllers.UserEditVo true "用户及权限信息"
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
// @Router /data/api-v/user/saveAuth [post]
func (uc UserController) SaveAuth(c *gin.Context) {
   var userEditVo UserEditVo
   err := c.BindJSON(&userEditVo)
   if err !=nil || userEditVo.Id =="" || userEditVo.OldPwd == "" || userEditVo.NewPwd =="" || userEditVo.UserName == "" {
   if err !=nil || userEditVo.Id =="" || userEditVo.UserName == "" {
      util.ResponseFormat(c,code.RequestParamError,"")
      return
   }
   paramBody := util.Struct2Map(userEditVo)
   var api dbapi.UserApi
   b,d := api.Edit(paramBody)
   b, d := api.SaveAuth(paramBody)
   if b {
      auth.SetOutUser(userEditVo.Id)
      util.ResponseFormat(c,code.UpdateSuccess,d)
   } else {
      util.ResponseFormat(c,code.UpdateFail,"更新失败")
      util.ResponseFormat(c,code.UpdateFail,"保存失败")
   }
}