Browse Source

修改角色栏的配置

tall3
hyy-alt 4 years ago
parent
commit
2d0670f1f8
  1. 31
      common/src/main/java/com/ccsens/common/api/PluginController.java
  2. 16
      common/src/main/java/com/ccsens/common/api/RoleController.java
  3. 22
      common/src/main/java/com/ccsens/common/bean/dto/PluginDto.java
  4. 31
      common/src/main/java/com/ccsens/common/bean/vo/PluginVo.java
  5. 2
      common/src/main/java/com/ccsens/common/service/IProRoleService.java
  6. 66
      common/src/main/java/com/ccsens/common/service/ProRoleService.java

31
common/src/main/java/com/ccsens/common/api/PluginController.java

@ -1,31 +0,0 @@
package com.ccsens.common.api;
import com.ccsens.util.JsonResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
@Slf4j
@Api(tags = "插件相关", description = "")
@RestController
@RequestMapping("/plugins")
public class PluginController {
}

16
common/src/main/java/com/ccsens/common/api/RoleController.java

@ -36,7 +36,7 @@ public class RoleController {
@ApiOperation(value = "查询角色栏展示的角色",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/QueryShowRole", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
@RequestMapping(value = "/QueryRoleShow", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<RoleVo.QueryRole> queryByProjectVirtualRole(
@ApiParam @Validated @RequestBody QueryDto<RoleDto.QueryRole> params) throws Exception {
log.info("查询角色栏展示的角色:{}",params);
@ -45,4 +45,18 @@ public class RoleController {
log.info("查询角色栏展示的角色成功");
return JsonResponse.newInstance().ok(list);
}
@MustLogin
@ApiOperation(value = "配置角色栏展示的角色",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/UpdateRoleShow", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse updateShowRole(
@ApiParam @Validated @RequestBody QueryDto<RoleDto.UpdateRoleShow> params) throws Exception {
log.info("配置角色栏展示的角色:{}",params);
proRoleService.updateShowRole(params.getParam(),params.getUserId());
log.info("配置角色栏展示的角色成功");
return JsonResponse.newInstance().ok();
}
}

22
common/src/main/java/com/ccsens/common/bean/dto/PluginDto.java

@ -0,0 +1,22 @@
package com.ccsens.common.bean.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class PluginDto {
@Data
@ApiModel("根据插件id查询插件信息入参")
public static class QueryPlugins{
@NotNull(message = "项目id不能为空")
@ApiModelProperty("插件id")
private Long pluginId;
@ApiModelProperty("插件样式(样式类型 (1一行 2两行 3半屏))")
private byte styleType;
}
}

31
common/src/main/java/com/ccsens/common/bean/vo/PluginVo.java

@ -0,0 +1,31 @@
package com.ccsens.common.bean.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class PluginVo {
@Data
@ApiModel("根据插件id查询插件信息结果")
public static class QueryPlugins {
@ApiModelProperty("插件id")
private Long id;
@ApiModelProperty("插件名称")
private String name;
@ApiModelProperty("插件简介")
private String intro;
@ApiModelProperty(" 插件版本")
private String version;
@ApiModelProperty("样式类型 (1一行 2两行 3半屏)")
private byte styleType;
@ApiModelProperty("插件样式内容")
private String html;
@ApiModelProperty(" 插件的js功能")
private String js;
}
}

2
common/src/main/java/com/ccsens/common/service/IProRoleService.java

@ -6,4 +6,6 @@ import com.ccsens.common.bean.vo.RoleVo;
public interface IProRoleService {
RoleVo.QueryRole QueryShowRole(RoleDto.QueryRole param, Long userId);
void updateShowRole(RoleDto.UpdateRoleShow param, Long userId);
}

66
common/src/main/java/com/ccsens/common/service/ProRoleService.java

@ -1,5 +1,6 @@
package com.ccsens.common.service;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.common.bean.dto.RoleDto;
@ -8,7 +9,9 @@ import com.ccsens.common.bean.vo.RoleVo;
import com.ccsens.common.persist.dao.LabelDao;
import com.ccsens.common.persist.dao.ProRoleDao;
import com.ccsens.common.persist.mapper.*;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.WebConstant;
import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@ -17,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
@ -33,12 +37,15 @@ public class ProRoleService implements IProRoleService {
@Resource
private ProRoleRepulsionMapper proRoleRepulsionMapper;
@Resource
private ProRoleShowMapper ProRoleShowMapper;
private ProRoleShowMapper proRoleShowMapper;
@Resource
private LabelMapper labelMapper;
@Resource
private LabelDao labelDao;
@Resource
private Snowflake snowflake;
@Override
public RoleVo.QueryRole QueryShowRole(RoleDto.QueryRole param, Long userId) {
@ -72,25 +79,33 @@ public class ProRoleService implements IProRoleService {
Long roleId1 = 0L;
//List<Long> roleIds =null; //查询当前用户所属的角色
for (ProRoleMember proRoleMember : proRoleMembers) {
Long roleId = proRoleMember.getRoleId();//查询当前用户所属的角色
Long roleId = proRoleMember.getRoleId();//查询当前用户所属的角色 后端 前端
roleIds.add(roleId);
ProRoleRepulsionExample proRoleRepulsionExample = new ProRoleRepulsionExample();
proRoleRepulsionExample.createCriteria().andRoleIdEqualTo(roleId);
List<ProRoleRepulsion> proRoleRepulsions = proRoleRepulsionMapper.selectByExample(proRoleRepulsionExample);
for (ProRoleRepulsion proRoleRepulsion : proRoleRepulsions) {
roleId1 = proRoleRepulsion.getRoleId();//对自己不可见的角色
roleIds1.add(roleId1);
//判断对自己不可见的角色是不是我的角色
roleIds1.add(roleId1); //前端
}
}
//查询项目下的所有角色 去除不可见角色 通过项目id查找角色id
ProRoleExample proRoleExample = new ProRoleExample();
proRoleExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
proRoles = proRoleMapper.selectByExample(proRoleExample);
proRoles = proRoleMapper.selectByExample(proRoleExample); //前端 后端 UI
//在一个集合里面 去除另外一个集合 1 2 3 1 2
for (ProRole proRole : proRoles) {
for (int i = 0; i < roleIds1.size(); i++) {
if (proRole.getId().equals(roleIds1.get(i))) {
proRoles.remove(proRole);
if(roleIds1.size()> 0){ //不可见的角色大于0
for (int i = 0; i < roleIds1.size(); i++) {
int size = roleIds.size(); //当前用户只有一个角色
if(size == 1){
if (proRole.getId().equals(roleIds1.get(i))) {
proRoles.remove(proRole); //去除不可见角色
}
}else {
//不可见角色没有
}
}
}
}
@ -165,13 +180,13 @@ public class ProRoleService implements IProRoleService {
//根据项目id和userId查询当前用户配置的角色栏信息
ProRoleShowExample proRoleShowExample = new ProRoleShowExample();
proRoleShowExample.createCriteria().andProjectIdEqualTo(param.getProjectId()).andUserIdEqualTo(userId);
List<ProRoleShow> proRoleShows = ProRoleShowMapper.selectByExample(proRoleShowExample);
List<ProRoleShow> proRoleShows = proRoleShowMapper.selectByExample(proRoleShowExample);
//循环所有的角色,判断是否在配置信息内 将角色信息放入“显示角色”的数组内 将角色放入“隐藏角色"数组
if (ObjectUtil.isNotNull(proRoleShows)) {
for (int i = 0; i < proRoles1.size(); i++) {
ProRoleShowExample proRoleShowExample1 = new ProRoleShowExample();
proRoleShowExample.createCriteria().andRoleIdEqualTo(proRoles1.get(i).getId());
List<ProRoleShow> proRoleShows1 = ProRoleShowMapper.selectByExample(proRoleShowExample1);
List<ProRoleShow> proRoleShows1 = proRoleShowMapper.selectByExample(proRoleShowExample1);
if (ObjectUtil.isNotNull(proRoleShows1)) {
//配置过了 将角色信总放入“显示角色"的数组内
RoleInfo.setId(proRoles1.get(i).getId());
@ -280,4 +295,37 @@ public class ProRoleService implements IProRoleService {
role.setVisibleList(visibleList);
return role;
}
@Override
public void updateShowRole(RoleDto.UpdateRoleShow param, Long userId) {
//判断入参内的角色判断入参内的角色id列表是否为空
if(ObjectUtil.isNull(param.getRoleIds())){
throw new BaseException(CodeEnum.NOT_ROLE);
}
//根据token获取到userld和项目id在角色展示表中查看是否有原来的数据
ProRoleShowExample proRoleShowExample = new ProRoleShowExample();
proRoleShowExample.createCriteria().andUserIdEqualTo(userId).andProjectIdEqualTo(param.getProjectId());
List<ProRoleShow> proRoleShows = proRoleShowMapper.selectByExample(proRoleShowExample);
if(ObjectUtil.isNotNull(proRoleShows)){
for (ProRoleShow proRoleShow : proRoleShows) {
proRoleShow.setRecStatus((byte) 2);
proRoleShowMapper.updateByPrimaryKeySelective(proRoleShow);
}
}
List<Long> roleIds = param.getRoleIds(); //roleid
//去重重复的
List roleIdsList=(List) roleIds.stream().distinct().collect(Collectors.toList());
for (int i = 0; i < roleIdsList.size(); i++) {
ProRoleShow proRoleShow = new ProRoleShow();
proRoleShow.setId(snowflake.nextId());
proRoleShow.setUserId(userId);
proRoleShow.setProjectId(param.getProjectId());
proRoleShow.setRoleId((long)roleIdsList.get(i));
proRoleShow.setOperator(userId);
proRoleShow.setSequence(i);
proRoleShowMapper.insertSelective(proRoleShow);
}
}
}

Loading…
Cancel
Save