Update TeacherController.java

main
pveayojnc 4 months ago
parent 8724505524
commit 224017a40e

@ -1,63 +1,112 @@
package com.zsz.controller;
// 导入 MyBatis-Plus 的分页插件中的 Page 类,用于实现分页功能
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
// 导入教师实体类,用于封装教师相关的数据
import com.zsz.pojo.Teacher;
// 导入教师服务类,用于调用与教师相关的业务逻辑
import com.zsz.service.TeacherService;
// 导入 MD5 加密工具类,用于对教师密码进行加密处理
import com.zsz.util.MD5;
// 导入自定义的结果类,用于封装接口返回的结果信息
import com.zsz.util.Result;
// 导入 Swagger 相关注解,用于生成接口文档
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
// 导入 Spring 框架的自动注入注解和 Web 相关注解
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* HTTP
*/
@Api("教师管理器")
// 标识该类为一个 RESTful 风格的控制器
@RestController
// 设置该控制器处理的请求路径前缀
@RequestMapping("/sms/teacherController")
public class TeacherController {
// 自动注入教师服务类的实例,以便在本控制器中调用教师相关的业务方法
@Autowired
TeacherService teacherService;
// http://localhost:8080/sms/teacherController/getTeachers/1/3?clazzName=&name=
/**
*
* http://localhost:8080/sms/teacherController/getTeachers/1/3?clazzName=&name=
* @param pageNo
* @param pageSize
* @param teacher
* @return
*/
@ApiOperation("根据分页条件获取教师信息")
// 处理 GET 请求,路径中包含页码和页大小的占位符
@GetMapping("/getTeachers/{pageNo}/{pageSize}")
public Result getTeachers(
// 从路径中获取分页查询的页码数,并使用 Swagger 注解描述该参数
@ApiParam("分页查询的页码数") @PathVariable("pageNo") Integer pageNo,
// 从路径中获取分页查询的页大小,并使用 Swagger 注解描述该参数
@ApiParam("分页查询的页大小") @PathVariable("pageSize") Integer pageSize,
// 从请求参数中获取教师信息对象,用于查询条件,并使用 Swagger 注解描述该参数
@ApiParam("分页查询的班级名称和教师名称") Teacher teacher
){
// 创建一个 Page 对象,用于封装分页信息,传入页码和页大小
Page<Teacher> teacherPage = new Page<>(pageNo, pageSize);
// 调用教师服务类的方法,传入分页对象和教师查询条件,获取分页的教师数据
Page<Teacher> teacherPage1 = teacherService.getTeacherData(teacherPage,teacher);
// 将获取到的分页教师数据封装到结果对象中,并返回给前端
return Result.ok(teacherPage1);
}
// http://localhost:8080/sms/teacherController/saveOrUpdateTeacher
/**
*
* http://localhost:8080/sms/teacherController/saveOrUpdateTeacher
* @param teacher
* @return
*/
@ApiOperation("新增或者更改教师信息")
// 处理 POST 请求,用于保存或更新教师信息
@PostMapping("/saveOrUpdateTeacher")
public Result saveOrUpdateTeacher(
// 从请求体中获取要提交的教师信息对象,并使用 Swagger 注解描述该参数
@ApiParam("要提交的教师信息") @RequestBody Teacher teacher
){
// 获取教师对象的 ID
Integer id = teacher.getId();
// 判断教师对象的 ID 是否为空或为 0如果是则表示是新增教师信息
if (null == id || 0 == id){
// 获取教师的密码
String password = teacher.getPassword();
// 使用 MD5 加密工具对教师密码进行加密
String encrypt = MD5.encrypt(password);
// 将加密后的密码设置回教师对象中
teacher.setPassword(encrypt);
}
// 调用教师服务类的 saveOrUpdate 方法,保存或更新教师信息
teacherService.saveOrUpdate(teacher);
// 将操作成功的信息封装到结果对象中,并返回给前端
return Result.ok();
}
// http://localhost:8080/sms/teacherController/deleteTeacher
/**
*
* http://localhost:8080/sms/teacherController/deleteTeacher
* @param ids ID
* @return
*/
@ApiOperation("删除单个或多个老师信息")
// 处理 DELETE 请求,用于删除教师信息
@DeleteMapping("/deleteTeacher")
public Result deleteTeacher(
@ApiParam("要删除的教师id列表") @RequestBody List<Integer> ids
// 从请求体中获取要删除的教师 ID 列表,并使用 Swagger 注解描述该参数
@ApiParam("要删除的教师 id 列表") @RequestBody List<Integer> ids
){
// 调用教师服务类的 removeByIds 方法,根据传入的教师 ID 列表删除教师信息
teacherService.removeByIds(ids);
// 将操作成功的信息封装到结果对象中,并返回给前端
return Result.ok();
}
}
}
Loading…
Cancel
Save