Skip to content

Commit 97576d8

Browse files
committed
1.修改后端PC权限控制
1 parent c43037c commit 97576d8

File tree

16 files changed

+112
-23
lines changed

16 files changed

+112
-23
lines changed

interactive-class/class-system/src/main/java/com/code/classsystem/controller/ClassController.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.code.classsystem.entity.Class;
55
import com.code.classsystem.entity.User;
66
import com.code.classsystem.service.ClassService;
7+
import com.code.classsystem.vo.ClassSearchVo;
78
import com.code.classsystem.vo.ClassVo;
89
import com.code.core.entity.ResponseResult;
910
import com.code.core.util.ResponseResultUtil;
@@ -73,9 +74,10 @@ public ResponseResult deleteClass(@RequestParam("ids") List<String> ids) {
7374
@ApiOperation(value = "分页查询班级", notes = "分页查询班级")
7475
@GetMapping("/listPage")
7576
@RequiresRoles(value ={"teacher","admin"},logical = Logical.OR)
76-
public ResponseResult listPage(Class cla, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
77-
PageInfo<ClassVo> classVoPageInfo = classService.listPage(cla, pageNum, pageSize);
77+
public ResponseResult listPage(ClassSearchVo searchVo, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
78+
PageInfo<ClassVo> classVoPageInfo = classService.listPage(searchVo, pageNum, pageSize);
7879
return ResponseResultUtil.renderSuccess(classVoPageInfo);
7980
}
81+
8082
}
8183

interactive-class/class-system/src/main/java/com/code/classsystem/controller/ClassUserController.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.code.classsystem.vo.ClassStudentVo;
99
import com.code.core.entity.ResponseResult;
1010
import com.code.core.util.ResponseResultUtil;
11+
import com.code.core.util.StringUtils;
1112
import io.swagger.annotations.Api;
1213
import io.swagger.annotations.ApiOperation;
1314
import org.springframework.beans.factory.annotation.Autowired;
@@ -21,7 +22,7 @@
2122

2223
/**
2324
* <p>
24-
* 前端控制器
25+
* 前端控制器
2526
* </p>
2627
*
2728
* @author coder
@@ -33,18 +34,29 @@
3334
public class ClassUserController {
3435
@Autowired
3536
private ClassUserService classUserService;
37+
3638
@ApiOperation(value = "查看用户加入班级列表", notes = "查看用户加入班级列表")
3739
@GetMapping("/listClassByUserId")
3840
public ResponseResult listClassByUserId() {
3941
String userId = ShiroUtils.getUserId();
4042
List<Class> classList = classUserService.listClassByUserId(userId);
41-
return ResponseResultUtil.renderSuccess(classList,"查看用户加入班级列表成功!");
43+
return ResponseResultUtil.renderSuccess(classList, "查看用户加入班级列表成功!");
44+
}
45+
46+
@ApiOperation(value = "查看老师创建班级", notes = "查看老师创建班级")
47+
@GetMapping("/listTeacherClasses")
48+
public ResponseResult listTeacherClasses(String teacherId) {
49+
if(StringUtils.isNull(teacherId)){
50+
teacherId = ShiroUtils.getUserId();
51+
}
52+
List<Class> classList = classUserService.listTeacherClasses(teacherId);
53+
return ResponseResultUtil.renderSuccess(classList, "查看老师创建班级成功!");
4254
}
4355

4456
@ApiOperation(value = "加入班级", notes = "加入班级")
4557
@PostMapping("/joinClass")
4658
public ResponseResult joinClass(String classCode) {
47-
classUserService.joinClass(classCode);
59+
classUserService.joinClass(classCode);
4860
return ResponseResultUtil.renderSuccess("加入班级成功!");
4961
}
5062

@@ -55,10 +67,12 @@ public ResponseResult showClassUsers(String classId) {
5567
return ResponseResultUtil.renderSuccess(users,"创建班级成功!");
5668
}*/
5769

70+
71+
5872
@ApiOperation(value = "查看班级成员", notes = "查看班级成员")
5973
@PostMapping("/showClassUsers")
6074
public ResponseResult showClassUsers(ClassStudentVo classStudentVo) {
61-
List<ClassStudent> data=classUserService.queryStuStatus(classStudentVo);
75+
List<ClassStudent> data = classUserService.queryStuStatus(classStudentVo);
6276
return ResponseResultUtil.renderSuccess(data);
6377
}
6478
}

interactive-class/class-system/src/main/java/com/code/classsystem/dao/ClassUserMapper.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,6 @@ public interface ClassUserMapper extends BaseMapper<ClassUser> {
3535
* @return
3636
*/
3737
List<ClassStudent> queryStuStatus(ClassStudentVo classStudentVo);
38+
39+
List<Class> listTeacherClasses(String teacherId);
3840
}

interactive-class/class-system/src/main/java/com/code/classsystem/service/ClassService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.code.classsystem.entity.Class;
44
import com.baomidou.mybatisplus.service.IService;
5+
import com.code.classsystem.vo.ClassSearchVo;
56
import com.code.classsystem.vo.ClassVo;
67
import com.github.pagehelper.PageInfo;
78

@@ -35,5 +36,5 @@ public interface ClassService extends IService<Class> {
3536
*/
3637
Class getClassByClassNameAndCurId(String className);
3738

38-
PageInfo<ClassVo> listPage(Class cla, int pageNum, int pageSize);
39+
PageInfo<ClassVo> listPage(ClassSearchVo cla, int pageNum, int pageSize);
3940
}

interactive-class/class-system/src/main/java/com/code/classsystem/service/ClassUserService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,6 @@ public interface ClassUserService extends IService<ClassUser> {
2828
List<User> showClassUsers(String classId);
2929

3030
List<ClassStudent> queryStuStatus(ClassStudentVo classStudentVo);
31+
32+
List<Class> listTeacherClasses(String teacherId);
3133
}

interactive-class/class-system/src/main/java/com/code/classsystem/service/impl/ClassServiceImpl.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
import com.baomidou.mybatisplus.mapper.EntityWrapper;
44
import com.code.classsystem.entity.Class;
55
import com.code.classsystem.dao.ClassMapper;
6+
import com.code.classsystem.entity.User;
67
import com.code.classsystem.service.ClassService;
78
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
89
import com.code.classsystem.service.ClassUserService;
910
import com.code.classsystem.common.shiro.util.ShiroUtils;
11+
import com.code.classsystem.vo.ClassSearchVo;
1012
import com.code.classsystem.vo.ClassVo;
1113
import com.code.core.enums.ErrorEnum;
1214
import com.code.core.exception.BusinessException;
@@ -75,9 +77,21 @@ public Class getClassByClassNameAndCurId(String className) {
7577
}
7678

7779
@Override
78-
public PageInfo<ClassVo> listPage(Class cla, int pageNum, int pageSize) {
80+
public PageInfo<ClassVo> listPage(ClassSearchVo searchVo, int pageNum, int pageSize) {
81+
if(searchVo==null){
82+
searchVo=new ClassSearchVo();
83+
}
84+
User userEntity = ShiroUtils.getUserEntity();
85+
86+
Integer roleId = userEntity.getRoleId();
87+
if(roleId==1){
88+
throw new BusinessException(ErrorEnum.UNAUTHORIZED.setMsg("权限不够,禁止访问"));
89+
}else if(roleId==2){
90+
String userId = userEntity.getId();
91+
searchVo.setCreatorId(userId);
92+
}
7993
PageHelper.startPage(pageNum, pageSize);
80-
List<ClassVo> userInfoVos = classMapper.listPage(cla);
94+
List<ClassVo> userInfoVos = classMapper.listPage(searchVo);
8195
return new PageInfo<>(userInfoVos);
8296
}
8397

interactive-class/class-system/src/main/java/com/code/classsystem/service/impl/ClassUserServiceImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,9 @@ public List<ClassStudent> queryStuStatus(ClassStudentVo classStudentVo) {
8585
list=classUserMapper.queryStuStatus(classStudentVo);
8686
return list;
8787
}
88+
89+
@Override
90+
public List<Class> listTeacherClasses(String teacherId) {
91+
return classUserMapper.listTeacherClasses(teacherId);
92+
}
8893
}

interactive-class/class-system/src/main/java/com/code/classsystem/service/impl/CourseServiceImpl.java

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@
55
import com.code.classsystem.entity.Course;
66
import com.code.classsystem.dao.CourseMapper;
77
import com.code.classsystem.entity.CourseResource;
8+
import com.code.classsystem.entity.User;
89
import com.code.classsystem.service.ClassCourseService;
910
import com.code.classsystem.service.CourseResourceService;
1011
import com.code.classsystem.util.DateUtils;
11-
import com.code.classsystem.vo.CourseAndClass;
12+
import com.code.classsystem.vo.*;
1213
import com.code.classsystem.service.ClassService;
1314
import com.code.classsystem.service.CourseService;
1415
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
15-
import com.code.classsystem.vo.CourseInfoVo;
16-
import com.code.classsystem.vo.CourseVo;
17-
import com.code.classsystem.vo.TeacherCourseVo;
16+
import com.code.core.enums.ErrorEnum;
17+
import com.code.core.exception.BusinessException;
1818
import com.code.core.util.StringUtils;
1919
import com.code.core.util.UUIDUtil;
2020
import com.github.pagehelper.PageHelper;
@@ -83,9 +83,21 @@ public List<CourseAndClass> queryCourseInfo(String userId) {
8383
}
8484

8585
@Override
86-
public PageInfo<CourseInfoVo> listPage(Course course, int pageNum, int pageSize) {
86+
public PageInfo<CourseInfoVo> listPage(Course search, int pageNum, int pageSize) {
87+
if (search == null) {
88+
search = new Course();
89+
}
90+
User userEntity = ShiroUtils.getUserEntity();
91+
92+
Integer roleId = userEntity.getRoleId();
93+
if (roleId == 1) {
94+
throw new BusinessException(ErrorEnum.UNAUTHORIZED.setMsg("权限不够,禁止访问"));
95+
} else if (roleId == 2) {
96+
String userId = userEntity.getId();
97+
search.setCreatedUserId(userId);
98+
}
8799
PageHelper.startPage(pageNum, pageSize);
88-
List<CourseInfoVo> userInfoVos = courseMapper.listPage(course);
100+
List<CourseInfoVo> userInfoVos = courseMapper.listPage(search);
89101
return new PageInfo<>(userInfoVos);
90102
}
91103

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.code.classsystem.vo;
2+
3+
import com.code.classsystem.entity.Class;
4+
5+
public class ClassSearchVo extends Class {
6+
private String creatorId;
7+
8+
public String getCreatorId() {
9+
return creatorId;
10+
}
11+
12+
public void setCreatorId(String creatorId) {
13+
this.creatorId = creatorId;
14+
}
15+
}

interactive-class/class-system/src/main/resources/mapper/ClassMapper.xml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,22 @@
2929
</select>
3030

3131
<select id="getClassByClassNameAndCurId" resultMap="BaseResultMap" parameterType="string">
32-
select * from class cl
32+
select distinct * from class cl
3333
inner join class_user cu on cl.id = cu.class_id
3434
where cl.class_name = #{className} and cu.member_id = #{userId}
3535
</select>
3636

37-
<select id="listPage" resultMap="BaseResultMap" parameterType="com.code.classsystem.entity.Class">
38-
select cl.*,u.name as createUserName
37+
<select id="listPage" resultMap="BaseResultMap" parameterType="com.code.classsystem.vo.ClassSearchVo">
38+
select distinct cl.*,u.name as createUserName
3939
from class cl
40-
left join class_user cu on cl.id = cu.class_id
40+
left join class_user cu on cl.id = cu.class_id
4141
left join user u on u.id = cu.created_user_id
42+
<where>
43+
<if test="creatorId != null">
44+
cu.created_user_id = #{creatorId}
45+
</if>
46+
</where>
47+
order by cl.class_name
4248
</select>
4349

4450

0 commit comments

Comments
 (0)