名师列表和详情接口

1、 名师的列表接口(分页的列表查询)

在service_edu模块com/atguigu/eduservice/api目录下创建TeacherApiController实现前台讲师展示功能。

java 复制代码
package com.atguigu.eduservice.api;
import com.atguigu.commonutils.R;
import com.atguigu.eduservice.entity.EduCourse;
import com.atguigu.eduservice.entity.EduTeacher;
import com.atguigu.eduservice.service.EduCourseService;
import com.atguigu.eduservice.service.EduTeacherService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Api(description="前台讲师展示")
@RestController
@RequestMapping("/eduservice/teacherapi")
@CrossOrigin
public class TeacherApiController {

    @Autowired
    private EduTeacherService teacherService;

    @Autowired
    private EduCourseService courseService;

    @ApiOperation(value = "前台讲师分页查询")
    @GetMapping("getFrontTeacherList/{current}/{limit}")
    public R getFrontTeacherList(@PathVariable Long current, @PathVariable Long limit){
        Page<EduTeacher> pageParam = new Page<>(current,limit);
        QueryWrapper<EduTeacher> wrapper = new QueryWrapper<>();
        wrapper.orderByDesc("gmt_create");
        teacherService.page(pageParam,wrapper);
        List<EduTeacher> records = pageParam.getRecords();
        long currentPage = pageParam.getCurrent();
        long pages = pageParam.getPages();
        long size = pageParam.getSize();
        long total = pageParam.getTotal();
        boolean hasNext = pageParam.hasNext();
        boolean hasPrevious = pageParam.hasPrevious();
        //把分页数据存入map
        Map<String,Object> map = new HashMap<>();
        map.put("items", records);
        map.put("current", currentPage);
        map.put("pages", pages);
        map.put("size", size);
        map.put("total", total);
        map.put("hasNext", hasNext);
        map.put("hasPrevious", hasPrevious);

        return R.ok().data(map);
    }

}

2、根据id查询讲师详情方法实现

在com/atguigu/eduservice/api目录下TeacherApiController中创建根据id查询讲师详情的方法。

java 复制代码
@ApiOperation(value = "根据id查询讲师详情")
@GetMapping("getTeacherInfo/{id}")
public R getTeacherInfo(@PathVariable String id){
    //1 查询讲师基本信息
    EduTeacher eduTeacher = teacherService.getById(id);
    //2 讲师所讲课程信息
    QueryWrapper<EduCourse> wrapper = new QueryWrapper<>();
    wrapper.eq("teacher_id",id);
    List<EduCourse> courseList = courseService.list(wrapper);
    return R.ok().data("eduTeacher",eduTeacher).data("courseList",courseList);
}
相关推荐
ydyd202604212 分钟前
设备OEE怎么提升?数据采集+分析优化的完整方案
java·服务器·前端
(╹◡╹)22 分钟前
11.RK3588本地大模型内存评估优化
java·linux·前端
Zane199431 分钟前
钻石继承调用哪个方法?一文讲透 MRO 与 C3 线性化算法
后端·python
码事漫谈33 分钟前
国产替代的硬核样本:金仓数据库如何撑起固井软件的数据底座
后端
ITKEY_38 分钟前
neovim基于nvim-jdtls 开发java报错
java·开发语言
leon8740 分钟前
MyBatis-Plus与AOP实现动态数据权限过滤的实践与踩坑记录
java
电气研究所40 分钟前
Java + Redis 实现工业设备告警去抖,避免变频器故障重复推送
java·前端
無限進步D41 分钟前
Java 代码块
java·开发语言
用户3126874877201 小时前
@Async 加了没生效?Spring Boot 异步编程全链路拆解:从线程池到自调用陷阱
java·spring boot
老孙讲技术1 小时前
【4G IPC 上云】临时点位怎么免布线上云?listDeviceDetailsByPage + 辅码流预览|智慧工地实战
后端·物联网