Browse Source

//update

release_toaliyun_real
xhxu 4 years ago
parent
commit
8721cd7d69
3 changed files with 43 additions and 6 deletions
  1. +13
    -1
      mallinkService/src/main/java/com/iformall/service/impl/MallPermissionServiceImpl.java
  2. +29
    -4
      mallinkService/src/main/java/com/iformall/service/impl/MallUserRoleServiceImpl.java
  3. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxProjectConfigServiceImpl.java

+ 13
- 1
mallinkService/src/main/java/com/iformall/service/impl/MallPermissionServiceImpl.java View File

@@ -28,6 +28,8 @@ import org.springframework.stereotype.Service;

import java.util.*;

import static java.util.stream.Collectors.toList;

@Service
public class MallPermissionServiceImpl implements MallPermissionService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@@ -148,7 +150,17 @@ public class MallPermissionServiceImpl implements MallPermissionService {
} else {
//用户菜单列表
List<Long> menuIdList = mallUserInfoMapper.queryAllMenuId(userInfo.getId());
return getAllMenuListByParentId(0L, menuIdList, boolNav);
//与系统权限求交集
WxMall q = new WxMall();
q.setTenantId(userInfo.getTenantId());
q.setParentTenantId(userInfo.getParentTenantId());
String sysMenus = wxMallMapper.queryMenusByTenantInfo(q);
JSONArray sysMenuIdList = JSON.parseArray(sysMenus);
List<Long> sysMenuIds = sysMenuIdList.toJavaList(Long.class);

List<Long> menuIds = sysMenuIds.stream().filter(item -> menuIdList.contains(item)).collect(toList());

return getAllMenuListByParentId(0L, menuIds, boolNav);
}
}



+ 29
- 4
mallinkService/src/main/java/com/iformall/service/impl/MallUserRoleServiceImpl.java View File

@@ -1,5 +1,7 @@
package com.iformall.service.impl;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -7,18 +9,23 @@ import com.iformall.common.IdWorker;
import com.iformall.domain.po.MallRolePermission;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.MallUserRole;
import com.iformall.domain.po.WxMall;
import com.iformall.enums.EnumMenuType;
import com.iformall.enums.EnumUserAdmin;
import com.iformall.mapper.MallRolePermissionMapper;
import com.iformall.mapper.MallUserRoleMapper;
import com.iformall.mapper.WxMallMapper;
import com.iformall.service.MallUserRoleService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

import static java.util.stream.Collectors.toList;

@Service
public class MallUserRoleServiceImpl implements MallUserRoleService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@@ -29,6 +36,9 @@ public class MallUserRoleServiceImpl implements MallUserRoleService {
@Autowired
MallRolePermissionMapper mallRolePermissionMapper;

@Autowired
WxMallMapper wxMallMapper;


@Override
public PageInfo<MallUserRole> listAsPage(MallUserRole record, Integer pageIndex, Integer pageSize) {
@@ -118,6 +128,7 @@ public class MallUserRoleServiceImpl implements MallUserRoleService {
MallUserRole ur = new MallUserRole();
ur.setUid(userInfo.getId());
List<MallUserRole> userRoleList = mallUserRoleMapper.findList(ur);
List<Long> permissionIds = new ArrayList<>();
if (userRoleList.size() > 0) {
MallUserRole userRole = userRoleList.get(0);
Long roleId = userRole.getRoleId();
@@ -125,16 +136,30 @@ public class MallUserRoleServiceImpl implements MallUserRoleService {
p.setRoleId(roleId);
p.updateTenantInfo(userInfo);
List<MallRolePermission> rolePermissionList = mallRolePermissionMapper.findList(p);
String menus = "";
for (MallRolePermission rp : rolePermissionList) {
menus += rp.getPermissionId() + ",";
permissionIds.add(rp.getPermissionId());
}
}

String menus = "";
if(permissionIds.size() > 0){
//与系统权限求交集
WxMall q = new WxMall();
q.setTenantId(userInfo.getTenantId());
q.setParentTenantId(userInfo.getParentTenantId());
String sysMenus = wxMallMapper.queryMenusByTenantInfo(q);
JSONArray sysMenuIdList = JSON.parseArray(sysMenus);
List<Long> sysMenuIds = sysMenuIdList.toJavaList(Long.class);
List<Long> menuIds = sysMenuIds.stream().filter(item -> permissionIds.contains(item)).collect(toList());

for (Long id:menuIds) {
menus += id + ",";
}
if (menus.length() > 0) {
menus = menus.substring(0, menus.length() - 1);
}
return menus;
}
return "";
return menus;
}


+ 1
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxProjectConfigServiceImpl.java View File

@@ -236,7 +236,7 @@ public class WxProjectConfigServiceImpl implements WxProjectConfigService {
mallRole.setAvailable("0");
mallRoleService.saveOrUpdate(mallRole);
//给角色赋权限
MallPermission mallPermission=new MallPermission();
MallPermission mallPermission = new MallPermission();
List<MallPermission> list = mallPermissionService.getList(mallPermission);
for(MallPermission m : list){
MallRolePermission mallRolePermission = new MallRolePermission();


Loading…
Cancel
Save