15-细粒度授权-我的课程细粒度授权-实现

3.3.2 Api

定义我的课程查询接口如下:

public QueryResponseResult<CourseInfo> findCourseList(int page,
													  int size,
													  CourseListRequest courseListRequest);

在这里插入图片描述

3.3.3 Dao

修改 CourseMapper.xml的查询课程列表,添加companyId条件。

<select id="findCourseListPage" resultType="com.xuecheng.framework.domain.course.ext.CourseInfo"
parameterType="com.xuecheng.framework.domain.course.request.CourseListRequest">
SELECT
course_base.*,
(SELECT pic FROM course_pic WHERE courseid = course_base.id) pic
FROM
course_base
where 1=1
<if test="companyId!=null and companyId!=''">
and course_base.company_id = #{companyId}
</if>
</select>

在这里插入图片描述

3.3.4 Service

修改CourseService的findCourseList方法,添加companyId参数,并且传给dao

public QueryResult<CourseInfo> findCourseList(String companyId,int page,int
size,CourseListRequest courseListRequest) {
if(courseListRequest == null){
courseListRequest = new CourseListRequest();
}
//企业id
courseListRequest.setCompanyId(companyId);
//将companyId传给dao
courseListRequest.setCompanyId(companyId);
if(page<=0){
page = 0;
}
if(size<=0){
size = 20;
}
PageHelper.startPage(page, size);
Page<CourseInfo> courseListPage = courseMapper.findCourseListPage(courseListRequest);
List<CourseInfo> list = courseListPage.getResult();
long total = courseListPage.getTotal();
QueryResult<CourseInfo> courseIncfoQueryResult = new QueryResult<CourseInfo>();
courseIncfoQueryResult.setList(list);
courseIncfoQueryResult.setTotal(total);
return courseIncfoQueryResult;
}

在这里插入图片描述

在这里插入图片描述

3.3.5 Controller

修改CourseController的findCourseList,向service传入companyId
这里先使用静态数据测试使用。

@Override
@GetMapping("/coursebase/list/{page}/{size}")
public QueryResult<CourseInfo> findCourseList(@PathVariable("page") int page,
@PathVariable("size") int size,
CourseListRequest courseListRequest) {
//先使用静态数据测试
String companyId = "1";
return courseService.findCourseList(companyId,page,size,courseListRequest);
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值