From 8f786e13cb924e3cf2ac603350c8871e19368ee7 Mon Sep 17 00:00:00 2001
From: haoyanbin <605649647@qq.com>
Date: Fri, 28 Jan 2022 15:52:58 +0800
Subject: [PATCH] 1.0

---
 app/admin/service/sys_menu.go   | 17 ++++++++++++++++-
 app/operate/apis/org_user.go    |  9 +++++++++
 app/operate/router/org_match.go | 10 +++++++++-
 3 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/app/admin/service/sys_menu.go b/app/admin/service/sys_menu.go
index e2d8a35..be51473 100755
--- a/app/admin/service/sys_menu.go
+++ b/app/admin/service/sys_menu.go
@@ -2,6 +2,7 @@ package service
 
 import (
 	"errors"
+	"fmt"
 	"github.com/go-admin-team/go-admin-core/sdk/pkg"
 	"gorm.io/gorm"
 
@@ -331,7 +332,8 @@ func (e *SysMenu) getByRoleName(roleName string) ([]models.SysMenu, error) {
 		MenuList = data
 	} else {
 		role.RoleKey = roleName
-		buttons := make([]models.SysMenu,0)
+		buttons := make([]models.SysMenu, 0)
+		fmt.Println(role)
 		err = e.Orm.Debug().Model(&role).Where("role_key = ? ", roleName).Preload("SysMenu", func(db *gorm.DB) *gorm.DB {
 			return db.Where(" menu_type in ('F')").Order("sort")
 		}).Find(&role).Error
@@ -359,12 +361,25 @@ func (e *SysMenu) getByRoleName(roleName string) ([]models.SysMenu, error) {
 			}
 		}
 		var dataM []models.SysMenu
+		mmIds := make([]int, 0)
 		err = e.Orm.Where(" menu_type in ('M') and menu_id in ?", cIds).Order("sort").Find(&dataM).Error
 		if err != nil {
 			return nil, err
 		}
 		for _, datum := range dataM {
 			MenuList = append(MenuList, datum)
+			if datum.ParentId != 0 {
+				mmIds = append(mmIds, datum.ParentId)
+			}
+		}
+
+		var dataMM []models.SysMenu
+		err = e.Orm.Where(" menu_type in ('M') and menu_id in ?", mmIds).Order("sort").Find(&dataMM).Error
+		if err != nil {
+			return nil, err
+		}
+		for _, datumm := range dataMM {
+			MenuList = append(MenuList, datumm)
 		}
 	}
 
diff --git a/app/operate/apis/org_user.go b/app/operate/apis/org_user.go
index b42f04e..ab5807c 100755
--- a/app/operate/apis/org_user.go
+++ b/app/operate/apis/org_user.go
@@ -132,6 +132,15 @@ func (e OrgUser) Insert(c *gin.Context) {
 	reqSysUser.Status = "2"
 	reqSysUser.UserType = "2"
 
+	if req.RoleId == "5" {
+		reqSysUser.DeptId = 7
+		reqSysUser.PostId = 4
+	}
+	if req.RoleId == "6" {
+		reqSysUser.DeptId = 8
+		reqSysUser.PostId = 5
+	}
+
 	// 设置创建人
 	reqSysUser.SetCreateBy(user.GetUserId(c))
 	err = sSysUser.Insert(&reqSysUser)
diff --git a/app/operate/router/org_match.go b/app/operate/router/org_match.go
index e393871..afbb767 100755
--- a/app/operate/router/org_match.go
+++ b/app/operate/router/org_match.go
@@ -10,6 +10,7 @@ import (
 
 func init() {
 	routerCheckRole = append(routerCheckRole, registerOrgMatchRouter)
+	routerCheckRole = append(routerCheckRole, registerNoCheckOrgMatchRouter)
 }
 
 // registerOrgMatchRouter
@@ -18,7 +19,6 @@ func registerOrgMatchRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddl
 	r := v1.Group("/org-match").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
 	{
 		r.GET("", api.GetPage)
-		r.GET("/info/:id", api.GetInfo)
 		r.GET("/:id", api.Get)
 		r.POST("", api.Insert)
 		r.PUT("/:id", api.Update)
@@ -29,3 +29,11 @@ func registerOrgMatchRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddl
 		r.PUT("/update-player-data", api.UpdatePlayerData)
 	}
 }
+
+func registerNoCheckOrgMatchRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
+	api := apis.OrgMatch{}
+	r := v1.Group("/org-match").Use(authMiddleware.MiddlewareFunc())
+	{
+		r.GET("/info/:id", api.GetInfo)
+	}
+}
-- 
2.18.1