Browse Source

[菜单管理][修改]:老用户菜单兼容

release_toaliyun_real
Stormeye Wu 7 years ago
parent
commit
93c11d8372
4 changed files with 61 additions and 4 deletions
  1. +39
    -3
      mallinkAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java
  2. +9
    -1
      mallinkService/src/main/java/com/iformall/enums/EnumMenuType.java
  3. +8
    -0
      mallinkService/src/main/java/com/iformall/service/MallRoleService.java
  4. +5
    -0
      mallinkService/src/main/java/com/iformall/service/impl/MallRoleServiceImpl.java

+ 39
- 3
mallinkAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java View File

@@ -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);
}


+ 9
- 1
mallinkService/src/main/java/com/iformall/enums/EnumMenuType.java View File

@@ -4,7 +4,15 @@ package com.iformall.enums;
* Created by Stormeye on 2018/08/09.
*/
public enum EnumMenuType {
MOBILE_ADMIN(8, "移动端数据塔台")
CONTROL_TOWER(1, "数据塔台"),
SHOP_MERCHANT(2, "商户商铺"),
CONTRACT_MANAGER(3, "合同管理"),
BILL_MANAGER(4, "账单管理"),
MEM_SYSTEM(5, "会员系统"),
SALE_SYSTEM(6, "营销系统"),
ACCOUNT_MANAGER(7, "账号管理"),
MOBILE_ADMIN(8, "移动端数据塔台"),
HARDWARE(9, "智能硬件"),
;

public static EnumMenuType getEnum(Integer code) {


+ 8
- 0
mallinkService/src/main/java/com/iformall/service/MallRoleService.java View File

@@ -17,6 +17,14 @@ public interface MallRoleService {
*/
PageInfo<MallRole> listAsPage(MallRole record, Integer pageIndex, Integer pageSize);

/**
* 根据实体查询列表
*
* @param record
* @return
*/
List<MallRole> getList(MallRole record);

/**
* 根据实体查询count
* @param record


+ 5
- 0
mallinkService/src/main/java/com/iformall/service/impl/MallRoleServiceImpl.java View File

@@ -28,6 +28,11 @@ public class MallRoleServiceImpl implements MallRoleService {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> mallRoleMapper.findList(record));
}

@Override
public List<MallRole> getList(MallRole record) {
return mallRoleMapper.findList(record);
}

@Override
public int countList(MallRole record) {
return mallRoleMapper.selectCount(record);


Loading…
Cancel
Save