1.后台讲师管理模块

1.查询讲师表所有数据

@Autowired
    private EduTeacherService teacherService;

    @ApiOperation(value = "所有讲师列表")
    @GetMapping("findAll")
    public R findAllTeacher() {
        List<EduTeacher> list = teacherService.list(null);
        return R.ok().data("items", list);
    }

public interface EduTeacherService extends IService<EduTeacher> {

    Map<String, Object> getTeacherFrontList(Page<EduTeacher> pageTeacher);
}
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "EduTeacher对象", description = "讲师")
public class EduTeacher implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "讲师ID")
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;

    @ApiModelProperty(value = "讲师姓名")
    private String name;

    @ApiModelProperty(value = "讲师简介")
    private String intro;

    @ApiModelProperty(value = "讲师资历,一句话说明讲师")
    private String career;

    @ApiModelProperty(value = "头衔 1高级讲师 2首席讲师")
    private Integer level;

    @ApiModelProperty(value = "讲师头像")
    private String avatar;

    @ApiModelProperty(value = "排序")
    private Integer sort;

    @ApiModelProperty(value = "逻辑删除 1(true)已删除, 0(false)未删除")
    @TableLogic
    private Boolean isDeleted;

    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间")
    private Date gmtCreate;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "更新时间")
    private Date gmtModified;


}

2.逻辑删除讲师

@ApiOperation(value = "逻辑删除讲师")
@DeleteMapping("{id}")
public R deleteTeacher(@ApiParam(name = "id", value = "讲师id", required = true) @PathVariable String id) {
    boolean removeById = teacherService.removeById(id);
    if (removeById) {
        return R.ok();
    } else {
        return R.error();
    }
}

3.分页查询讲师

@ApiOperation(value = "分页查询讲师")
@GetMapping("pageTeacher/{current}/{limit}")
public R pageTeacher(@PathVariable Long current,
                     @PathVariable Long limit) {
    //创建page
    Page<EduTeacher> pageTeacher = new Page<>(current, limit);

    try {
        int i = 10 / 0;
    } catch (Exception e) {
        throw new GuliException(20001, "方法执行GuliException异常");
    }

    //调用方法,把所有数据封装到pageTeacher中
    teacherService.page(pageTeacher, null);

    long total = pageTeacher.getTotal();//获取总记录数
    List<EduTeacher> records = pageTeacher.getRecords();//获取分页后的list集合

    HashMap<String, Object> map = new HashMap<>();
    map.put("total", total);
    map.put("rows", records);
    return R.ok().data(map);
}

4.条件查询分页方法

@ApiOperation(value = "条件查询分页方法")
@PostMapping("pageTeacherCondition/{current}/{limit}")
public R pageTeacherCondition(@PathVariable Long current,
                              @PathVariable Long limit,
                              @RequestBody(required = false) TeachQuery teachQuery) {
    //创建page
    Page<EduTeacher> pageCondition = new Page<>(current, limit);

    //QueryWrapper,构建
    QueryWrapper<EduTeacher> wrapper = new QueryWrapper<>();
    //多条件组合查询,动态sql
    String name = teachQuery.getName();
    Integer level = teachQuery.getLevel();
    String begin = teachQuery.getBegin();
    String end = teachQuery.getEnd();
    //判断条件是否为空,拼接条件
    if (!StringUtils.isEmpty(level)) {
        wrapper.eq("level", level);
    }
    if (!StringUtils.isEmpty(name)) {
        wrapper.like("name", name);
    }
    if (!StringUtils.isEmpty(begin)) {
        wrapper.ge("gmt_create", begin);
    }
    if (!StringUtils.isEmpty(end)) {
        wrapper.le("gmt_create", end);
    }

    wrapper.orderByDesc("gmt_create");

    //调用方法,实现分页查询
    teacherService.page(pageCondition, wrapper);

    long total = pageCondition.getTotal();//获取总记录数
    List<EduTeacher> records = pageCondition.getRecords();//获取分页后的list集合
    HashMap<String, Object> map = new HashMap<>();
    map.put("total", total);
    map.put("rows", records);
    return R.ok().data(map);
}

@Data
public class TeachQuery {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "教师名称,模糊查询")
    private String name;

    @ApiModelProperty(value = "头衔 1高级讲师 2首席讲师")
    private Integer level;

    @ApiModelProperty(value = "查询开始时间", example = "2019-01-01 10:10:10")
    private String begin;//注意,这里使用的是String类型,前端传过来的数据无需进行类型转换

    @ApiModelProperty(value = "查询结束时间", example = "2019-12-01 10:10:10")
    private String end;
}

5.添加教师

@ApiOperation("添加教师")
@PostMapping("addTeacher")
public R addTeacher(@RequestBody EduTeacher eduTeacher) {
    boolean save = teacherService.save(eduTeacher);
    if (save) {
        return R.ok();
    } else
        return R.error();
}

6.根据ID查询教师

@ApiOperation("根据ID查询教师")
@GetMapping("getTeacher/{id}")
public R getTeacher(@PathVariable String id) {
    EduTeacher byId = teacherService.getById(id);
    return R.ok().data("teacher", byId);
}

7.修改教师

@ApiOperation("修改教师")
@PostMapping("updateTeacher")
public R updateTeacher(@RequestBody EduTeacher eduTeacher) {
    boolean b = teacherService.updateById(eduTeacher);
    if (b) {
        return R.ok();
    } else
        return R.error();
}

8.Login

@PostMapping("login")
public R login() {
    return R.ok().data("token", "admin");
}

9.info

@GetMapping("info")
public R info() {
    return R.ok().data("roles", "admin").data("avatar", "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif");
}

 

posted @ 2022-06-26 14:17  随遇而安==  阅读(36)  评论(0编辑  收藏  举报