xiejun
2023-12-01 93c7226d536d312fc083a57619629192ba076413
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/controller/RoleController.java
@@ -17,8 +17,10 @@
package com.vci.ubcs.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.vci.ubcs.system.cache.NacosConfigCache;
import com.vci.ubcs.system.cache.SysCache;
import com.vci.ubcs.system.entity.Role;
import com.vci.ubcs.system.service.IRoleService;
@@ -32,6 +34,7 @@
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
@@ -43,6 +46,9 @@
import javax.validation.Valid;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
@@ -60,6 +66,7 @@
public class RoleController extends BladeController {
   private final IRoleService roleService;
   private final NacosConfigCache nacosConfigCache;
   /**
    * 详情
@@ -73,19 +80,20 @@
   }
   /**
    * 列表
    * 分页列表
    */
   @GetMapping("/list")
   @GetMapping("/page")
   @ApiImplicitParams({
      @ApiImplicitParam(name = "roleName", value = "参数名称", paramType = "query", dataType = "string"),
      @ApiImplicitParam(name = "roleAlias", value = "角色别名", paramType = "query", dataType = "string")
   })
   @ApiOperationSupport(order = 2)
   @ApiOperation(value = "列表", notes = "传入role")
   public R<List<RoleVO>> list(@ApiIgnore @RequestParam Map<String, Object> role, BladeUser bladeUser) {
   public R<IPage<RoleVO>> list(@ApiIgnore @RequestParam Map<String, Object> role, BladeUser bladeUser, Query query) {
      QueryWrapper<Role> queryWrapper = Condition.getQueryWrapper(role, Role.class);
      List<Role> list = roleService.list((!bladeUser.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID)) ? queryWrapper.lambda().eq(Role::getTenantId, bladeUser.getTenantId()) : queryWrapper);
      return R.data(RoleWrapper.build().listNodeVO(list));
      IPage<Role> page = roleService.page(Condition.getPage(query),
         (!bladeUser.getTenantId().equals(nacosConfigCache.getAdminUserInfo().getTenantId())) ? queryWrapper.lambda().eq(Role::getTenantId, bladeUser.getTenantId()) : queryWrapper);
      return R.data(RoleWrapper.build().pageNodeVO(page));
   }
   /**
@@ -123,7 +131,6 @@
      return R.status(roleService.submit(role));
   }
   /**
    * 删除
    */
@@ -145,7 +152,16 @@
   public R grant(@RequestBody GrantVO grantVO) {
      CacheUtil.clear(SYS_CACHE);
      CacheUtil.clear(SYS_CACHE, Boolean.FALSE);
      boolean temp = roleService.grant(grantVO.getRoleIds(), grantVO.getMenuIds(), grantVO.getDataScopeIds(), grantVO.getApiScopeIds());
      boolean temp = false;
      try {
         temp = roleService.grant(grantVO.getRoleIds(), grantVO.getMenuIds(), grantVO.getDataScopeIds(), grantVO.getApiScopeIds());
         // 插入授权日志
         roleService.grantLog(roleService.getGrantRoleResString(grantVO.getRoleIds()),false);
      }catch (Exception e){
         // 失败时插入异常信息到日志中
         roleService.grantLog(e.getMessage(),true);
         throw e;
      }
      return R.status(temp);
   }