diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/HomeController.java b/mallinkAdmin/src/main/java/com/iformall/controller/HomeController.java index dcc7d593c..70fb56ff2 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/HomeController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/HomeController.java @@ -126,6 +126,53 @@ public class HomeController { return data; } + @ApiOperation("B端登录") + @PostMapping("/bHidLogin") + public ResultData bLogin(@RequestBody MallUserInfo user) { + ResultData data = new ResultData(); + if (StringUtils.isEmpty(user.getUsername()) || StringUtils.isEmpty(user.getPassword())) { +// throw new SystemException(ErrorCode.LOGIN_USER_OR_PWD_ERROR); + return new ResultData(ResultData.ERROR, "用户名或者密码错误"); + } + try { + Subject subject = SecurityUtils.getSubject(); + UsernamePasswordToken token = new UsernamePasswordToken(user.getUsername(), user.getPassword()); + subject.login(token); +// List roleList = sysRoleService.findRoleByUserId(user.getId()); +// if (null != roleList && roleList.size() > 0) { +// List permissionList = sysPermissionService +// .findPermissionByRoleIds(roleList.stream().map(MallRole::getId).collect(Collectors.toList())); +// user.setRole(roleList); +// user.setPermission(permissionList); +// } + MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); + info.setPassword("保密"); +// System.out.println("id:"+ SecurityUtils.getSubject().getSession().getId()); + MallUserRole ur = new MallUserRole(); + ur.setUid(info.getId()); + PageInfo page = mallUserRoleService.listAsPage(ur, 1, 1); + if (page.getSize() > 0) { + Long roleId = page.getList().get(0).getRoleId(); + MallRolePermission p = new MallRolePermission(); + p.setRoleId(roleId); + p.setTenantId(info.getTenantId()); + PageInfo listAsPage = mallRolePermissionService.listAsPage(p, 1, 100); + String menus = ""; + for (MallRolePermission rp : listAsPage.getList()) { + menus += rp.getPermissionId() + ","; + } + if (menus.length() > 0) { + menus = menus.substring(0, menus.length() - 1); + } + info.setMenus(menus); + } + data.data = info; + } catch (Exception e) { + return new ResultData(ResultData.ERROR, "用户名或者密码错误"); + } + return data; + } + @ApiOperation("登出") @GetMapping("/logout") public ResultData login() {