|
|
@@ -1,5 +1,7 @@ |
|
|
package com.iformall.service.impl; |
|
|
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.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
import com.github.pagehelper.PageHelper; |
|
|
import com.github.pagehelper.PageHelper; |
|
|
import com.github.pagehelper.PageInfo; |
|
|
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.MallRolePermission; |
|
|
import com.iformall.domain.po.MallUserInfo; |
|
|
import com.iformall.domain.po.MallUserInfo; |
|
|
import com.iformall.domain.po.MallUserRole; |
|
|
import com.iformall.domain.po.MallUserRole; |
|
|
|
|
|
import com.iformall.domain.po.WxMall; |
|
|
import com.iformall.enums.EnumMenuType; |
|
|
import com.iformall.enums.EnumMenuType; |
|
|
import com.iformall.enums.EnumUserAdmin; |
|
|
import com.iformall.enums.EnumUserAdmin; |
|
|
import com.iformall.mapper.MallRolePermissionMapper; |
|
|
import com.iformall.mapper.MallRolePermissionMapper; |
|
|
import com.iformall.mapper.MallUserRoleMapper; |
|
|
import com.iformall.mapper.MallUserRoleMapper; |
|
|
|
|
|
import com.iformall.mapper.WxMallMapper; |
|
|
import com.iformall.service.MallUserRoleService; |
|
|
import com.iformall.service.MallUserRoleService; |
|
|
import org.slf4j.Logger; |
|
|
import org.slf4j.Logger; |
|
|
import org.slf4j.LoggerFactory; |
|
|
import org.slf4j.LoggerFactory; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
|
|
import static java.util.stream.Collectors.toList; |
|
|
|
|
|
|
|
|
@Service |
|
|
@Service |
|
|
public class MallUserRoleServiceImpl implements MallUserRoleService { |
|
|
public class MallUserRoleServiceImpl implements MallUserRoleService { |
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass()); |
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass()); |
|
|
@@ -29,6 +36,9 @@ public class MallUserRoleServiceImpl implements MallUserRoleService { |
|
|
@Autowired |
|
|
@Autowired |
|
|
MallRolePermissionMapper mallRolePermissionMapper; |
|
|
MallRolePermissionMapper mallRolePermissionMapper; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
WxMallMapper wxMallMapper; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public PageInfo<MallUserRole> listAsPage(MallUserRole record, Integer pageIndex, Integer pageSize) { |
|
|
public PageInfo<MallUserRole> listAsPage(MallUserRole record, Integer pageIndex, Integer pageSize) { |
|
|
@@ -118,6 +128,7 @@ public class MallUserRoleServiceImpl implements MallUserRoleService { |
|
|
MallUserRole ur = new MallUserRole(); |
|
|
MallUserRole ur = new MallUserRole(); |
|
|
ur.setUid(userInfo.getId()); |
|
|
ur.setUid(userInfo.getId()); |
|
|
List<MallUserRole> userRoleList = mallUserRoleMapper.findList(ur); |
|
|
List<MallUserRole> userRoleList = mallUserRoleMapper.findList(ur); |
|
|
|
|
|
List<Long> permissionIds = new ArrayList<>(); |
|
|
if (userRoleList.size() > 0) { |
|
|
if (userRoleList.size() > 0) { |
|
|
MallUserRole userRole = userRoleList.get(0); |
|
|
MallUserRole userRole = userRoleList.get(0); |
|
|
Long roleId = userRole.getRoleId(); |
|
|
Long roleId = userRole.getRoleId(); |
|
|
@@ -125,16 +136,30 @@ public class MallUserRoleServiceImpl implements MallUserRoleService { |
|
|
p.setRoleId(roleId); |
|
|
p.setRoleId(roleId); |
|
|
p.updateTenantInfo(userInfo); |
|
|
p.updateTenantInfo(userInfo); |
|
|
List<MallRolePermission> rolePermissionList = mallRolePermissionMapper.findList(p); |
|
|
List<MallRolePermission> rolePermissionList = mallRolePermissionMapper.findList(p); |
|
|
String menus = ""; |
|
|
|
|
|
for (MallRolePermission rp : rolePermissionList) { |
|
|
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) { |
|
|
if (menus.length() > 0) { |
|
|
menus = menus.substring(0, menus.length() - 1); |
|
|
menus = menus.substring(0, menus.length() - 1); |
|
|
} |
|
|
} |
|
|
return menus; |
|
|
|
|
|
} |
|
|
} |
|
|
return ""; |
|
|
|
|
|
|
|
|
return menus; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|