| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- package com.template.controller;
- import com.baomidou.mybatisplus.core.conditions.Wrapper;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.template.api.UsersMenuAPI;
- import com.template.model.dto.SaveParentDto;
- import com.template.model.dto.SaveParentUserDto;
- import com.template.model.dto.SaveSecondaryUserDto;
- import com.template.model.dto.UpdateMenuPermissionSettingDto;
- import com.template.model.pojo.AdminMenu;
- import com.template.model.pojo.PermissionSetting;
- import com.template.model.pojo.Users;
- import com.template.model.pojo.UsersMenu;
- import com.template.model.result.CommonResult;
- import com.template.model.vo.AdminMenuTreeVo;
- import com.template.services.PermissionSettingService;
- import com.template.services.UsersMenuService;
- import com.template.services.UsersService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author ceshi
- * @since 2023-12-13
- */
- @RestController
- public class UsersMenuController implements UsersMenuAPI {
- @Autowired
- UsersMenuService usersMenuService;
- @Autowired
- PermissionSettingService permissionSettingService;
- @Autowired
- UsersService usersService;
- public static void main(String[] args) {
- String s = "1,2";
- boolean contains = s.contains("3");
- System.out.println("contains = " + contains);
- }
- @Override
- public CommonResult saveUserParent(SaveParentUserDto saveParentUserDto) {
- if (ObjectUtils.isEmpty(saveParentUserDto)) {
- return CommonResult.fail();
- }
- int adminId = saveParentUserDto.getAdminMenuId();
- PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String roleManagement = permissionSetting.getRoleManagement();
- if (!"0".equals(roleManagement) && !roleManagement.contains("1")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- String name = saveParentUserDto.getName();
- LambdaQueryWrapper<UsersMenu> wrapperUm = new LambdaQueryWrapper<>();
- wrapperUm.eq(UsersMenu::getName, name);
- UsersMenu one = usersMenuService.getOne(wrapperUm);
- if (ObjectUtils.isNotEmpty(one)) {
- return CommonResult.fail("已有该角色");
- }
- UsersMenu usersMenu = new UsersMenu();
- usersMenu.setParentId(0);
- usersMenu.setName(name);
- usersMenuService.save(usersMenu);
- return CommonResult.ok();
- }
- @Override
- public CommonResult saveUserSecondary(SaveSecondaryUserDto saveSecondaryUserDto) {
- if (ObjectUtils.isEmpty(saveSecondaryUserDto)) {
- return CommonResult.fail();
- }
- int adminId = saveSecondaryUserDto.getAdminMenuId();
- PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String roleManagement = permissionSetting.getRoleManagement();
- if (!"0".equals(roleManagement) && !roleManagement.contains("1")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- String name = saveSecondaryUserDto.getName();
- LambdaQueryWrapper<UsersMenu> wrapperUm = new LambdaQueryWrapper<>();
- wrapperUm.eq(UsersMenu::getName, name);
- UsersMenu one = usersMenuService.getOne(wrapperUm);
- if (ObjectUtils.isNotEmpty(one)) {
- return CommonResult.fail("已有该角色");
- }
- UsersMenu usersMenu = new UsersMenu();
- usersMenu.setParentId(saveSecondaryUserDto.getParentId());
- usersMenu.setName(name);
- usersMenuService.save(usersMenu);
- return CommonResult.ok();
- }
- @Override
- public CommonResult getUserRole() {
- Wrapper<UsersMenu> wrapper = new LambdaQueryWrapper<>();
- List<UsersMenu> adminMenus = usersMenuService.list(wrapper);
- List<AdminMenuTreeVo> adminMenuTreeVos = QueryAreaTreeRecords(0, adminMenus);
- return CommonResult.ok(adminMenuTreeVos);
- }
- @Override
- public CommonResult userListPage(int adminMenuId,int page, int size, String keyWord, String startTime, String endTime) {
- PermissionSetting permissionSetting = permissionSettingService.getById(adminMenuId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String roleManagement = permissionSetting.getRoleManagement();
- if (!"0".equals(roleManagement) && !roleManagement.contains("4")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- if (ObjectUtils.isEmpty(page) && page <= 0) {
- page = 1;
- }
- if (ObjectUtils.isEmpty(size) && size <= 0) {
- size = 10;
- }
- LambdaQueryWrapper<UsersMenu> wrapperUM = new LambdaQueryWrapper<>();
- wrapperUM.like(ObjectUtils.isNotEmpty(keyWord), UsersMenu::getName, keyWord)
- .between(ObjectUtils.isNotEmpty(startTime) && ObjectUtils.isNotEmpty(endTime), UsersMenu::getCreateTime, startTime, endTime);
- IPage<UsersMenu> page1 = usersMenuService.page(new Page<>(page, size), wrapperUM);
- return CommonResult.ok(page1);
- }
- @Override
- public CommonResult deleteUsersMenu(int adminMenuId, int userMenuId) {
- PermissionSetting permissionSetting = permissionSettingService.getById(adminMenuId);
- if (ObjectUtils.isEmpty(permissionSetting)) {
- return CommonResult.fail("非法进入");
- }
- // 判断该用户是否拥有权限
- String roleManagement = permissionSetting.getRoleManagement();
- if (!"0".equals(roleManagement) && !roleManagement.contains("3")) {
- return CommonResult.fail("此账号暂无该权限");
- }
- // 判断是否有子用户角色
- List<UsersMenu> usersMenuList=usersMenuService.listUserMenuId(userMenuId);
- List<Users> users=usersService.listUserMenuId(userMenuId);
- if (users.size()>0) {
- return CommonResult.fail("该角色下还有用户");
- }
- if (ObjectUtils.isNotEmpty(usersMenuList)&&usersMenuList.size()>0) {
- return CommonResult.fail("该角色下还有其他角色未删除");
- }
- boolean b = usersMenuService.removeById(userMenuId);
- if (!b) {
- return CommonResult.fail("删除失败");
- }
- return CommonResult.ok();
- }
- /**
- * 根据父类ID获取树形菜单数据
- *
- * @param parentID 父级ID
- * @param lists 数据集合
- * @return
- */
- private List<AdminMenuTreeVo> QueryAreaTreeRecords(Integer parentID, List<UsersMenu> lists) {
- List<AdminMenuTreeVo> newTrees = new ArrayList<>();
- List<UsersMenu> datas = lists.stream().filter(e -> e.getParentId().equals(parentID)).collect(Collectors.toList());
- for (UsersMenu data : datas) {
- AdminMenuTreeVo item = AdminMenuTreeVo.builder()
- .id(data.getId())
- .parentId(data.getParentId())
- .name(data.getName())
- .build();
- List<AdminMenuTreeVo> news = QueryAreaTreeRecords(item.getId(), lists);
- if (news == null || news.size() == 0) {
- newTrees.add(item);
- continue;
- } else {
- item.setChildren(news);
- newTrees.add(item);
- }
- }
- return newTrees;
- }
- }
|