|
|
|
@ -1,30 +1,24 @@
|
|
|
|
|
package com.baiye.system.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.ListUtil;
|
|
|
|
|
import com.baiye.security.constant.UserAttributeNameConstants;
|
|
|
|
|
import com.baiye.security.userdetails.User;
|
|
|
|
|
import com.baiye.security.util.SecurityUtils;
|
|
|
|
|
import com.baiye.system.checker.AdminUserChecker;
|
|
|
|
|
import com.baiye.system.enums.RoleCodeEnum;
|
|
|
|
|
import com.baiye.domain.PageParam;
|
|
|
|
|
import com.baiye.domain.PageResult;
|
|
|
|
|
import com.baiye.domain.SelectData;
|
|
|
|
|
import com.baiye.exception.BusinessException;
|
|
|
|
|
import com.baiye.extend.mybatis.plus.service.impl.ExtendServiceImpl;
|
|
|
|
|
import com.baiye.result.BaseResultCode;
|
|
|
|
|
import com.baiye.system.mapper.SysRoleMapper;
|
|
|
|
|
import com.baiye.system.model.entity.SysRole;
|
|
|
|
|
import com.baiye.system.model.qo.SysRoleQO;
|
|
|
|
|
import com.baiye.system.model.vo.SysRolePageVO;
|
|
|
|
|
import com.baiye.system.service.SysRoleMenuService;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
|
|
|
|
|
import com.baiye.exception.BusinessException;
|
|
|
|
|
import com.baiye.result.BaseResultCode;
|
|
|
|
|
import com.baiye.system.mapper.SysRoleMapper;
|
|
|
|
|
import com.baiye.system.service.SysRoleService;
|
|
|
|
|
import com.baiye.domain.PageParam;
|
|
|
|
|
import com.baiye.domain.PageResult;
|
|
|
|
|
import com.baiye.domain.SelectData;
|
|
|
|
|
import com.baiye.extend.mybatis.plus.service.impl.ExtendServiceImpl;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
@ -33,7 +27,6 @@ public class SysRoleServiceImpl extends ExtendServiceImpl<SysRoleMapper, SysRole
|
|
|
|
|
|
|
|
|
|
private final SysRoleMenuService sysRoleMenuService;
|
|
|
|
|
|
|
|
|
|
private final AdminUserChecker adminUserChecker;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询系统角色列表
|
|
|
|
@ -70,30 +63,7 @@ public class SysRoleServiceImpl extends ExtendServiceImpl<SysRoleMapper, SysRole
|
|
|
|
|
public List<SelectData<Void>> listSelectData() {
|
|
|
|
|
List<SelectData<Void>> selectData = baseMapper.listSelectData();
|
|
|
|
|
|
|
|
|
|
User user = SecurityUtils.getUser();
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
|
Collection<String> roleCodeList = (Collection<String>) user.getAttributes().get(UserAttributeNameConstants.ROLE_CODES);
|
|
|
|
|
|
|
|
|
|
String salesExecutive = RoleCodeEnum.find(14L);
|
|
|
|
|
String storeExecutive = RoleCodeEnum.find(22L);
|
|
|
|
|
String entryClerk = RoleCodeEnum.find(15L);
|
|
|
|
|
String directExecutive = RoleCodeEnum.find(24L);
|
|
|
|
|
Set<String> list = new HashSet<>();
|
|
|
|
|
if (adminUserChecker.isAdminUser(user.getUserId())) {
|
|
|
|
|
list.addAll(ListUtil.of(salesExecutive, storeExecutive, directExecutive));
|
|
|
|
|
}
|
|
|
|
|
if (roleCodeList.contains(salesExecutive)) {
|
|
|
|
|
list.add(entryClerk);
|
|
|
|
|
}
|
|
|
|
|
if (roleCodeList.contains(storeExecutive)) {
|
|
|
|
|
List<String> excludeRoleCode = ListUtil.of(RoleCodeEnum.find(1L), salesExecutive, storeExecutive, entryClerk);
|
|
|
|
|
List<String> collect = selectData.stream().map(SelectData::getValue).filter(value -> !excludeRoleCode.contains(String.valueOf(value))).map(String::valueOf).collect(Collectors.toList());
|
|
|
|
|
list.addAll(collect);
|
|
|
|
|
}
|
|
|
|
|
if (roleCodeList.contains(directExecutive)) {
|
|
|
|
|
list.addAll(ListUtil.of(RoleCodeEnum.find(25L), RoleCodeEnum.find(26L)));
|
|
|
|
|
}
|
|
|
|
|
return selectData.stream().filter(c -> list.contains(String.valueOf(c.getValue()))).collect(Collectors.toList());
|
|
|
|
|
return selectData.stream().filter(c -> "2".equals(c.getType())).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|