|
|
@@ -1,16 +1,11 @@ |
|
|
package com.iformall.controller; |
|
|
package com.iformall.controller; |
|
|
|
|
|
|
|
|
import com.github.pagehelper.PageInfo; |
|
|
|
|
|
import com.google.code.kaptcha.Constants; |
|
|
import com.google.code.kaptcha.Constants; |
|
|
import com.google.code.kaptcha.Producer; |
|
|
import com.google.code.kaptcha.Producer; |
|
|
import com.iformall.common.ErrorCode; |
|
|
import com.iformall.common.ErrorCode; |
|
|
import com.iformall.common.ResultData; |
|
|
import com.iformall.common.ResultData; |
|
|
import com.iformall.domain.po.MallRolePermission; |
|
|
|
|
|
import com.iformall.domain.po.MallUserInfo; |
|
|
import com.iformall.domain.po.MallUserInfo; |
|
|
import com.iformall.domain.po.MallUserRole; |
|
|
|
|
|
import com.iformall.exception.MallinkException; |
|
|
import com.iformall.exception.MallinkException; |
|
|
import com.iformall.service.MallRolePermissionService; |
|
|
|
|
|
import com.iformall.service.MallUserInfoService; |
|
|
|
|
|
import com.iformall.service.MallUserRoleService; |
|
|
import com.iformall.service.MallUserRoleService; |
|
|
import com.iformall.shiro.UserSession; |
|
|
import com.iformall.shiro.UserSession; |
|
|
import com.iformall.utils.ShiroUtils; |
|
|
import com.iformall.utils.ShiroUtils; |
|
|
@@ -49,15 +44,9 @@ public class HomeController extends BaseController { |
|
|
@Autowired |
|
|
@Autowired |
|
|
private Producer producer; |
|
|
private Producer producer; |
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private MallUserInfoService mallUserInfoService; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
private MallUserRoleService mallUserRoleService; |
|
|
private MallUserRoleService mallUserRoleService; |
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private MallRolePermissionService mallRolePermissionService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/captcha.jpg") |
|
|
@GetMapping("/captcha.jpg") |
|
|
public void captcha(HttpServletResponse response)throws ServletException, IOException { |
|
|
public void captcha(HttpServletResponse response)throws ServletException, IOException { |
|
|
@@ -81,6 +70,7 @@ public class HomeController extends BaseController { |
|
|
@PostMapping("/doLogin") |
|
|
@PostMapping("/doLogin") |
|
|
public ResultData login(@RequestBody MallUserInfo user) { |
|
|
public ResultData login(@RequestBody MallUserInfo user) { |
|
|
logger.debug("[" + getIpAddr() + "] HomeController::login"); |
|
|
logger.debug("[" + getIpAddr() + "] HomeController::login"); |
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
String kaptcha = ShiroUtils.getKaptcha(Constants.KAPTCHA_SESSION_KEY); |
|
|
String kaptcha = ShiroUtils.getKaptcha(Constants.KAPTCHA_SESSION_KEY); |
|
|
if(!user.getCaptcha().equalsIgnoreCase(kaptcha)){ |
|
|
if(!user.getCaptcha().equalsIgnoreCase(kaptcha)){ |
|
|
@@ -111,7 +101,7 @@ public class HomeController extends BaseController { |
|
|
MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); |
|
|
MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); |
|
|
info.setPassword("保密"); |
|
|
info.setPassword("保密"); |
|
|
// System.out.println("id:"+ SecurityUtils.getSubject().getSession().getId()); |
|
|
// System.out.println("id:"+ SecurityUtils.getSubject().getSession().getId()); |
|
|
String menus = getPermissionsByRole(info); |
|
|
|
|
|
|
|
|
String menus = mallUserRoleService.getPermissionsByUser(info); |
|
|
if(menus != null) { |
|
|
if(menus != null) { |
|
|
info.setMenus(menus); |
|
|
info.setMenus(menus); |
|
|
} |
|
|
} |
|
|
@@ -122,28 +112,6 @@ public class HomeController extends BaseController { |
|
|
return data; |
|
|
return data; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private String getPermissionsByRole(MallUserInfo info) { |
|
|
|
|
|
MallUserRole ur = new MallUserRole(); |
|
|
|
|
|
ur.setUid(info.getId()); |
|
|
|
|
|
PageInfo<MallUserRole> 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<MallRolePermission> 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); |
|
|
|
|
|
} |
|
|
|
|
|
return menus; |
|
|
|
|
|
} |
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ApiOperation("登出") |
|
|
@ApiOperation("登出") |
|
|
@GetMapping("/logout") |
|
|
@GetMapping("/logout") |
|
|
public ResultData logout() { |
|
|
public ResultData logout() { |
|
|
|