|
@@ -20,6 +20,7 @@
|
|
package com.qunzhixinxi.hnqz.admin.controller;
|
|
package com.qunzhixinxi.hnqz.admin.controller;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysRole;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysRole;
|
|
@@ -35,7 +36,11 @@ import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
import javax.validation.Valid;
|
|
|
|
+import java.util.HashSet;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Set;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @author hnqz
|
|
* @author hnqz
|
|
@@ -138,13 +143,79 @@ public class SysRoleController {
|
|
/**
|
|
/**
|
|
* 获取角色列表(不包含admin管理员角色)
|
|
* 获取角色列表(不包含admin管理员角色)
|
|
*
|
|
*
|
|
|
|
+ * 1.药企管理员:可见:
|
|
|
|
+ * 药企管理员
|
|
|
|
+ * CSO管理员
|
|
|
|
+ * 全职学术信息沟通专员
|
|
|
|
+ * 兼职学术信息沟通专员
|
|
|
|
+ * 财务管理员
|
|
|
|
+ *
|
|
|
|
+ *
|
|
|
|
+ * 2.CSO管理员:可见:
|
|
|
|
+ * CSO管理员
|
|
|
|
+ * 全职学术信息沟通专员
|
|
|
|
+ * 兼职学术信息沟通专员
|
|
|
|
+ * 财务管理员
|
|
|
|
+ *
|
|
|
|
+ *
|
|
|
|
+ * 3.CRO管理员:可见:
|
|
|
|
+ * CRO管理员
|
|
|
|
+ * 兼职CRC
|
|
|
|
+ * 财务管理员
|
|
|
|
+ *
|
|
|
|
+ *
|
|
|
|
+ * 4.患教管理员:可见:
|
|
|
|
+ * 患教管理员
|
|
|
|
+ * HCP
|
|
|
|
+ * 财务管理员
|
|
|
|
+ *
|
|
|
|
+ * 5.财务管理:可见:
|
|
|
|
+ * 财务管理员
|
|
|
|
+ *
|
|
|
|
+ * 6.平台管理员都可以看到
|
|
* @return 角色列表
|
|
* @return 角色列表
|
|
*/
|
|
*/
|
|
@GetMapping("/listRoleExcludeAdmin")
|
|
@GetMapping("/listRoleExcludeAdmin")
|
|
public R listRoleExcludeAdmin() {
|
|
public R listRoleExcludeAdmin() {
|
|
- Wrapper<SysRole> queryWrapper = Wrappers.<SysRole>lambdaQuery()
|
|
|
|
- .ne(SysRole::getRoleId, 1)
|
|
|
|
- .orderByAsc(SysRole::getRoleId);
|
|
|
|
|
|
+
|
|
|
|
+ // 获取当前登陆用户的角色列表
|
|
|
|
+ List<Integer> rolesIdList = SecurityUtils.getRoles();
|
|
|
|
+
|
|
|
|
+ // 平台管理员
|
|
|
|
+ LambdaQueryWrapper<SysRole> queryWrapper = Wrappers.<SysRole>lambdaQuery();
|
|
|
|
+ if (rolesIdList.contains(2)){
|
|
|
|
+ queryWrapper.ne(SysRole::getRoleId, 1).orderByAsc(SysRole::getRoleId);
|
|
|
|
+ } else {
|
|
|
|
+ List<Integer> drugEntAdmin = Stream.of(3,4,5,6,7).collect(Collectors.toList());
|
|
|
|
+ List<Integer> CSOAdmin = Stream.of(4,5,6,7).collect(Collectors.toList());
|
|
|
|
+ List<Integer> CROAdmin = Stream.of(7,9,10).collect(Collectors.toList());
|
|
|
|
+ List<Integer> HCPAdmin = Stream.of(7,11,13).collect(Collectors.toList());
|
|
|
|
+ List<Integer> CFOAdmin = Stream.of(7).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ Set<Integer> queryRoleIdSet = new HashSet<>();
|
|
|
|
+
|
|
|
|
+ rolesIdList.forEach(id ->{
|
|
|
|
+ switch (id){
|
|
|
|
+ case 3:
|
|
|
|
+ queryRoleIdSet.addAll(drugEntAdmin);
|
|
|
|
+ break;
|
|
|
|
+ case 4:
|
|
|
|
+ queryRoleIdSet.addAll(CSOAdmin);
|
|
|
|
+ break;
|
|
|
|
+ case 7:
|
|
|
|
+ queryRoleIdSet.addAll(CFOAdmin);
|
|
|
|
+ break;
|
|
|
|
+ case 9:
|
|
|
|
+ queryRoleIdSet.addAll(CROAdmin);
|
|
|
|
+ break;
|
|
|
|
+ case 11:
|
|
|
|
+ queryRoleIdSet.addAll(HCPAdmin);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ queryWrapper.in(SysRole::getRoleId, queryRoleIdSet).orderByAsc(SysRole::getRoleId);
|
|
|
|
+ }
|
|
|
|
+
|
|
List<SysRole> list = sysRoleService.list(queryWrapper);
|
|
List<SysRole> list = sysRoleService.list(queryWrapper);
|
|
return R.ok(list);
|
|
return R.ok(list);
|
|
}
|
|
}
|