Browse Source

menu tree

terry 2 years ago
parent
commit
e19c20b952
3 changed files with 36 additions and 7 deletions
  1. 1 2
      app/system/controller/menu.go
  2. 15 0
      app/system/model/menu.go
  3. 20 5
      app/system/service/menuService.go

+ 1 - 2
app/system/controller/menu.go

@@ -3,7 +3,6 @@ package controller
 import (
 	"github.com/gin-gonic/gin"
 	"iot_manager_service/app/middleware"
-	"iot_manager_service/app/system/dao"
 	"iot_manager_service/app/system/model"
 	"iot_manager_service/app/system/service"
 	"iot_manager_service/util/common"
@@ -62,7 +61,7 @@ func (c *menu) LazyMenuList(ctx *gin.Context) {
 }
 
 func (c *menu) Submit(ctx *gin.Context) {
-	var req dao.Menu
+	var req model.MenuSubmit
 	if err := ctx.ShouldBindJSON(&req); err != nil {
 		ctx.JSON(http.StatusOK, common.ParamsInvalidResponse(err.Error(), nil))
 		return

+ 15 - 0
app/system/model/menu.go

@@ -26,6 +26,21 @@ type MenuTreeDetail struct {
 	Children    []MenuTreeDetail `json:"children"`
 }
 
+type MenuSubmit struct {
+	ID       int64  `json:"id"`
+	ParentId string `json:"parentId"` //父级菜单
+	Code     string `json:"code"`     //菜单编号
+	Name     string ` json:"name"`    //菜单名称
+	Alias    string `json:"alias"`    //菜单别名
+	Path     string `json:"path"`     //请求地址
+	Source   string `json:"source"`   //菜单资源
+	Sort     int    `json:"sort"`     //排序
+	Category int    `json:"category"` //菜单类型
+	Action   int    `json:"action"`   //操作按钮类型
+	IsOpen   int    `json:"isOpen"`   //是否打开新页面
+	Remark   string `json:"remark"`   //备注
+}
+
 type RsqMenuLazyList struct {
 	List []MenuLazyListDetail `json:"data"`
 }

+ 20 - 5
app/system/service/menuService.go

@@ -23,16 +23,31 @@ func (s *menuService) Get(id int64) (*dao.Menu, error) {
 	return menu, nil
 }
 
-func (s *menuService) Submit(req dao.Menu) *common.Errors {
-	role := &req
-	if role.ID == 0 {
-		err := role.Save()
+func (s *menuService) Submit(req model.MenuSubmit) *common.Errors {
+	pId, _ := strconv.ParseInt(req.ParentId, 10, 64)
+	menu := &dao.Menu{
+		ID:        req.ID,
+		ParentId:  pId,
+		Code:      req.Code,
+		Name:      req.Name,
+		Alias:     req.Alias,
+		Path:      req.Path,
+		Source:    req.Source,
+		Sort:      req.Sort,
+		Category:  req.Category,
+		Action:    req.Action,
+		IsOpen:    req.IsOpen,
+		Remark:    req.Remark,
+		IsDeleted: 0,
+	}
+	if menu.ID == 0 {
+		err := menu.Save()
 		if err != nil {
 			return common.FailResponse(err.Error(), nil)
 		}
 		return common.SuccessResponse(common.Succeeded, nil)
 	}
-	err := role.Update()
+	err := menu.Update()
 	if err != nil {
 		return common.FailResponse(err.Error(), nil)
 	}