用户权限支持查看已很配领取的权限,答题试卷在创建的时候及有开始时间
This commit is contained in:
parent
e398d0c364
commit
231171b6c8
@ -12,6 +12,8 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 主体(用户或组织)的权限管理接口V2<br>
|
||||
*/
|
||||
@ -29,8 +31,22 @@ public class PermissionSubjectController {
|
||||
return this.subjectService.page(req);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户权限失效设置
|
||||
* @param subjectId
|
||||
*/
|
||||
@GetMapping(path = "/inValid/{subjectId}")
|
||||
public void statusForInValid(@PathVariable Long subjectId){
|
||||
this.subjectService.subjectAndDistributeStatusForInValid(subjectId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查看用户分发的下级所有用户权限
|
||||
* @param subjectId
|
||||
*/
|
||||
@GetMapping(path = "/distribute/{subjectId}")
|
||||
public List<PermissionSubjectVO> distributePermission(@PathVariable Long subjectId){
|
||||
List<PermissionSubjectVO> list = this.subjectService.findDistributePermission(subjectId);
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
package club.joylink.rtss.dao.permission;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import club.joylink.rtss.entity.permission.PermissionSubject;
|
||||
import club.joylink.rtss.entity.permission.PermissionSubjectExample;
|
||||
import club.joylink.rtss.vo.permission.subject.PermissionSubjectQueryVO;
|
||||
@ -9,14 +7,31 @@ import club.joylink.rtss.vo.permission.subject.PermissionSubjectVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
@Repository
|
||||
public interface PermissionSubjectDAO {
|
||||
|
||||
|
||||
@Select("<script>" +
|
||||
"select A.id,A.subject_type,A.subject_id, " +
|
||||
"(case when A.subject_type = 'user' then C.name when A.subject_type = 'org' then D.name end) as named," +
|
||||
"(case when A.subject_type = 'user' then C.nickname else '' end) as nick_name," +
|
||||
"B.name as permission_name,A.permission_id " +
|
||||
" from rts_permission_subject A left join rts_permission B on A.permission_id = B.id" +
|
||||
" left join sys_account C on A.subject_type = 'user' and A.subject_id = C.id " +
|
||||
" left join org D on A.subject_type = 'org' and A.subject_id = C.id " +
|
||||
" where 1 = 1 and A.parent_id in " +
|
||||
"<if test=\"idList != null and idList.size > 0\"> " +
|
||||
" <foreach collection=\"lable\" open=\"(\" close=\")\" item=\"d\" separator=\" , \"> "+
|
||||
" #{d}"+
|
||||
" </foreach>" +
|
||||
"</if> " +
|
||||
"order by id asc" +
|
||||
"</script>")
|
||||
List<PermissionSubjectVO> findDistributePermission(List<Long> idList);
|
||||
/* @Select("<script>" +
|
||||
"select t4.* from " +
|
||||
"(" +
|
||||
|
@ -80,6 +80,7 @@ public class PaperUserCreateService {
|
||||
paper.setPcId(pcId);
|
||||
paper.setOrgId(orgId);
|
||||
paper.setCreateTime(LocalDateTime.now());
|
||||
paper.setStartTime(LocalDateTime.now());
|
||||
paperUserDAO.insertSelective(paper);
|
||||
paper = paperUserService.findByUserIdAndPcId(user.getId(), pcId);
|
||||
//
|
||||
|
@ -39,7 +39,7 @@ public class PermissionSubjectService {
|
||||
public PageVO<PermissionSubjectVO> page(PermissionSubjectQueryVO queryVO){
|
||||
PageHelper.startPage(queryVO.getPageNum(),queryVO.getPageSize());
|
||||
Page<PermissionSubjectVO> page = (Page<PermissionSubjectVO>) this.subjectDAO.customerQuery(queryVO);
|
||||
List<Long> permissionList = page.getResult().stream().filter(Objects::nonNull).map(PermissionSubjectVO::getPermissionId).collect(Collectors.toList());
|
||||
List<Long> permissionList = page.getResult().stream().map(PermissionSubjectVO::getPermissionId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
List<PermissionSystemAbilityVO> abilityVOList = this.systemAbilityService.findSystemAbilityByPermissionId(permissionList);
|
||||
Map<Long,List<PermissionSystemAbilityVO>> permissionMapList = abilityVOList.stream().collect(Collectors.groupingBy(PermissionSystemAbilityVO::getPermissionId));
|
||||
for (PermissionSubjectVO subjectVO : page.getResult()) {
|
||||
@ -53,15 +53,15 @@ public class PermissionSubjectService {
|
||||
|
||||
public PermissionSubject findById(Long subjectId){
|
||||
PermissionSubject ps = this.subjectDAO.selectByPrimaryKey(subjectId);
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertTrue(Objects.nonNull(ps),"");
|
||||
BusinessExceptionAssertEnum.DATA_NOT_EXIST.assertTrue(Objects.nonNull(ps),"未找到对应的数据");
|
||||
return ps;
|
||||
}
|
||||
|
||||
|
||||
@Transactional
|
||||
public void subjectAndDistributeStatusForInValid(Long subjectId){
|
||||
List<PermissionSubject> allList = Lists.newArrayList();
|
||||
PermissionSubject ps = this.findById(subjectId);
|
||||
List<PermissionSubject> allList = Lists.newArrayList();
|
||||
allList.add(ps);
|
||||
if(Objects.equals(ps.getSubjectType(),PermissionSubjectTypeEnum.user.name())){
|
||||
this.circleFindChildSubject(allList, Arrays.asList(ps.getId()));
|
||||
@ -82,11 +82,27 @@ public class PermissionSubjectService {
|
||||
private void circleFindChildSubject(List<PermissionSubject> subjectList,List<Long> ids){
|
||||
PermissionSubjectExample example = new PermissionSubjectExample();
|
||||
example.createCriteria().andParentIdIn(ids);
|
||||
example.setOrderByClause(" id desc");
|
||||
List<PermissionSubject> list = this.subjectDAO.selectByExample(example);
|
||||
|
||||
if(!CollectionUtils.isEmpty(list)){
|
||||
subjectList.addAll(list);
|
||||
List<Long> childIdList = list.stream().map(PermissionSubject::getId).collect(Collectors.toList());
|
||||
this.circleFindChildSubject(subjectList,childIdList);
|
||||
}
|
||||
}
|
||||
|
||||
public List<PermissionSubjectVO> findDistributePermission(Long subjectId){
|
||||
PermissionSubject ps = this.findById(subjectId);
|
||||
List<PermissionSubjectVO> voList = Lists.newArrayList();
|
||||
this.distributePermission(voList,Arrays.asList(ps.getId()));
|
||||
return voList;
|
||||
}
|
||||
|
||||
private void distributePermission(List<PermissionSubjectVO> lists,List<Long> ids){
|
||||
List<PermissionSubjectVO> voList = this.subjectDAO.findDistributePermission(ids);
|
||||
if(!CollectionUtils.isEmpty(voList)){
|
||||
lists.addAll(voList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -28,6 +28,9 @@ public class PermissionSubjectVO {
|
||||
* 用户昵称
|
||||
*/
|
||||
private String nickName;
|
||||
/**
|
||||
* 重量权限数
|
||||
*/
|
||||
private Integer amount;
|
||||
/**
|
||||
* 主体对该权限的剩余数量
|
||||
|
Loading…
Reference in New Issue
Block a user