Browse Source

菜单管理添加一二级查询

wangyanygang 4 years ago
parent
commit
a1f8754d5c

+ 25 - 0
user_center/src/main/java/com/huaxu/controller/UserController.java

@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huaxu.common.FileUploadUtil;
 import com.huaxu.entity.App;
+import com.huaxu.entity.MenuEntity;
 import com.huaxu.entity.UserTagEntity;
 import com.huaxu.model.AjaxMessage;
 import com.huaxu.model.LoginUser;
 import com.huaxu.model.Pagination;
 import com.huaxu.model.ResultStatus;
+import com.huaxu.service.MenuService;
 import com.huaxu.service.UserTagService;
 import com.huaxu.util.UserUtil;
 import io.swagger.annotations.Api;
@@ -20,6 +22,7 @@ import org.springframework.stereotype.Controller;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.ui.ModelMap;
 
+import java.util.List;
 import java.io.IOException;
 import java.util.Map;
 import java.util.Date;
@@ -40,6 +43,8 @@ public class UserController {
 
     @Autowired
     private UserService userService;
+    @Autowired
+    private MenuService menuService;
     @Value("${UMIS.sys_config_path}")
     private String baseDir;
 
@@ -74,6 +79,25 @@ public class UserController {
         UserEntity userEntity = userService.findUserById(id);
         return new AjaxMessage<>(ResultStatus.OK, userEntity);
     }
+    /**
+     * 按用户查询一级菜单信息(入口菜单)
+     */
+    @ApiOperation(value = "查询用户一级菜单信息(入口菜单-用户)")
+    @RequestMapping(value = "/findUserFirstMenu", method = RequestMethod.GET)
+    public  AjaxMessage<List<MenuEntity>>  findUserFirstMenu() {
+
+        List<MenuEntity> menuEntityList = menuService.findUserFirstMenu();
+        return new AjaxMessage<>(ResultStatus.OK, menuEntityList);
+    }
+    /**
+     * 按应用查询菜单信息(系统菜单-用户)
+     */
+    @ApiOperation(value = "查询应用菜单信息")
+    @RequestMapping(value = "/findUserMenu", method = RequestMethod.GET)
+    public  AjaxMessage<List<MenuEntity>>  findUserMenu(@ApiParam(value = "应用ID", required = true) @RequestParam String appId) {
+        List<MenuEntity> menuEntityList = menuService.findUserMenu(appId);
+        return new AjaxMessage<>(ResultStatus.OK, menuEntityList);
+    }
     /**
      * 新增
      */
@@ -91,6 +115,7 @@ public class UserController {
         }
         return new AjaxMessage<>(ResultStatus.OK, avatar);
     }
+
     /**
      * 新增
      */

+ 4 - 0
user_center/src/main/java/com/huaxu/dao/MenuMapper.java

@@ -31,6 +31,10 @@ public interface MenuMapper extends BaseMapper<MenuEntity> {
 
     List<MenuEntity> findMenuByParentIds(@Param("Ids") Long[] Ids);
 
+    List<MenuEntity> findUserFirstMenu(@Param("userId") Integer userId);
+
+    List<MenuEntity> findUserMenu(@Param("userId") Integer userId, @Param("appId") String appId);
+
 
     /**删除相关方法  使用mybatis-plus集成的 **/
 }

+ 31 - 3
user_center/src/main/java/com/huaxu/service/MenuService.java

@@ -30,6 +30,7 @@ public class MenuService extends ServiceImpl<MenuMapper,MenuEntity> {
 
 	@Resource
 	private MenuMapper menuMapper;
+
 	/**
 	 * 自定义分页查询,含关联实体对像
 	 */
@@ -62,9 +63,9 @@ public class MenuService extends ServiceImpl<MenuMapper,MenuEntity> {
 
 			}
 		}
-		if(temList.size() > 0){
+		if (temList.size() > 0) {
 			return temList;
-		}else {
+		} else {
 			return null;
 		}
 	}
@@ -73,9 +74,10 @@ public class MenuService extends ServiceImpl<MenuMapper,MenuEntity> {
 	/**
 	 * 按父级节点查列表
 	 */
-	public List<MenuEntity> findMenuByParentIds( Long[] ids) {
+	public List<MenuEntity> findMenuByParentIds(Long[] ids) {
 		return menuMapper.findMenuByParentIds(ids);
 	}
+
 	/**
 	 * 批量删除
 	 */
@@ -100,6 +102,7 @@ public class MenuService extends ServiceImpl<MenuMapper,MenuEntity> {
 		}
 		return false;
 	}
+
 	/**
 	 * 修改根居ID
 	 */
@@ -109,10 +112,35 @@ public class MenuService extends ServiceImpl<MenuMapper,MenuEntity> {
 		}
 		return false;
 	}
+
 	/**
 	 * 根居ID获取对象
 	 */
 	public MenuEntity findMenuById(Long id) {
 		return menuMapper.findMenuById(id);
 	}
+
+	public List<MenuEntity> findUserFirstMenu() {
+		LoginUser currentUser = UserUtil.getCurrentUser();
+		Integer userId = currentUser.getId();
+		//todo 正式使用需注释
+		if (userId == null) {
+			userId = 4;
+		}
+		List<MenuEntity> menuEntities = menuMapper.findUserFirstMenu(userId);
+		return menuEntities;
+	}
+
+	public List<MenuEntity> findUserMenu(String appId) {
+		LoginUser currentUser = UserUtil.getCurrentUser();
+		Integer userId = currentUser.getId();
+		//todo 正式使用需注释
+		if (appId == null || userId == null) {
+			userId = 4;
+			appId = "1001";
+		}
+		List<MenuEntity> menuEntities = menuMapper.findUserMenu(userId, appId);
+		List<MenuEntity> menuTree = getMenuTree(menuEntities, Long.valueOf(0), 1);
+		return menuTree;
+	}
 }

+ 31 - 0
user_center/src/main/resources/mapper/MenuMapper.xml

@@ -80,6 +80,37 @@
             </if>
         </where>
     </select>
+    <!--  根据获取实体List   -->
+    <select id="findUserFirstMenu" resultType="com.huaxu.entity.MenuEntity">
+        SELECT
+        <include refid="menuColumns"/>
+        from uims_user_role  userrole
+        inner join uims_role_menu rolemenu on rolemenu.ROLE_ID=userrole.ROLE_ID and rolemenu.status=1
+        inner join uims_menu a on a.id= rolemenu.MENU_ID and a.status=1
+        <where>
+            userrole.status=1 and a.PARENT_MENU_ID=0 and a.SHOW_STATE=1
+            <if test="userId != null  and userId != ''">
+                and userrole.user_id = #{userId}
+            </if>
+        </where>
+    </select>
+    <!--  根据获取实体List   -->
+    <select id="findUserMenu" resultType="com.huaxu.entity.MenuEntity">
+        SELECT
+        <include refid="menuColumns"/>
+        from uims_user_role  userrole
+        inner join uims_role_menu rolemenu on rolemenu.ROLE_ID=userrole.ROLE_ID and rolemenu.status=1
+        inner join uims_menu a on a.id= rolemenu.MENU_ID and a.status=1
+        <where>
+            userrole.status=1  and a.SHOW_STATE=1
+            <if test="userId != null  and userId != ''">
+                and userrole.user_id = #{userId}
+            </if>
+            <if test="appId != null  and appId != ''">
+                and a.app_id = #{appId}
+            </if>
+        </where>
+    </select>
 
     <!--  根据获取实体 page   -->
     <select id="findPage" resultType="com.huaxu.entity.MenuEntity">