From 2bd2068c999cda5bda8c0787ed0dcaac6cb7afdb Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期四, 31 十月 2019 13:27:46 +0800
Subject: [PATCH] feat: add system reboot api

---
 controllers/user.go |   67 ++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 14 deletions(-)

diff --git a/controllers/user.go b/controllers/user.go
index cb0dadd..a78d271 100644
--- a/controllers/user.go
+++ b/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,
@@ -59,6 +65,7 @@
 	}
 }
 
+// @Security ApiKeyAuth
 // @Summary 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
 // @Description 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
 // @Accept json
@@ -86,6 +93,7 @@
 	c.JSON(http.StatusOK,"閫�鍑烘垚鍔�")
 }
 
+// @Security ApiKeyAuth
 // @Summary 鏌ユ壘鎵�鏈夌敤鎴�
 // @Description 鏌ユ壘鎵�鏈夌敤鎴�
 // @Accept json
@@ -95,8 +103,13 @@
 // @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 {
@@ -107,33 +120,59 @@
 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 鏇存柊鐢ㄦ埛鍚嶏紝瀵嗙爜鍜岃鑹叉潈闄�
+// @Security ApiKeyAuth
+// @Summary 缂栬緫姝ょ敤鎴凤紝杩斿洖姝ょ敤鎴风殑鏉冮檺鑿滃崟
+// @Description 缂栬緫姝ょ敤鎴凤紝杩斿洖姝ょ敤鎴风殑鏉冮檺鑿滃崟
 // @Accept json
 // @Produce json
 // @Tags 鐢ㄦ埛
-// @Param userVo body controllers.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,"")
+	}
+}
+
+// @Security ApiKeyAuth
+// @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,"淇濆瓨澶辫触")
 	}
 }
\ No newline at end of file

--
Gitblit v1.8.0