|
|
|
@@ -6,10 +6,15 @@ import com.iformall.common.Result; |
|
|
|
import com.iformall.common.ResultData; |
|
|
|
import com.iformall.controller.base.BaseController; |
|
|
|
import com.iformall.domain.po.MallPermission; |
|
|
|
import com.iformall.domain.po.MallRole; |
|
|
|
import com.iformall.domain.po.MallRolePermission; |
|
|
|
import com.iformall.domain.po.MallUserInfo; |
|
|
|
import com.iformall.enums.EnumMenuType; |
|
|
|
import com.iformall.enums.EnumPermissionType; |
|
|
|
import com.iformall.exception.MallinkException; |
|
|
|
import com.iformall.service.MallPermissionService; |
|
|
|
import com.iformall.service.MallRolePermissionService; |
|
|
|
import com.iformall.service.MallRoleService; |
|
|
|
import com.iformall.service.MallUserInfoService; |
|
|
|
import com.iformall.utils.Constant; |
|
|
|
import io.swagger.annotations.ApiOperation; |
|
|
|
@@ -45,6 +50,12 @@ public class SysMenuController extends BaseController { |
|
|
|
@Autowired |
|
|
|
private MallUserInfoService mallUserInfoService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private MallRoleService mallRoleService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private MallRolePermissionService mallRolePermissionService; |
|
|
|
|
|
|
|
@ApiOperation("导航菜单") |
|
|
|
@GetMapping("/nav") |
|
|
|
public ResultData nav(){ |
|
|
|
@@ -128,13 +139,38 @@ public class SysMenuController extends BaseController { |
|
|
|
@ApiOperation("用户菜单权限升级") |
|
|
|
@GetMapping("/upgradeMenus") |
|
|
|
//@RequiresPermissions("sys:menu:info") |
|
|
|
@SystemControllerLog(description = "用户管理-权限查找") |
|
|
|
@SystemControllerLog(description = "用户管理-权限升级") |
|
|
|
public ResultData upgradeMenus() { |
|
|
|
logger.debug("[" + getIpAddr() + "] MallPermissionController::upgradeMenus"); |
|
|
|
MallUserInfo userInfo = getUser(); |
|
|
|
if(userInfo.isFmSuperAdmin()) { |
|
|
|
// 获取 role |
|
|
|
// |
|
|
|
// 已有Role |
|
|
|
MallRole q = new MallRole(); |
|
|
|
List<MallRole> mallRoleList = mallRoleService.getList(q); |
|
|
|
for(MallRole mallRole: mallRoleList) { |
|
|
|
MallRolePermission qRP = new MallRolePermission(); |
|
|
|
qRP.setRoleId(mallRole.getId()); |
|
|
|
List<MallRolePermission> mallRolePermissionList = mallRolePermissionService.getList(qRP); |
|
|
|
if(mallRolePermissionList.stream().allMatch((rolePermission->(rolePermission.getPermissionId().longValue() <= (long)EnumMenuType.HARDWARE.getCode())))){ |
|
|
|
// 添加子权限给此role |
|
|
|
for(MallRolePermission mRP: mallRolePermissionList) { |
|
|
|
List<Long> pList = new ArrayList<>(); |
|
|
|
// 二级菜单 |
|
|
|
List<MallPermission> subList1 = mallPermissionService.getByParentId(mRP.getPermissionId()); |
|
|
|
for(MallPermission mp: subList1) { |
|
|
|
pList.add(mp.getId()); |
|
|
|
// 三级菜单 |
|
|
|
List<MallPermission> subList2 = mallPermissionService.getByParentId(mRP.getPermissionId()); |
|
|
|
if(subList2.size() > 0) { |
|
|
|
subList2.stream().forEach(smp->{ |
|
|
|
pList.add(smp.getId()); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
mallRolePermissionService.savePermissions(mRP.getTenantId(), mRP.getRoleId(), (Long[])pList.toArray()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return new ResultData(ErrorCode.USER_NO_PERMISSION); |
|
|
|
} |
|
|
|
|