#
Junjie
2024-07-02 6516ed63ff4128d1b3b52c00537539be369ce6ee
zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/AuthController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.wms.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.wms.common.annotation.OperationLog;
@@ -8,14 +9,8 @@
import com.zy.asrs.wms.system.controller.param.LoginParam;
import com.zy.asrs.wms.system.controller.param.UpdatePasswordParam;
import com.zy.asrs.wms.system.controller.result.LoginResult;
import com.zy.asrs.wms.system.entity.Host;
import com.zy.asrs.wms.system.entity.Menu;
import com.zy.asrs.wms.system.entity.User;
import com.zy.asrs.wms.system.entity.UserLogin;
import com.zy.asrs.wms.system.service.HostService;
import com.zy.asrs.wms.system.service.RoleMenuService;
import com.zy.asrs.wms.system.service.UserLoginService;
import com.zy.asrs.wms.system.service.UserService;
import com.zy.asrs.wms.system.entity.*;
import com.zy.asrs.wms.system.service.*;
import com.zy.asrs.wms.utils.JwtUtil;
import com.zy.asrs.wms.utils.Utils;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -23,6 +18,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
/**
@@ -44,6 +40,10 @@
    private RoleMenuService roleMenuService;
    @Resource
    private HostService hostService;
    @Resource
    private UserRoleService userRoleService;
    @Resource
    private MenuService menuService;
    @PostMapping("/login")
    public R login(@RequestBody LoginParam param, HttpServletRequest request) {
@@ -122,4 +122,32 @@
        return R.error("修改失败");
    }
    @GetMapping("/auth/router")
    public R router() {
        List<UserRole> userRoles = userRoleService.list(new LambdaQueryWrapper<UserRole>().eq(UserRole::getUserId, getLoginUserId()));
        if (userRoles.isEmpty()) {
            return R.error();
        }
        ArrayList<Long> roles = new ArrayList<>();
        for (UserRole userRole : userRoles) {
            roles.add(userRole.getRoleId());
        }
        ArrayList<Long> menus = new ArrayList<>();
        List<RoleMenu> roleMenus = roleMenuService.list(new LambdaQueryWrapper<RoleMenu>().in(RoleMenu::getRoleId, roles));
        for (RoleMenu roleMenu : roleMenus) {
            if(!menus.contains(roleMenu.getMenuId())) {
                menus.add(roleMenu.getMenuId());
            }
        }
        List<Menu> menuList = menuService.list(new LambdaQueryWrapper<Menu>()
                .in(Menu::getId, menus)
                .eq(Menu::getType, Menu.TYPE_MENU)
                .eq(Menu::getPath, 1)
                .orderByAsc(Menu::getId));
        return R.ok().add(menuList);
    }
}