排课模块前端优化

main
xuao 4 days ago
parent 6aca4d6e20
commit ea1a0df09a

@ -112,12 +112,9 @@ public class ClazzController extends BaseController {
}
@Operation(summary = "查询所有班级", description = "获取所有班级列表")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "查询成功")
})
@GetMapping("/list")
public TableDataInfo listTeachers( Clazz clazz) {
startPage();
// 创建查询条件
LambdaQueryWrapper<Clazz> wrapper = new LambdaQueryWrapper<>();
@ -144,7 +141,8 @@ public class ClazzController extends BaseController {
// 按创建时间倒序
wrapper.orderByDesc(Clazz::getCreateTime);
List<Clazz> list = clazzService.list();
startPage();
List<Clazz> list = clazzService.list(wrapper);
return getDataTable(list);
}

@ -84,8 +84,46 @@ public class CourseController extends BaseController {
@ApiOperation("查询所有课程")
@GetMapping("/list")
public TableDataInfo listCourse(Course course) {
// 创建查询条件
LambdaQueryWrapper<Course> wrapper = new LambdaQueryWrapper<>();
// 添加查询条件(非空判断)
if (StringUtils.hasText(course.getCourseCode())) {
wrapper.like(Course::getCourseCode, course.getCourseCode());
}
if (StringUtils.hasText(course.getCourseName())) {
wrapper.like(Course::getCourseName, course.getCourseName());
}
if (StringUtils.hasText(course.getCourseType())) {
wrapper.eq(Course::getCourseType, course.getCourseType());
}
if (StringUtils.hasText(course.getSubject())) {
wrapper.eq(Course::getSubject, course.getSubject());
}
if (StringUtils.hasText(course.getGradeLevel())) {
wrapper.eq(Course::getGradeLevel, course.getGradeLevel());
}
if (course.getPriority() != null) {
wrapper.eq(Course::getPriority, course.getPriority());
}
if (course.getCrossClass() != null) {
wrapper.eq(Course::getCrossClass, course.getCrossClass());
}
if (course.getStatus() != null) {
wrapper.eq(Course::getStatus, course.getStatus());
}
// 按创建时间倒序
wrapper.orderByDesc(Course::getCreateTime);
startPage();
List<Course> list = courseService.list();
List<Course> list = courseService.list(wrapper);
return getDataTable(list);
}

@ -7,11 +7,14 @@ import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.course.common.R;
import com.ruoyi.course.domain.Student;
import com.ruoyi.course.domain.dto.StudentQueryDTO;
import com.ruoyi.course.domain.vo.StudentQueryVO;
import com.ruoyi.course.enums.GradeEnum;
import com.ruoyi.course.service.IStudentService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
@ -30,6 +33,7 @@ import java.util.List;
@RestController
@RequestMapping("/course/student")
@Api(tags = "学生管理")
@Slf4j
public class StudentController extends BaseController {
@Autowired
@ -86,38 +90,40 @@ public class StudentController extends BaseController {
@ApiOperation("查询所有学生")
@GetMapping("/list")
public TableDataInfo listStudents(Student student) {
public TableDataInfo listStudents(StudentQueryDTO queryDTO) {
LambdaQueryWrapper<Student> wrapper = new LambdaQueryWrapper<>();
// 处理年级条件
try {
GradeEnum gradeEnum = queryDTO.getGradeEnum();
if (gradeEnum != null && gradeEnum != GradeEnum.ALL) {
wrapper.eq(Student::getGrade, gradeEnum);
}
} catch (IllegalArgumentException e) {
log.warn("年级参数转换失败: {}", queryDTO.getGrade());
}
// 其他条件
if (StringUtils.hasText(queryDTO.getStudentNo())) {
wrapper.like(Student::getStudentNo, queryDTO.getStudentNo());
}
if (StringUtils.hasText(queryDTO.getName())) {
wrapper.like(Student::getName, queryDTO.getName());
}
if (queryDTO.getClassId() != null) {
wrapper.eq(Student::getClassId, queryDTO.getClassId());
}
if (queryDTO.getStatus() != null) {
wrapper.eq(Student::getStatus, queryDTO.getStatus());
}
wrapper.orderByDesc(Student::getCreateTime);
startPage();
// // 创建查询条件
// LambdaQueryWrapper<Student> wrapper = new LambdaQueryWrapper<>();
//
// // 添加查询条件(非空判断)
// if (StringUtils.hasText(student.getStudentNo())) {
// wrapper.like(Student::getStudentNo, student.getStudentNo());
// }
//
// if (StringUtils.hasText(student.getName())) {
// wrapper.like(Student::getName, student.getName());
// }
//
// if (student.getClassId() != null) {
// wrapper.eq(Student::getClassId, student.getClassId());
// }
//
// if (StringUtils.hasText(String.valueOf(student.getGrade()))) {
// wrapper.eq(Student::getGrade, student.getGrade());
// }
//
// if (student.getStatus() != null) {
// wrapper.eq(Student::getStatus, student.getStatus());
// }
//
// // 按创建时间倒序
// wrapper.orderByDesc(Student::getCreateTime);
// List<Student> list = studentService.list(wrapper);
List<Student> list = studentService.list();
List<Student> list = studentService.list(wrapper);
return getDataTable(list);
}

@ -119,7 +119,7 @@ public class TeacherController extends BaseController {
})
@GetMapping("/list")
public TableDataInfo listTeachers(Teacher teacher) {
startPage();
// 创建查询条件
LambdaQueryWrapper<Teacher> wrapper = new LambdaQueryWrapper<>();
@ -151,6 +151,7 @@ public class TeacherController extends BaseController {
// 按创建时间倒序
wrapper.orderByDesc(Teacher::getCreateTime);
startPage();
List<Teacher> list = teacherService.list(wrapper);
return getDataTable(list);
}

@ -4,12 +4,12 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.course.enums.GradeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.ruoyi.course.enums.GradeEnum;
import java.io.Serializable;
import java.time.LocalDateTime;

@ -0,0 +1,60 @@
package com.ruoyi.course.domain.dto;
import com.ruoyi.course.enums.GradeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.util.StringUtils;
@Data
@ApiModel("学生查询DTO")
public class StudentQueryDTO {
@ApiModelProperty("学号")
private String studentNo;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("年级支持多种格式1、'高一'、'FRESHMAN'")
private String grade;
@ApiModelProperty("班级ID")
private Long classId;
@ApiModelProperty("状态")
private Integer status;
@ApiModelProperty("页码")
private Integer pageNum;
@ApiModelProperty("每页数量")
private Integer pageSize;
/**
* GradeEnum
*/
public GradeEnum getGradeEnum() {
if (!StringUtils.hasText(grade)) {
return null;
}
try {
// 尝试解析为数字
int code = Integer.parseInt(grade);
return GradeEnum.fromCode(code);
} catch (NumberFormatException e1) {
try {
// 尝试根据显示名称转换
return GradeEnum.fromDisplayName(grade);
} catch (IllegalArgumentException e2) {
try {
// 尝试根据枚举名称转换
return GradeEnum.valueOf(grade.toUpperCase());
} catch (IllegalArgumentException e3) {
throw new IllegalArgumentException("无效的年级格式: " + grade);
}
}
}
}
}

@ -1,12 +1,9 @@
package com.ruoyi.course.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.course.domain.Course;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* <p>
* Mapper
@ -18,20 +15,6 @@ import java.util.List;
@Mapper
public interface CourseMapper extends BaseMapper<Course> {
default List<Course> findByGradeLevel(String gradeLevel) {
LambdaQueryWrapper<Course> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Course::getGradeLevel, gradeLevel)
.eq(Course::getStatus, 1)
.orderByAsc(Course::getCourseName);
return selectList(wrapper);
}
default List<Course> findByType(String courseType) {
LambdaQueryWrapper<Course> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Course::getCourseType, courseType)
.eq(Course::getStatus, 1)
.orderByAsc(Course::getId);
return selectList(wrapper);
}
}

@ -1,12 +1,9 @@
package com.ruoyi.course.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.course.domain.Teacher;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* <p>
* Mapper
@ -18,34 +15,5 @@ import java.util.List;
@Mapper
public interface TeacherMapper extends BaseMapper<Teacher> {
default List<Teacher> findBySubject(String subject) {
LambdaQueryWrapper<Teacher> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Teacher::getSubject, subject)
.eq(Teacher::getStatus, 1)
.orderByAsc(Teacher::getTeacherNo);
return selectList(wrapper);
}
default List<Teacher> findByGradeLevel(String gradeLevel) {
LambdaQueryWrapper<Teacher> wrapper = new LambdaQueryWrapper<>();
wrapper
.eq(Teacher::getStatus, 1)
.orderByAsc(Teacher::getTeacherName);
return selectList(wrapper);
}
default Teacher findByTeacherNo(String teacherNo) {
LambdaQueryWrapper<Teacher> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Teacher::getTeacherNo, teacherNo)
.eq(Teacher::getStatus, 1);
return selectOne(wrapper);
}
default List<Teacher> findAll() {
LambdaQueryWrapper<Teacher> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Teacher::getStatus, 1)
.orderByAsc(Teacher::getId);
return selectList(wrapper);
}
}

Loading…
Cancel
Save