From 551df14cf2c5036009eb8bf0c4fd5c1ede2a682c Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期五, 20 九月 2019 20:23:29 +0800
Subject: [PATCH] user edit

---
 controllers/sysRole.go    |   28 +++++++++
 controllers/syssetcont.go |   10 +++
 controllers/user.go       |   64 ++++++++++++++++++---
 extend/code/code.go       |    3 
 go.sum                    |    4 
 go.mod                    |    2 
 controllers/sysMenu.go    |   12 ++++
 extend/config/config.go   |    8 ++
 router/router.go          |    8 ++
 9 files changed, 124 insertions(+), 15 deletions(-)

diff --git a/controllers/sysMenu.go b/controllers/sysMenu.go
index e4a33c4..bcd500a 100644
--- a/controllers/sysMenu.go
+++ b/controllers/sysMenu.go
@@ -1,6 +1,7 @@
 package controllers
 
 import (
+	"basic.com/dbapi.git"
 	"github.com/gin-gonic/gin"
 	"webserver/extend/code"
 	"basic.com/valib/logger.git"
@@ -32,4 +33,15 @@
 	} else {
 		util.ResponseFormat(c,code.NotLogin,"")
 	}
+}
+
+// @Router /data/api-v/menu/tree [get]
+func (smc SysMenuController) MenuTree(c *gin.Context) {
+	var api dbapi.SysMenuApi
+	d,err := api.MenuTree()
+	if err ==nil {
+		util.ResponseFormat(c,code.Success,d)
+	} else {
+		util.ResponseFormat(c,code.ComError,"")
+	}
 }
\ No newline at end of file
diff --git a/controllers/sysRole.go b/controllers/sysRole.go
new file mode 100644
index 0000000..90a7bf7
--- /dev/null
+++ b/controllers/sysRole.go
@@ -0,0 +1,28 @@
+package controllers
+
+import (
+	"basic.com/dbapi.git"
+	"github.com/gin-gonic/gin"
+	"webserver/extend/code"
+	"webserver/extend/util"
+)
+
+type RoleController struct {
+
+}
+
+// @Summary 鏌ユ壘瑙掕壊鍒楄〃
+// @Description 鏌ユ壘瑙掕壊鍒楄〃
+// @Tags 绯荤粺瑙掕壊
+// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
+// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
+// @Router /data/api-v/role/findAll [get]
+func (rc RoleController) FindAll(c *gin.Context) {
+	var api dbapi.SysRoleApi
+	b,d := api.FindAll()
+	if b {
+		util.ResponseFormat(c,code.Success,d)
+	} else {
+		util.ResponseFormat(c,code.ComError,"")
+	}
+}
diff --git a/controllers/syssetcont.go b/controllers/syssetcont.go
index 4c98c36..977aeb5 100644
--- a/controllers/syssetcont.go
+++ b/controllers/syssetcont.go
@@ -155,7 +155,15 @@
 		resData["ip"] = ipv4
 		resData["subMask"] = mask
 		resData["gateway"] = gateway
-		// 瀛樺湪
+
+		resData["deviceNum"] = config.Server.DeviceNum
+		resData["deviceType"] = config.Server.DeviceType
+		resData["deviceSerialNum"] = config.Server.DeviceSerialNum
+		resData["masterVersion"] = config.Server.MasterVersion
+		resData["webVersion"] = config.Server.WebVersion
+		resData["channelCount"] = config.Server.ChannelCount
+		resData["diskCount"] = config.Server.DiskCount
+
 		util.ResponseFormat(c, code.Success, resData)
 	}
 }
diff --git a/controllers/user.go b/controllers/user.go
index 0f0b1e2..b623193 100644
--- a/controllers/user.go
+++ b/controllers/user.go
@@ -3,7 +3,6 @@
 import (
 	"basic.com/dbapi.git"
 	"github.com/gin-gonic/gin"
-	"net/http"
 	"time"
 	"webserver/extend/code"
 	"webserver/extend/util"
@@ -29,7 +28,7 @@
 // @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]
-func (controller UserController) Login(c *gin.Context) {
+func (uc UserController) Login(c *gin.Context) {
 	userName := c.PostForm("username")
 	password := c.PostForm("password")
 	if userName == "" || password == "" {
@@ -42,7 +41,7 @@
 		authDriver := auth.GenerateAuthDriver()
 		loginedM := util.Struct2Map(data)
 		tokenStr := (*authDriver).Login(c.Request, c.Writer, loginedM)
-		c.JSON(200,map[string]interface{}{
+		util.ResponseFormat(c,code.Success,map[string]interface{}{
 			"userInfo":loginedM,
 			"access_token":tokenStr,
 			"refresh_token":tokenStr,
@@ -51,7 +50,7 @@
 			"expires_in":time.Now().Add(time.Hour * 8).Unix(),
 		})
 	} else {
-		c.JSON(500,"鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒")
+		util.ResponseFormat(c,code.LoginInfoError,"鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒")
 	}
 }
 
@@ -63,21 +62,66 @@
 // @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/current [get]
-func (controller UserController) Current(c *gin.Context) {
+func (uc UserController) Current(c *gin.Context) {
 	authDriver := auth.GenerateAuthDriver()
 	user := (*authDriver).User(c)
 	if user !=nil {
-		c.JSON(http.StatusOK,user)
+		util.ResponseFormat(c,code.Success,user)
 	} else {
-		c.JSON(http.StatusUnauthorized,"")
+		util.ResponseFormat(c,code.TokenNotFound,"")
 	}
 }
 // @Router /data/api-u/sys/refresh_token [post]
-func (controller UserController) RefreshToken(c *gin.Context){
+func (uc UserController) RefreshToken(c *gin.Context){
 
 }
 
 // @Router /data/api-u/sys/logout [get]
-func (controller UserController) Logout(c *gin.Context){
-	c.JSON(http.StatusOK,"閫�鍑烘垚鍔�")
+func (uc UserController) Logout(c *gin.Context){
+	util.ResponseFormat(c,code.LogoutSuccess,"閫�鍑烘垚鍔�")
+}
+
+// @Router /data/api-u/users/findAllUser [get]
+func (uc UserController) FindAllUser(c *gin.Context) {
+	var api dbapi.UserApi
+	b,d := api.FindAllUser()
+	if b {
+		util.ResponseFormat(c,code.Success,d)
+	} else {
+		util.ResponseFormat(c,code.ComError,"")
+	}
+}
+
+type UserEditVo struct {
+	Id string `json:"id"`
+	UserName string `json:"username"`
+	OldPwd string `json:"oldPwd"`
+	NewPwd string `json:"newPwd"`
+	RoleIds []string `json:"roleIds"`
+}
+
+// @Summary 鏇存柊鐢ㄦ埛鍚嶏紝瀵嗙爜鍜岃鑹叉潈闄�
+// @Description 鏇存柊鐢ㄦ埛鍚嶏紝瀵嗙爜鍜岃鑹叉潈闄�
+// @Accept json
+// @Produce json
+// @Tags 鐢ㄦ埛
+// @Param userVo body 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/users/edit [post]
+func (uc UserController) Edit(c *gin.Context) {
+	var userEditVo UserEditVo
+	err := c.BindJSON(&userEditVo)
+	if err !=nil || userEditVo.Id =="" || userEditVo.OldPwd == "" || userEditVo.NewPwd =="" || userEditVo.UserName == "" {
+		util.ResponseFormat(c,code.RequestParamError,"")
+		return
+	}
+	paramBody := util.Struct2Map(userEditVo)
+	var api dbapi.UserApi
+	b,d := api.Edit(paramBody)
+	if b {
+		util.ResponseFormat(c,code.UpdateSuccess,d)
+	} else {
+		util.ResponseFormat(c,code.UpdateFail,"鏇存柊澶辫触")
+	}
 }
\ No newline at end of file
diff --git a/extend/code/code.go b/extend/code/code.go
index e5e79c2..9ca61bb 100644
--- a/extend/code/code.go
+++ b/extend/code/code.go
@@ -30,7 +30,8 @@
 	UploadSizeLimit = &Code{http.StatusBadRequest, false, "鐩墠涓婁紶浠呮敮鎸佸皬浜�5M鐨勬枃浠跺唴瀹�"}
 	LoginSuccess = &Code{http.StatusOK,true,"鐧诲綍鎴愬姛"}
 	// SigninInfoError 璐︽埛鍚嶆垨瀵嗙爜鏈夎
-	SigninInfoError = &Code{http.StatusUnauthorized, false, "璐︽埛鍚嶆垨瀵嗙爜鏈夎"}
+	LoginInfoError = &Code{http.StatusUnauthorized, false, "鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒"}
+	LogoutSuccess = &Code{http.StatusOK,true,"閫�鍑烘垚鍔�"}
 	// TokenNotFound 璇锋眰鏈惡甯oken, 鏃犳潈璁块棶
 	TokenNotFound = &Code{http.StatusUnauthorized, false, "璇锋眰鏈惡甯oken, 鏃犳潈璁块棶"}
 	// TokenInvalid 鏃犳晥鐨凾oken淇℃伅
diff --git a/extend/config/config.go b/extend/config/config.go
index 801282d..df3e1d6 100644
--- a/extend/config/config.go
+++ b/extend/config/config.go
@@ -14,6 +14,14 @@
 	ImageUrl  string `mapstructure: "imageUrl"`
 	PublicDomain string `mapstructure: "publicDomain"`
 	NetworkAdapter string `mapstructure: "networkAdapter"`
+
+	DeviceNum string `mapstructure: "deviceNum"` //璁惧缂栧彿
+	DeviceType string `mapstructure: "deviceType"`  //璁惧鍨嬪彿
+	DeviceSerialNum string `mapstructure: "deviceSerialNum"`  //璁惧搴忓垪鍙�
+	MasterVersion string `mapstructure: "masterVersion"` //涓绘帶鐗堟湰
+	WebVersion string `mapstructure: "webVersion"`  //web鐗堟湰
+	ChannelCount string `mapstructure: "channelCount"`  //閫氶亾涓暟
+	DiskCount string `mapstructure: "diskCount"`  //纭洏涓暟
 }
 
 var Server = &server{}
diff --git a/go.mod b/go.mod
index ade4ed3..7b3d501 100644
--- a/go.mod
+++ b/go.mod
@@ -3,7 +3,7 @@
 go 1.12
 
 require (
-	basic.com/dbapi.git v0.0.0-20190919084344-7b9de135dd96 // indirect
+	basic.com/dbapi.git v0.0.0-20190920121940-8b96226a4ca1 // indirect
 	basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb // indirect
 	basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48 // indirect
 	basic.com/pubsub/esutil.git v0.0.0-20190807083318-4431a8860d47
diff --git a/go.sum b/go.sum
index 4853bec..750f29e 100644
--- a/go.sum
+++ b/go.sum
@@ -1,5 +1,5 @@
-basic.com/dbapi.git v0.0.0-20190919084344-7b9de135dd96 h1:iBqHj7uNMko4BcijsdNVATbTqn2PJO18BWKUAEMPvag=
-basic.com/dbapi.git v0.0.0-20190919084344-7b9de135dd96/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
+basic.com/dbapi.git v0.0.0-20190920121940-8b96226a4ca1 h1:tzKo7EcKv43eKR3acHc8UMHPiEzajfCqEvHN78d7jQ8=
+basic.com/dbapi.git v0.0.0-20190920121940-8b96226a4ca1/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
 basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb h1:fM6DojeInFSCFO+wkba1jtyPiSDqw0jYKi4Tk+e+ka4=
 basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb/go.mod h1:FTryK8BsVLfUplx8a3+l8hJWub6VbAWZCUH7sPRZaso=
 basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48 h1:BBA30Rgljn6MRieC4gUncETJDyna3ObyubTo9HEQ2M0=
diff --git a/router/router.go b/router/router.go
index 5efd80b..ad1a2a9 100644
--- a/router/router.go
+++ b/router/router.go
@@ -40,6 +40,7 @@
 	fileController := new(controllers.FileController)
 	sysMenuController :=new(controllers.SysMenuController)
 	clusterController :=new(controllers.ClusterController)
+	sysRoleController :=new(controllers.RoleController)
 
 
 	sysApi := r.Group(  "/data/api-u/sys")
@@ -51,10 +52,17 @@
 	sysMenuApi := r.Group("/data/api-u/sysmenus")
 	{
 		sysMenuApi.GET("/me",sysMenuController.Me)
+		sysMenuApi.GET("/tree",sysMenuController.MenuTree)
+	}
+	roleApi :=r.Group("/data/api-v/role")
+	{
+		roleApi.GET("/findAll",sysRoleController.FindAll)
 	}
 	userApi := r.Group("/data/api-u/users")
 	{
 		userApi.GET("/current",userController.Current)
+		userApi.GET("/findAllUser", userController.FindAllUser)
+		userApi.POST("/edit",userController.Edit)
 	}
 
 	urlPrefix := "/data/api-v" // wp 娣诲姞 璺緞 鍓嶇紑

--
Gitblit v1.8.0