|
@@ -32,228 +32,236 @@ import java.util.stream.Stream;
|
|
|
@RequestMapping("/role")
|
|
|
public class SysRoleController {
|
|
|
|
|
|
- private final SysRoleService sysRoleService;
|
|
|
+ private final SysRoleService sysRoleService;
|
|
|
|
|
|
- private final SysRoleMenuService sysRoleMenuService;
|
|
|
+ private final SysRoleMenuService sysRoleMenuService;
|
|
|
|
|
|
- /**
|
|
|
- * 通过ID查询角色信息
|
|
|
- *
|
|
|
- * @param id ID
|
|
|
- * @return 角色信息
|
|
|
- */
|
|
|
- @GetMapping("/{id}")
|
|
|
- public R getById(@PathVariable Integer id) {
|
|
|
- return R.ok(sysRoleService.getById(id));
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 通过ID查询角色信息
|
|
|
+ *
|
|
|
+ * @param id ID
|
|
|
+ * @return 角色信息
|
|
|
+ */
|
|
|
+ @GetMapping("/{id}")
|
|
|
+ public R<SysRole> getById(@PathVariable Integer id) {
|
|
|
+ return R.ok(sysRoleService.getById(id));
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 添加角色
|
|
|
- *
|
|
|
- * @param sysRole 角色信息
|
|
|
- * @return success、false
|
|
|
- */
|
|
|
- @SysLog("添加角色")
|
|
|
- @PostMapping
|
|
|
- @PreAuthorize("@pms.hasPermission('sys_role_add')")
|
|
|
- public R save(@Valid @RequestBody SysRole sysRole) {
|
|
|
- return R.ok(sysRoleService.save(sysRole));
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 添加角色
|
|
|
+ *
|
|
|
+ * @param sysRole 角色信息
|
|
|
+ * @return success、false
|
|
|
+ */
|
|
|
+ @SysLog("添加角色")
|
|
|
+ @PostMapping
|
|
|
+ @PreAuthorize("@pms.hasPermission('sys_role_add')")
|
|
|
+ public R<Boolean> save(@Valid @RequestBody SysRole sysRole) {
|
|
|
+ return R.ok(sysRoleService.save(sysRole));
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 修改角色
|
|
|
- *
|
|
|
- * @param sysRole 角色信息
|
|
|
- * @return success/false
|
|
|
- */
|
|
|
- @SysLog("修改角色")
|
|
|
- @PutMapping
|
|
|
- @PreAuthorize("@pms.hasPermission('sys_role_edit')")
|
|
|
- public R update(@Valid @RequestBody SysRole sysRole) {
|
|
|
- return R.ok(sysRoleService.updateById(sysRole));
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 修改角色
|
|
|
+ *
|
|
|
+ * @param sysRole 角色信息
|
|
|
+ * @return success/false
|
|
|
+ */
|
|
|
+ @SysLog("修改角色")
|
|
|
+ @PutMapping
|
|
|
+ @PreAuthorize("@pms.hasPermission('sys_role_edit')")
|
|
|
+ public R<Boolean> update(@Valid @RequestBody SysRole sysRole) {
|
|
|
+ return R.ok(sysRoleService.updateById(sysRole));
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 删除角色
|
|
|
- *
|
|
|
- * @param id
|
|
|
- * @return
|
|
|
- */
|
|
|
- @SysLog("删除角色")
|
|
|
- @DeleteMapping("/{id}")
|
|
|
- @PreAuthorize("@pms.hasPermission('sys_role_del')")
|
|
|
- public R removeById(@PathVariable Integer id) {
|
|
|
- return R.ok(sysRoleService.removeRoleById(id));
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 删除角色
|
|
|
+ *
|
|
|
+ * @param id 角色ID
|
|
|
+ * @return 删除结果
|
|
|
+ */
|
|
|
+ @SysLog("删除角色")
|
|
|
+ @DeleteMapping("/{id}")
|
|
|
+ @PreAuthorize("@pms.hasPermission('sys_role_del')")
|
|
|
+ public R<Boolean> removeById(@PathVariable Integer id) {
|
|
|
+ return R.ok(sysRoleService.removeRoleById(id));
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 获取角色列表
|
|
|
- *
|
|
|
- * @return 角色列表
|
|
|
- */
|
|
|
- @GetMapping("/list")
|
|
|
- public R listRoles() {
|
|
|
- List<SysRole> roleList = sysRoleService.list(Wrappers.emptyWrapper());
|
|
|
- roleList.remove(0);
|
|
|
- List<Integer> roles = SecurityUtils.getRoles();
|
|
|
- if (roles.contains(3)) {
|
|
|
- roleList.remove(0);
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 获取角色列表
|
|
|
+ *
|
|
|
+ * @return 角色列表
|
|
|
+ */
|
|
|
+ @GetMapping("/list")
|
|
|
+ public R<List<SysRole>> listRoles() {
|
|
|
+ List<SysRole> roleList = sysRoleService.list(Wrappers.emptyWrapper());
|
|
|
+ roleList.remove(0);
|
|
|
+ List<Integer> roles = SecurityUtils.getRoles();
|
|
|
+ if (roles.contains(3)) {
|
|
|
+ roleList.remove(0);
|
|
|
+ }
|
|
|
|
|
|
- if (roles.contains(4)) {
|
|
|
- roleList.remove(0);
|
|
|
- roleList.remove(0);
|
|
|
- }
|
|
|
+ if (roles.contains(4)) {
|
|
|
+ roleList.remove(0);
|
|
|
+ roleList.remove(0);
|
|
|
+ }
|
|
|
|
|
|
- if (roles.contains(9)) {
|
|
|
- roleList.remove(0);
|
|
|
- roleList.remove(0);
|
|
|
- roleList.remove(0);
|
|
|
- }
|
|
|
+ if (roles.contains(9)) {
|
|
|
+ roleList.remove(0);
|
|
|
+ roleList.remove(0);
|
|
|
+ roleList.remove(0);
|
|
|
+ }
|
|
|
|
|
|
- if (roles.contains(11)) {
|
|
|
- // 如果是患教管理员,则移除admin、平台管理员、药企
|
|
|
- roleList.remove(0);
|
|
|
- roleList.remove(0);
|
|
|
- roleList.remove(0);
|
|
|
- }
|
|
|
- return R.ok(roleList);
|
|
|
- }
|
|
|
+ if (roles.contains(11)) {
|
|
|
+ // 如果是患教管理员,则移除admin、平台管理员、药企
|
|
|
+ roleList.remove(0);
|
|
|
+ roleList.remove(0);
|
|
|
+ roleList.remove(0);
|
|
|
+ }
|
|
|
+ return R.ok(roleList);
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 获取角色列表(不包含admin管理员角色)
|
|
|
- *
|
|
|
- * 1.药企管理员:可见:
|
|
|
- * 药企管理员
|
|
|
- * CSO管理员
|
|
|
- * 全职学术信息沟通专员
|
|
|
- * 兼职学术信息沟通专员
|
|
|
- * 财务管理员
|
|
|
- * 招商经理
|
|
|
- *
|
|
|
- *
|
|
|
- * 2.CSO管理员:可见:
|
|
|
- * CSO管理员
|
|
|
- * 全职学术信息沟通专员
|
|
|
- * 兼职学术信息沟通专员
|
|
|
- * 财务管理员
|
|
|
- *
|
|
|
- *
|
|
|
- * 3.CRO管理员:可见:
|
|
|
- * CRO管理员
|
|
|
- * 兼职CRC
|
|
|
- * 财务管理员
|
|
|
- *
|
|
|
- *
|
|
|
- * 4.患教管理员:可见:
|
|
|
- * 患教管理员
|
|
|
- * HCP
|
|
|
- * 财务管理员
|
|
|
- *
|
|
|
- * 5.财务管理:可见:
|
|
|
- * 财务管理员
|
|
|
- *
|
|
|
- * 6.平台管理员都可以看到
|
|
|
- * @return 角色列表
|
|
|
- */
|
|
|
- @GetMapping("/listRoleExcludeAdmin")
|
|
|
- public R listRoleExcludeAdmin() {
|
|
|
+ /**
|
|
|
+ * 获取角色列表(不包含admin管理员角色)
|
|
|
+ * <p>
|
|
|
+ * 1.药企管理员:可见:
|
|
|
+ * 药企管理员
|
|
|
+ * CSO管理员
|
|
|
+ * 全职学术信息沟通专员
|
|
|
+ * 兼职学术信息沟通专员
|
|
|
+ * 财务管理员
|
|
|
+ * <p>
|
|
|
+ * <p>
|
|
|
+ * 2.CSO管理员:可见:
|
|
|
+ * CSO管理员
|
|
|
+ * 全职学术信息沟通专员
|
|
|
+ * 兼职学术信息沟通专员
|
|
|
+ * 财务管理员
|
|
|
+ * 服务商管理员
|
|
|
+ * <p>
|
|
|
+ * <p>
|
|
|
+ * 2.1.二级CSO管理员:可见:
|
|
|
+ * 全职学术信息沟通专员
|
|
|
+ * 兼职学术信息沟通专员
|
|
|
+ * 财务管理员
|
|
|
+ * 服务商管理员
|
|
|
+ * <p>
|
|
|
+ * <p>
|
|
|
+ * 3.CRO管理员:可见:
|
|
|
+ * CRO管理员
|
|
|
+ * 兼职CRC
|
|
|
+ * 财务管理员
|
|
|
+ * <p>
|
|
|
+ * <p>
|
|
|
+ * 4.患教管理员:可见:
|
|
|
+ * 患教管理员
|
|
|
+ * HCP
|
|
|
+ * 财务管理员
|
|
|
+ * <p>
|
|
|
+ * 5.财务管理:可见:
|
|
|
+ * 财务管理员
|
|
|
+ * <p>
|
|
|
+ * 6.平台管理员都可以看到
|
|
|
+ *
|
|
|
+ * @return 角色列表
|
|
|
+ */
|
|
|
+ @GetMapping("/listRoleExcludeAdmin")
|
|
|
+ public R<List<SysRole>> listRoleExcludeAdmin() {
|
|
|
|
|
|
- // 获取当前登陆用户的角色列表
|
|
|
- List<Integer> rolesIdList = SecurityUtils.getRoles();
|
|
|
+ // 获取当前登陆用户的角色列表
|
|
|
+ List<Integer> rolesIdList = SecurityUtils.getRoles();
|
|
|
|
|
|
- // 平台管理员
|
|
|
- LambdaQueryWrapper<SysRole> queryWrapper = Wrappers.<SysRole>lambdaQuery();
|
|
|
- if (rolesIdList.contains(2)){
|
|
|
- queryWrapper.ne(SysRole::getRoleId, 1).orderByAsc(SysRole::getRoleId);
|
|
|
- } else if (rolesIdList.contains(1)){
|
|
|
- queryWrapper.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,37).collect(Collectors.toList());
|
|
|
- List<Integer> CSO2Admin = Stream.of(5,6,7,37).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());
|
|
|
- List<Integer> bcLeaderAdmin = Stream.of(2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 19, 31, 34, 35, 37).collect(Collectors.toList());
|
|
|
- List<Integer> csmAdmin = Stream.of(3, 4, 5, 6, 7, 9, 10, 11, 13, 19, 31, 34, 37).collect(Collectors.toList());
|
|
|
+ // 平台管理员
|
|
|
+ LambdaQueryWrapper<SysRole> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ if (rolesIdList.contains(2)) {
|
|
|
+ queryWrapper.ne(SysRole::getRoleId, 1).orderByAsc(SysRole::getRoleId);
|
|
|
+ } else if (rolesIdList.contains(1)) {
|
|
|
+ queryWrapper.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, 37).collect(Collectors.toList());
|
|
|
+ List<Integer> CSO2Admin = Stream.of(5, 6, 7, 37).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());
|
|
|
+ List<Integer> bcLeaderAdmin = Stream.of(2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 19, 31, 34, 35, 37).collect(Collectors.toList());
|
|
|
+ List<Integer> csmAdmin = Stream.of(3, 4, 5, 6, 7, 9, 10, 11, 13, 19, 31, 34, 37).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
- Set<Integer> queryRoleIdSet = new HashSet<>();
|
|
|
+ Set<Integer> queryRoleIdSet = new HashSet<>();
|
|
|
|
|
|
- rolesIdList.forEach(id ->{
|
|
|
- switch (id){
|
|
|
- case 3:
|
|
|
- queryRoleIdSet.addAll(drugEntAdmin);
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- queryRoleIdSet.addAll(CSOAdmin);
|
|
|
- break;
|
|
|
- case 37:
|
|
|
- queryRoleIdSet.addAll(CSO2Admin);
|
|
|
- break;
|
|
|
- case 7:
|
|
|
- queryRoleIdSet.addAll(CFOAdmin);
|
|
|
- break;
|
|
|
- case 9:
|
|
|
- queryRoleIdSet.addAll(CROAdmin);
|
|
|
- break;
|
|
|
- case 11:
|
|
|
- queryRoleIdSet.addAll(HCPAdmin);
|
|
|
- break;
|
|
|
- case 19:
|
|
|
- queryRoleIdSet.addAll(csmAdmin);
|
|
|
- break;
|
|
|
- case 35:
|
|
|
- queryRoleIdSet.addAll(bcLeaderAdmin);
|
|
|
- break;
|
|
|
- }
|
|
|
- });
|
|
|
- if (CollUtil.isEmpty(queryRoleIdSet)) {
|
|
|
- return R.ok(Collections.emptyList());
|
|
|
- }
|
|
|
+ rolesIdList.forEach(id -> {
|
|
|
+ switch (id) {
|
|
|
+ case 3:
|
|
|
+ queryRoleIdSet.addAll(drugEntAdmin);
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ queryRoleIdSet.addAll(CSOAdmin);
|
|
|
+ break;
|
|
|
+ case 37:
|
|
|
+ queryRoleIdSet.addAll(CSO2Admin);
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ queryRoleIdSet.addAll(CFOAdmin);
|
|
|
+ break;
|
|
|
+ case 9:
|
|
|
+ queryRoleIdSet.addAll(CROAdmin);
|
|
|
+ break;
|
|
|
+ case 11:
|
|
|
+ queryRoleIdSet.addAll(HCPAdmin);
|
|
|
+ break;
|
|
|
+ case 19:
|
|
|
+ queryRoleIdSet.addAll(csmAdmin);
|
|
|
+ break;
|
|
|
+ case 35:
|
|
|
+ queryRoleIdSet.addAll(bcLeaderAdmin);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (CollUtil.isEmpty(queryRoleIdSet)) {
|
|
|
+ return R.ok(Collections.emptyList());
|
|
|
+ }
|
|
|
|
|
|
- queryWrapper.in(SysRole::getRoleId, queryRoleIdSet).orderByAsc(SysRole::getRoleId);
|
|
|
- }
|
|
|
+ queryWrapper.in(SysRole::getRoleId, queryRoleIdSet).orderByAsc(SysRole::getRoleId);
|
|
|
+ }
|
|
|
|
|
|
- List<SysRole> list = sysRoleService.list(queryWrapper);
|
|
|
- return R.ok(list);
|
|
|
- }
|
|
|
+ List<SysRole> list = sysRoleService.list(queryWrapper);
|
|
|
+ return R.ok(list);
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 分页查询角色信息
|
|
|
- *
|
|
|
- * @param page 分页对象
|
|
|
- * @return 分页对象
|
|
|
- */
|
|
|
- @GetMapping("/page")
|
|
|
- public R getRolePage(Page page) {
|
|
|
- return R.ok(sysRoleService.page(page, Wrappers.emptyWrapper()));
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 分页查询角色信息
|
|
|
+ *
|
|
|
+ * @param page 分页对象
|
|
|
+ * @return 分页对象
|
|
|
+ */
|
|
|
+ @GetMapping("/page")
|
|
|
+ public R<Page<SysRole>> getRolePage(Page<SysRole> page) {
|
|
|
+ return R.ok(sysRoleService.page(page, Wrappers.emptyWrapper()));
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 更新角色菜单
|
|
|
- *
|
|
|
- * @param roleVo 角色对象
|
|
|
- * @return success、false
|
|
|
- */
|
|
|
- @SysLog("更新角色菜单")
|
|
|
- @PutMapping("/menu")
|
|
|
- @PreAuthorize("@pms.hasPermission('sys_role_perm')")
|
|
|
- public R saveRoleMenus(@RequestBody RoleVO roleVo) {
|
|
|
- SysRole sysRole = sysRoleService.getById(roleVo.getRoleId());
|
|
|
- return R.ok(sysRoleMenuService.saveRoleMenus(sysRole.getRoleCode(), roleVo.getRoleId(), roleVo.getMenuIds()));
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 更新角色菜单
|
|
|
+ *
|
|
|
+ * @param roleVo 角色对象
|
|
|
+ * @return success、false
|
|
|
+ */
|
|
|
+ @SysLog("更新角色菜单")
|
|
|
+ @PutMapping("/menu")
|
|
|
+ @PreAuthorize("@pms.hasPermission('sys_role_perm')")
|
|
|
+ public R<Boolean> saveRoleMenus(@RequestBody RoleVO roleVo) {
|
|
|
+ SysRole sysRole = sysRoleService.getById(roleVo.getRoleId());
|
|
|
+ return R.ok(sysRoleMenuService.saveRoleMenus(sysRole.getRoleCode(), roleVo.getRoleId(), roleVo.getMenuIds()));
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 通过角色ID 查询角色列表
|
|
|
- *
|
|
|
- * @param roleIdList 角色ID
|
|
|
- * @return
|
|
|
- */
|
|
|
- @PostMapping("/getRoleList")
|
|
|
- public R getRoleList(@RequestBody List<String> roleIdList) {
|
|
|
- return R.ok(sysRoleService.listByIds(roleIdList));
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 通过角色ID 查询角色列表
|
|
|
+ *
|
|
|
+ * @param roleIdList 角色ID
|
|
|
+ * @return 角色列表
|
|
|
+ */
|
|
|
+ @PostMapping("/getRoleList")
|
|
|
+ public R<List<SysRole>> getRoleList(@RequestBody List<String> roleIdList) {
|
|
|
+ return R.ok(sysRoleService.listByIds(roleIdList));
|
|
|
+ }
|
|
|
|
|
|
}
|