From 1916f55359bb6c8f34548c26767569b000decbfc Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期六, 10 八月 2024 18:10:58 +0800
Subject: [PATCH] 新增加系统管理部分功能接口

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysRoleController.java |  360 +++++++++++++++---------------------------------------------
 1 files changed, 90 insertions(+), 270 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysRoleController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysRoleController.java
index 59337ac..b22299a 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysRoleController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysRoleController.java
@@ -12,8 +12,14 @@
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.chargingPile.api.feignClient.SiteClient;
+import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.web.page.BasePage;
 import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.other.api.domain.TRoleSite;
+import com.ruoyi.other.api.feignClient.RoleSiteClient;
 import com.ruoyi.system.api.model.GetSysRoleByIds;
 import com.ruoyi.system.domain.SysMenus;
 import com.ruoyi.system.domain.SysRoleMenu;
@@ -27,6 +33,7 @@
 import com.ruoyi.system.service.ISysRoleService;
 import com.ruoyi.system.service.ISysUserRoleService;
 import com.ruoyi.system.service.ISysUserService;
+import io.seata.spring.annotation.GlobalTransactional;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -55,72 +62,75 @@
 @Api(tags = "角色模块")
 public class SysRoleController extends BaseController
 {
-    @Autowired
+    @Resource
     private ISysRoleService roleService;
 
-    @Autowired
+    @Resource
     private ISysUserService userService;
 
-    @Autowired
+    @Resource
     private ISysDeptService deptService;
 
     @Resource
     private SysRoleMenuMapper sysRoleMenuMapper;
 
-    @Autowired
+    @Resource
     private ISysUserRoleService sysUserRoleService;
-
 
     @Resource
     private SysMenuMapper menuMapper;
-
-    @ApiOperation("获取所有角色信息根据公司id")
+    
+    @Resource
+    private RoleSiteClient roleSiteClient;
+    
+    @Resource
+    private SiteClient siteClient;
+    
+    
+    
+    
+    @ApiOperation(value = "获取角色列表", tags = {"管理后台-系统用户管理"})
     @GetMapping("/list")
-    public AjaxResult list(Integer companyId)
-    {
-        SysRole role = new SysRole();
-        role.setCompanyId(companyId);
-        List<SysRole> list = roleService.selectRoleList(role);
+    public AjaxResult list() {
+        List<SysRole> list = roleService.list(new LambdaQueryWrapper<SysRole>().eq(SysRole::getDelFlag, 0).eq(SysRole::getStatus, 0));
         return AjaxResult.success(list);
     }
-
-
-
-    @ApiOperation("获取所有角色信息根据公司id--分页")
+    
+    
+    
+    @ResponseBody
     @GetMapping("/listPage")
-    public AjaxResult listPage(Integer companyId,int pageNumber,int pageSize)
-    {
-        PageInfo<SysRole> pageInfo = new PageInfo<>(pageNumber, pageSize);
-
-        PageInfo<SysRole> page = roleService.page(pageInfo, new LambdaQueryWrapper<SysRole>().eq(SysRole::getCompanyId, companyId).ne(SysRole::getRoleId,20));
+    @ApiOperation(value = "获取角色列表", tags = {"管理后台-角色管理"})
+    public AjaxResult listPage(String name, BasePage basePage) {
+        PageInfo<SysRole> pageInfo = new PageInfo<>(basePage.getPageCurr(), basePage.getPageSize());
+        LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<SysRole>().eq(SysRole::getStatus, 0).eq(SysRole::getDelFlag, 0);
+        if(StringUtils.isNotEmpty(name)){
+            wrapper.like(SysRole::getRoleName, name);
+        }
+    
+        PageInfo<SysRole> page = roleService.page(pageInfo, wrapper.orderByDesc(SysRole::getCreateTime));
+        for (SysRole record : page.getRecords()) {
+            List<Integer> data = roleSiteClient.getSiteIds(record.getRoleId()).getData();
+            List<Site> sites = siteClient.getSiteByIds(data).getData();
+            List<String> collect = sites.stream().map(Site::getName).collect(Collectors.toList());
+            record.setSiteNames(collect);
+        }
         return AjaxResult.success(page);
     }
-
-
-    @ApiOperation("角色启用停用")
-    @GetMapping("/roleStart")
-    public AjaxResult roleStart(Long roleId)
-    {
-        SysRole role = roleService.selectRoleById(roleId);
-        if(role.getStatus().equals("1")){
-            role.setStatus("0");
-        }else {
-            role.setStatus("1");
-        }
-        return AjaxResult.success(roleService.updateRole(role));
-    }
-
-
-
-    @ApiOperation("添加角色")
+    
+    
+    
+    
+    @ResponseBody
     @PostMapping("/roleAdd")
+    @ApiOperation(value = "添加角色", tags = {"管理后台-角色管理"})
+    @GlobalTransactional(rollbackFor = Exception.class)//分布式事务
     public AjaxResult roleAdd(@Validated @RequestBody RoleAddDto dto)
     {
         SysRole role = new SysRole();
         role.setRoleName(dto.getRoleName());
         long count = roleService.count(Wrappers.lambdaQuery(SysRole.class)
-                    .eq(SysRole::getRoleName,dto.getRoleName())
-                    .eq(SysRole::getCompanyId,dto.getCompanyId()));
+                    .eq(SysRole::getRoleName,dto.getRoleName()));
         if(count>0){
             return AjaxResult.error("角色已存在,请重新输入");
         }
@@ -130,36 +140,29 @@
         }
         role.setMenuIds(dto.getMenuIds().toArray((new Long[dto.getMenuIds().size()])));
         // 添加角色
-        role.setCompanyId(dto.getCompanyId());
-        role.setCarDataAuth(dto.getCarDataAuth());
-        role.setCarTrainOperAuth(dto.getCarTrainOperAuth());
-        role.setContractDataAuth(dto.getContractDataAuth());
+        role.setRemark(dto.getRemark());
         role.setCreateBy(SecurityUtils.getUsername());
         role.setCreateTime(new Date());
         roleService.insertRole(role);
-//        ArrayList<SysRoleMenu> sysRoleMenus = new ArrayList<>();
-//        List<Long> menuIds = dto.getMenuIds();
-//        for (Long menuId : menuIds) {
-//            SysRoleMenu sysRoleMenu = new SysRoleMenu();
-//            sysRoleMenu.setMenuId(menuId);
-//            sysRoleMenu.setRoleId(role.getRoleId());
-//            sysRoleMenus.add(sysRoleMenu);
-//        }
-//        sysRoleMenuMapper.batchRoleMenu(sysRoleMenus);
+        //添加站点权限
+        List<TRoleSite> roleSites = new ArrayList<>();
+        for (Integer siteId : dto.getSiteIds()) {
+            TRoleSite roleSite = new TRoleSite();
+            roleSite.setRoleId(role.getRoleId().intValue());
+            roleSite.setSiteId(siteId);
+            roleSites.add(roleSite);
+        }
+        roleSiteClient.addRoleSite(roleSites);
         return AjaxResult.success();
     }
 
 
-    @ApiOperation("角色详情")
     @GetMapping("/roleInfo")
-    public AjaxResult roleInfo( @RequestParam Long id)
-    {
+    @ApiOperation(value = "角色详情", tags = {"管理后台-角色管理"})
+    public AjaxResult roleInfo( @RequestParam Long id) {
         SysRole role = roleService.selectRoleById(id);
         RoleInfoVo roleInfoVo = new RoleInfoVo();
         roleInfoVo.setRoleId(role.getRoleId());
-        roleInfoVo.setCarDataAuth(role.getCarDataAuth());
-        roleInfoVo.setCarTrainOperAuth(role.getCarTrainOperAuth());
-        roleInfoVo.setContractDataAuth(role.getContractDataAuth());
         roleInfoVo.setRoleName(role.getRoleName());
         // 获取当前角色的菜单id
         List<Long> menusId = sysRoleMenuMapper.selectList(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, id)).stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList());
@@ -184,66 +187,29 @@
             List<SysMenus> collect = s2.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList());
             menus.setChildren(collect);
         }
-
         roleInfoVo.setMenus(menusId);
+        roleInfoVo.setRemark(role.getRemark());
+        List<Integer> siteIds = roleSiteClient.getSiteIds(role.getRoleId()).getData();
+        List<Site> sites = siteClient.getSiteByIds(siteIds).getData();
+        List<String> siteNames = sites.stream().map(Site::getName).collect(Collectors.toList());
+        roleInfoVo.setSiteNames(siteNames);
+        roleInfoVo.setSiteIds(siteIds);
         return AjaxResult.success(roleInfoVo);
     }
 
 
-    @ApiOperation("用户获取权限菜单")
-    @GetMapping("/roleInfoFromUserId")
-    public AjaxResult roleInfoFromUserId( @RequestParam Long userId)
-    {
-        SysUserRole one = sysUserRoleService.getOne(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, userId));
-        Long id =one.getRoleId();
-        // 获取当前角色的菜单id
-        List<Long> menusId = sysRoleMenuMapper.selectList(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, id)).stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList());
-        if(menusId.size()==0){
-            return AjaxResult.success(new ArrayList<>());
-        }
-        if(id!=1){
-            menusId = menusId.stream().filter(e->e!=1074 && e!=1075 && e!=1193 && e!=1194).collect(Collectors.toList());
-        }
-        //获取当前的权限菜单
-        List<SysMenus> all = menuMapper.getAllInIds(menusId);
-        // 第三级
-        List<SysMenus> s3 = all.stream().filter(e -> e.getMenuType().equals("F")).collect(Collectors.toList());
-        // 第二级
-        List<SysMenus> s2 = all.stream().filter(e -> e.getMenuType().equals("C")).collect(Collectors.toList());
-        // 第一级
-        List<SysMenus> s1 = all.stream().filter(e -> e.getMenuType().equals("M")).collect(Collectors.toList());
 
-        for (SysMenus menus : s2) {
-            List<SysMenus> collect = s3.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList());
-            menus.setChildren(collect);
-        }
-
-        for (SysMenus menus : s1) {
-            List<SysMenus> collect = s2.stream().filter(e -> e.getParentId().equals(menus.getMenuId())).collect(Collectors.toList());
-            menus.setChildren(collect);
-        }
-
-        return AjaxResult.success(s1);
-    }
-
-
-
-
-    @ApiOperation("编辑角色")
     @PostMapping("/roleUpdate")
-    public AjaxResult roleUpdate(@Validated @RequestBody RoleUpdateDto dto)
-    {
+    @ApiOperation(value = "编辑角色", tags = {"管理后台-角色管理"})
+    @GlobalTransactional(rollbackFor = Exception.class)//分布式事务
+    public AjaxResult roleUpdate(@Validated @RequestBody RoleUpdateDto dto) {
         SysRole role = new SysRole();
         role.setRoleName(dto.getRoleName());
-        SysRole one = roleService.getOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleId, dto.getRoleId()));
-        List<SysRole> sysRoles = roleService.isExitUpdate(dto.getRoleName(),dto.getRoleId(),one.getCompanyId());
-        if(sysRoles.size()>0){
+        SysRole one = roleService.getOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleName, dto.getRoleName()));
+        if(null != one && !one.getRoleId().equals(dto.getRoleId())){
             return AjaxResult.error("角色已存在,请重新输入");
         }
-        // 编辑角色
-        role.setCarDataAuth(dto.getCarDataAuth());
-        role.setCarTrainOperAuth(dto.getCarTrainOperAuth());
-        role.setContractDataAuth(dto.getContractDataAuth());
+        role.setRemark(dto.getRemark());
         role.setUpdateBy(SecurityUtils.getUsername());
         role.setUpdateTime(new Date());
         role.setRoleId(dto.getRoleId());
@@ -272,110 +238,21 @@
             sysRoleMenus.add(sysRoleMenu);
         }
         sysRoleMenuMapper.batchRoleMenu(sysRoleMenus);
+        //删除旧站点数据
+        roleSiteClient.delRoleSite(dto.getRoleId());
+        //添加站点权限
+        List<TRoleSite> roleSites = new ArrayList<>();
+        for (Integer siteId : dto.getSiteIds()) {
+            TRoleSite roleSite = new TRoleSite();
+            roleSite.setRoleId(role.getRoleId().intValue());
+            roleSite.setSiteId(siteId);
+            roleSites.add(roleSite);
+        }
+        roleSiteClient.addRoleSite(roleSites);
         return AjaxResult.success();
     }
 
 
-
-
-
-
-
-
-
-
-
-
-    @Log(title = "角色管理", businessType = BusinessType.EXPORT)
-    @RequiresPermissions("system:role:export")
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, SysRole role)
-    {
-        List<SysRole> list = roleService.selectRoleList(role);
-        ExcelUtil<SysRole> util = new ExcelUtil<SysRole>(SysRole.class);
-        util.exportExcel(response, list, "角色数据");
-    }
-
-    /**
-     * 根据角色编号获取详细信息
-     */
-    @RequiresPermissions("system:role:query")
-    @GetMapping(value = "/{roleId}")
-    public AjaxResult getInfo(@PathVariable Long roleId)
-    {
-        roleService.checkRoleDataScope(roleId);
-        return success(roleService.selectRoleById(roleId));
-    }
-
-    /**
-     * 新增角色
-     */
-    @RequiresPermissions("system:role:add")
-    @Log(title = "角色管理", businessType = BusinessType.INSERT)
-    @PostMapping
-    public AjaxResult add(@Validated @RequestBody SysRole role)
-    {
-        if (!roleService.checkRoleNameUnique(role))
-        {
-            return error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
-        }
-        else if (!roleService.checkRoleKeyUnique(role))
-        {
-            return error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
-        }
-        role.setCreateBy(SecurityUtils.getUsername());
-        return toAjax(roleService.insertRole(role));
-
-    }
-
-    /**
-     * 修改保存角色
-     */
-    @RequiresPermissions("system:role:edit")
-    @Log(title = "角色管理", businessType = BusinessType.UPDATE)
-    @PutMapping
-    public AjaxResult edit(@Validated @RequestBody SysRole role)
-    {
-        roleService.checkRoleAllowed(role);
-        roleService.checkRoleDataScope(role.getRoleId());
-        if (!roleService.checkRoleNameUnique(role))
-        {
-            return error("修改角色'" + role.getRoleName() + "'失败,角色名称已存在");
-        }
-        else if (!roleService.checkRoleKeyUnique(role))
-        {
-            return error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在");
-        }
-        role.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(roleService.updateRole(role));
-    }
-
-    /**
-     * 修改保存数据权限
-     */
-    @RequiresPermissions("system:role:edit")
-    @Log(title = "角色管理", businessType = BusinessType.UPDATE)
-    @PutMapping("/dataScope")
-    public AjaxResult dataScope(@RequestBody SysRole role)
-    {
-        roleService.checkRoleAllowed(role);
-        roleService.checkRoleDataScope(role.getRoleId());
-        return toAjax(roleService.authDataScope(role));
-    }
-
-    /**
-     * 状态修改
-     */
-    @RequiresPermissions("system:role:edit")
-    @Log(title = "角色管理", businessType = BusinessType.UPDATE)
-    @PutMapping("/changeStatus")
-    public AjaxResult changeStatus(@RequestBody SysRole role)
-    {
-        roleService.checkRoleAllowed(role);
-        roleService.checkRoleDataScope(role.getRoleId());
-        role.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(roleService.updateRoleStatus(role));
-    }
 
     /**
      * 删除角色
@@ -383,39 +260,14 @@
     @RequiresPermissions("system:role:remove")
     @Log(title = "角色管理", businessType = BusinessType.DELETE)
     @DeleteMapping("/{roleIds}")
-    public AjaxResult remove(@PathVariable Long[] roleIds)
-    {
+    @ApiOperation(value = "删除角色", tags = {"管理后台-角色管理"})
+    public AjaxResult remove(@PathVariable Long[] roleIds) {
         return toAjax(roleService.deleteRoleByIds(roleIds));
     }
 
+    
 
 
-    /**
-     * 停用角色
-     */
-    @RequiresPermissions("system:role:stop")
-    @Log(title = "角色管理", businessType = BusinessType.STOP)
-    @PutMapping("/stop")
-    public AjaxResult stop(@RequestBody Long roleId)
-    {
-        SysRole sysRole = roleService.selectRoleById(roleId);
-        if(sysRole.getStatus().equals("0")){
-            sysRole.setStatus("1");
-        }else {
-            sysRole.setStatus("0");
-        }
-        return toAjax(roleService.updateRole(sysRole));
-    }
-
-    /**
-     * 获取角色选择框列表
-     */
-    @RequiresPermissions("system:role:query")
-    @GetMapping("/optionselect")
-    public AjaxResult optionselect()
-    {
-        return success(roleService.selectRoleAll());
-    }
     /**
      * 查询已分配用户角色列表
      */
@@ -440,39 +292,7 @@
         return getDataTable(list);
     }
 
-    /**
-     * 取消授权用户
-     */
-    @RequiresPermissions("system:role:edit")
-    @Log(title = "角色管理", businessType = BusinessType.GRANT)
-    @PutMapping("/authUser/cancel")
-    public AjaxResult cancelAuthUser(@RequestBody SysUserRole userRole)
-    {
-        return toAjax(roleService.deleteAuthUser(userRole));
-    }
-
-    /**
-     * 批量取消授权用户
-     */
-    @RequiresPermissions("system:role:edit")
-    @Log(title = "角色管理", businessType = BusinessType.GRANT)
-    @PutMapping("/authUser/cancelAll")
-    public AjaxResult cancelAuthUserAll(Long roleId, Long[] userIds)
-    {
-        return toAjax(roleService.deleteAuthUsers(roleId, userIds));
-    }
-
-    /**
-     * 批量选择用户授权
-     */
-    @RequiresPermissions("system:role:edit")
-    @Log(title = "角色管理", businessType = BusinessType.GRANT)
-    @PutMapping("/authUser/selectAll")
-    public AjaxResult selectAuthUserAll(Long roleId, Long[] userIds)
-    {
-        roleService.checkRoleDataScope(roleId);
-        return toAjax(roleService.insertAuthUsers(roleId, userIds));
-    }
+ 
 
     /**
      * 获取对应角色部门树列表

--
Gitblit v1.7.1