|
|
|
@ -7,70 +7,94 @@ import com.zsz.util.Result;
|
|
|
|
|
import io.swagger.annotations.Api;
|
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
|
|
import io.swagger.models.auth.In;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
@Api("年级控制器")
|
|
|
|
|
@RestController
|
|
|
|
|
@RequestMapping("/sms/gradeController")
|
|
|
|
|
/**
|
|
|
|
|
* 年级管理控制器
|
|
|
|
|
* 功能:提供年级信息的增删改查RESTful接口
|
|
|
|
|
* 路径:所有接口以/sms/gradeController为前缀
|
|
|
|
|
*/
|
|
|
|
|
@Api(tags = "年级管理", value = "提供年级信息的CRUD操作接口") // Swagger接口文档分组说明
|
|
|
|
|
@RestController // 标识为Spring MVC控制器,返回值自动转为JSON
|
|
|
|
|
@RequestMapping("/sms/gradeController") // 控制器基础路径
|
|
|
|
|
public class GradeController {
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
GradeService gradeService;
|
|
|
|
|
@Autowired // 自动注入年级服务层实现
|
|
|
|
|
private GradeService gradeService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取全部年级列表(不分页)
|
|
|
|
|
* 接口路径:GET /sms/gradeController/getGrades
|
|
|
|
|
* @return 包含所有年级信息的统一响应体
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation(value = "获取全部年级列表", notes = "返回所有年级的完整列表")
|
|
|
|
|
@GetMapping("/getGrades")
|
|
|
|
|
public Result getGrades() {
|
|
|
|
|
List<Grade> grades = gradeService.getGrades();
|
|
|
|
|
return Result.ok(grades);
|
|
|
|
|
return Result.ok(grades); // 使用统一响应封装
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//请求路径 /sms/gradeController/getGrades/1/3?gradeName=
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 年级管理页面分页展示数据,查询以及重置方法
|
|
|
|
|
* @param pageNo
|
|
|
|
|
* @param pageSize
|
|
|
|
|
* @param gradeName
|
|
|
|
|
* @return
|
|
|
|
|
* 分页条件查询年级信息
|
|
|
|
|
* 接口路径:GET /sms/gradeController/getGrades/1/3?gradeName=高一
|
|
|
|
|
* @param pageNo 当前页码(路径参数)
|
|
|
|
|
* @param pageSize 每页记录数(路径参数)
|
|
|
|
|
* @param gradeName 年级名称模糊查询条件(可选参数)
|
|
|
|
|
* @return 分页结果统一响应体
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation("根据年级名称模糊查询,带分页")
|
|
|
|
|
@ApiOperation(value = "分页条件查询年级", notes = "支持按年级名称模糊查询")
|
|
|
|
|
@GetMapping("/getGrades/{pageNo}/{pageSize}")
|
|
|
|
|
public Result getGrades(@ApiParam("分页查询的页码数") @PathVariable("pageNo") Integer pageNo,
|
|
|
|
|
@ApiParam("分页查询的页大小") @PathVariable("pageSize") Integer pageSize,
|
|
|
|
|
@ApiParam("分页查询模糊匹配的名称") String gradeName){
|
|
|
|
|
public Result getGrades(
|
|
|
|
|
@ApiParam(value = "页码", example = "1", required = true)
|
|
|
|
|
@PathVariable("pageNo") Integer pageNo,
|
|
|
|
|
|
|
|
|
|
//设置分页信息
|
|
|
|
|
Page<Grade> gradePage = new Page<>(pageNo, pageSize);
|
|
|
|
|
//执行服务层方法,查询出数据
|
|
|
|
|
Page<Grade> page = gradeService.getGradesData(gradePage,gradeName);
|
|
|
|
|
@ApiParam(value = "每页数量", example = "10", required = true)
|
|
|
|
|
@PathVariable("pageSize") Integer pageSize,
|
|
|
|
|
|
|
|
|
|
return Result.ok(page);
|
|
|
|
|
}
|
|
|
|
|
@ApiParam(value = "年级名称", example = "高一")
|
|
|
|
|
@RequestParam(required = false) String gradeName) {
|
|
|
|
|
|
|
|
|
|
// 初始化分页参数
|
|
|
|
|
Page<Grade> page = new Page<>(pageNo, pageSize);
|
|
|
|
|
// 调用服务层获取分页数据
|
|
|
|
|
Page<Grade> resultPage = gradeService.getGradesData(page, gradeName);
|
|
|
|
|
return Result.ok(resultPage);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 年级修改和添加方法
|
|
|
|
|
* @param grade
|
|
|
|
|
* @return
|
|
|
|
|
* 新增或修改年级信息
|
|
|
|
|
* 接口路径:POST /sms/gradeController/saveOrUpdateGrade
|
|
|
|
|
* @param grade 年级实体(JSON格式请求体)
|
|
|
|
|
* @return 操作结果统一响应
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation("新增或修改grade,有id属性是修改,没有则是增加")
|
|
|
|
|
@ApiOperation(value = "保存年级信息", notes = "有ID则修改,无ID则新增")
|
|
|
|
|
@PostMapping("/saveOrUpdateGrade")
|
|
|
|
|
public Result saveOrUpdateGrade(@ApiParam("Json格式的Grade对象") @RequestBody Grade grade){
|
|
|
|
|
gradeService.saveOrUpdate(grade);
|
|
|
|
|
public Result saveOrUpdateGrade(
|
|
|
|
|
@ApiParam(value = "年级JSON数据", required = true)
|
|
|
|
|
@RequestBody Grade grade) {
|
|
|
|
|
|
|
|
|
|
// 保存或更新数据(根据ID自动判断)
|
|
|
|
|
gradeService.saveOrUpdate(grade);
|
|
|
|
|
return Result.ok();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ApiOperation("删除Grade信息")
|
|
|
|
|
/**
|
|
|
|
|
* 批量删除年级信息
|
|
|
|
|
* 接口路径:DELETE /sms/gradeController/deleteGrade
|
|
|
|
|
* @param ids 要删除的ID集合(JSON数组格式)
|
|
|
|
|
* @return 操作结果统一响应
|
|
|
|
|
*/
|
|
|
|
|
@ApiOperation(value = "批量删除年级", notes = "支持同时删除多个年级")
|
|
|
|
|
@DeleteMapping("/deleteGrade")
|
|
|
|
|
public Result deleteGrade(@ApiParam("要删除的所有的grade的id的Json集合") @RequestBody List<Integer> id){
|
|
|
|
|
public Result deleteGrade(
|
|
|
|
|
@ApiParam(value = "年级ID数组", example = "[1,2,3]", required = true)
|
|
|
|
|
@RequestBody List<Integer> ids) {
|
|
|
|
|
|
|
|
|
|
gradeService.removeByIds(id);
|
|
|
|
|
// 批量删除操作
|
|
|
|
|
gradeService.removeByIds(ids);
|
|
|
|
|
return Result.ok();
|
|
|
|
|
}
|
|
|
|
|
}
|