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");
}