Browse Source

增加角色管理:修改对谁不可见接口

recovery
ma 4 years ago
parent
commit
aa3f854b07
  1. 9
      tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java
  2. 7
      tall/src/main/java/com/ccsens/tall/service/IProRoleService.java
  3. 41
      tall/src/main/java/com/ccsens/tall/service/ProRoleService.java
  4. 9
      tall/src/main/java/com/ccsens/tall/web/RoleController.java

9
tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java

@ -105,4 +105,13 @@ public class RoleDto {
@ApiModelProperty("角色id")
private Long roleId;
}
@Data
@ApiModel("对谁不可见")
public static class RoleOfNoLook {
@ApiModelProperty("角色id")
private Long roleId;
@ApiModelProperty("不可见角色id(数组)")
private List<Long> noRoleId;
}
}

7
tall/src/main/java/com/ccsens/tall/service/IProRoleService.java

@ -79,4 +79,11 @@ public interface IProRoleService {
void queryRoleIsShows(QueryDto<RoleDto.QueryRoleIsShows> param);
void upRoleShowsOrder(QueryDto<RoleDto.UpRoleShowsOrder> param);
/**
* 角色管理:修改对谁不可见
* @param param 参数
* @param userId 当前用户id
*/
void upRoleWhoNoLook(RoleDto.RoleOfNoLook param, Long userId);
}

41
tall/src/main/java/com/ccsens/tall/service/ProRoleService.java

@ -1135,4 +1135,45 @@ public class ProRoleService implements IProRoleService {
}
return memberId;
}
/**
* 修改对谁不可见
* @param param 参数
* @param userId 当前用户id
*/
@Override
public void upRoleWhoNoLook(RoleDto.RoleOfNoLook param, Long userId) {
ProRole proRole = proRoleDao.selectByPrimaryKey(param.getRoleId());
if (ObjectUtil.isNotNull(proRole)){
//用户在项目中的最高权限
int power = selectPowerByRoleName(userId, proRole.getProjectId());
if (2 < power){
//删除之前的记录
ProRoleExcludeExample excludeExample = new ProRoleExcludeExample();
excludeExample.createCriteria().andRoleIdEqualTo(param.getRoleId()).andRecStatusEqualTo((byte)0);
List<ProRoleExclude> proRoleExcludes = proRoleExcludeMapper.selectByExample(excludeExample);
if (CollectionUtil.isNotEmpty(proRoleExcludes)){
for (ProRoleExclude proRoleExclude : proRoleExcludes) {
ProRoleExclude oldExclude = new ProRoleExclude();
oldExclude.setId(proRoleExclude.getId());
oldExclude.setRecStatus((byte)2);
proRoleExcludeMapper.updateByExampleSelective(oldExclude,excludeExample);
}
}
//添加新数据
for (Long noRoleId : param.getNoRoleId()) {
ProRoleExclude roleExclude = new ProRoleExclude();
roleExclude.setId(snowflake.nextId());
roleExclude.setRoleId(param.getRoleId());
roleExclude.setOtherRoleId(noRoleId);
proRoleExcludeMapper.insertSelective(roleExclude);
}
}else{
throw new BaseException(CodeEnum.NOT_POWER);
}
}
}
}

9
tall/src/main/java/com/ccsens/tall/web/RoleController.java

@ -163,4 +163,13 @@ public class RoleController {
List<ProjectVo.RoleInfo> roleInfoList = proRoleService.getRolesByProjectIdAndUserId(projectId, currentUserId,imitation,queryType);
return JsonResponse.newInstance().ok(roleInfoList);
}
@MustLoginTall
@ApiOperation(value = "角色管理:修改对谁不可见",notes = "")
@RequestMapping(value = "/upRoleWhoNoLook", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse upRoleWhoNoLook(@ApiParam @Validated @RequestBody QueryDto<RoleDto.RoleOfNoLook> params){
log.info("传入参数:{}", params);
proRoleService.upRoleWhoNoLook(params.getParam(),params.getUserId());
return JsonResponse.newInstance().ok();
}
}

Loading…
Cancel
Save