diff --git a/course/src/com/ruoyi/course/controller/ClassroomController.java b/course/src/com/ruoyi/course/controller/ClassroomController.java
index 26ec873b..3407302a 100644
--- a/course/src/com/ruoyi/course/controller/ClassroomController.java
+++ b/course/src/com/ruoyi/course/controller/ClassroomController.java
@@ -3,6 +3,8 @@ package com.ruoyi.course.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.Classroom;
import com.ruoyi.course.domain.vo.ClassroomQueryVO;
@@ -33,7 +35,7 @@ import java.util.Map;
@RequestMapping("/course/classroom")
@Tag(name = "教室管理", description = "教室相关的CRUD操作和分配管理")
@Slf4j
-public class ClassroomController {
+public class ClassroomController extends BaseController {
@Autowired
private IClassroomService classroomService;
@@ -124,9 +126,10 @@ public class ClassroomController {
@ApiResponse(responseCode = "200", description = "查询成功")
})
@GetMapping("/list")
- public R> listClassrooms() {
+ public TableDataInfo listTeachers() {
+ startPage();
List list = classroomService.list();
- return R.ok(list, "查询成功");
+ return getDataTable(list);
}
@Operation(summary = "分页查询教室列表", description = "根据条件分页查询教室列表")
diff --git a/course/src/com/ruoyi/course/controller/ClazzController.java b/course/src/com/ruoyi/course/controller/ClazzController.java
index 298da23d..6beba97b 100644
--- a/course/src/com/ruoyi/course/controller/ClazzController.java
+++ b/course/src/com/ruoyi/course/controller/ClazzController.java
@@ -3,15 +3,17 @@ package com.ruoyi.course.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.Clazz;
+import com.ruoyi.course.domain.vo.ClassQueryVO;
+import com.ruoyi.course.service.IClazzService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
-import com.ruoyi.course.common.R;
-import com.ruoyi.course.domain.Clazz;
-import com.ruoyi.course.domain.vo.ClassQueryVO;
-import com.ruoyi.course.service.IClazzService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
@@ -27,10 +29,10 @@ import java.util.List;
@RestController
@RequestMapping("/course/clazz")
@Tag(name = "班级管理", description = "班级相关的CRUD操作")
-public class ClazzController {
+public class ClazzController extends BaseController {
@Autowired
- private IClazzService classService;
+ private IClazzService clazzService;
@Operation(summary = "新增班级", description = "创建一个新的班级")
@ApiResponses(value = {
@@ -39,7 +41,7 @@ public class ClazzController {
})
@PostMapping("/add")
public R addClass(@RequestBody Clazz clazz) {
- boolean success = classService.save(clazz);
+ boolean success = clazzService.save(clazz);
return success ? R.ok(true, "新增成功") : R.error("新增失败");
}
@@ -53,7 +55,7 @@ public class ClazzController {
public R deleteClass(
@Parameter(description = "班级ID", required = true, example = "1")
@PathVariable Long id) {
- boolean success = classService.removeById(id);
+ boolean success = clazzService.removeById(id);
return success ? R.ok(true, "删除成功") : R.error("删除失败");
}
@@ -69,7 +71,7 @@ public class ClazzController {
return R.paramError("请选择要删除的数据");
}
- boolean success = classService.removeByIds(ids);
+ boolean success = clazzService.removeByIds(ids);
return success ? R.ok(true, "批量删除成功") : R.error("批量删除失败");
}
@@ -89,7 +91,7 @@ public class ClazzController {
// 设置更新时间
clazz.setUpdateTime(LocalDateTime.now());
- boolean success = classService.updateById(clazz);
+ boolean success = clazzService.updateById(clazz);
return success ? R.ok(true, "修改成功") : R.error("修改失败");
}
@@ -102,7 +104,7 @@ public class ClazzController {
public R getClassById(
@Parameter(description = "班级ID", required = true, example = "1")
@PathVariable Long id) {
- Clazz clazz = classService.getById(id);
+ Clazz clazz = clazzService.getById(id);
if (clazz == null) {
return R.notFound("班级不存在");
}
@@ -114,9 +116,10 @@ public class ClazzController {
@ApiResponse(responseCode = "200", description = "查询成功")
})
@GetMapping("/list")
- public R> listClasses() {
- List list = classService.list();
- return R.ok(list, "查询成功");
+ public TableDataInfo listTeachers() {
+ startPage();`
+ List list = clazzService.list();
+ return getDataTable(list);
}
@Operation(summary = "分页查询班级列表", description = "根据条件分页查询班级列表")
@@ -156,7 +159,7 @@ public class ClazzController {
wrapper.orderByDesc(Clazz::getCreateTime);
// 执行分页查询
- IPage result = classService.page(page, wrapper);
+ IPage result = clazzService.page(page, wrapper);
return R.ok(result, "查询成功");
}
@@ -175,47 +178,14 @@ public class ClazzController {
Page page = new Page<>(pageNum, pageSize);
- IPage result = classService.page(page);
+ IPage result = clazzService.page(page);
return R.ok(result, "查询成功");
}
- @Operation(summary = "根据状态查询班级", description = "根据班级状态查询班级列表")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "查询成功"),
- @ApiResponse(responseCode = "400", description = "参数错误")
- })
- @GetMapping("/listByStatus/{status}")
- public R> listByStatus(
- @Parameter(description = "班级状态", required = true, example = "1")
- @PathVariable Integer status) {
- LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Clazz::getStatus, status);
- wrapper.orderByDesc(Clazz::getCreateTime);
- List list = classService.list(wrapper);
- return R.ok(list, "查询成功");
- }
-
- @Operation(summary = "根据年级和状态查询", description = "根据年级和班级状态查询班级列表")
- @ApiResponses(value = {
- @ApiResponse(responseCode = "200", description = "查询成功")
- })
- @GetMapping("/listByGradeAndStatus")
- public R> listByGradeAndStatus(
- @Parameter(description = "年级", required = true, example = "2023级")
- @RequestParam String grade,
- @Parameter(description = "状态", required = true, example = "1")
- @RequestParam Integer status) {
- LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Clazz::getGrade, grade);
- wrapper.eq(Clazz::getStatus, status);
- wrapper.orderByDesc(Clazz::getCreateTime);
- List list = classService.list(wrapper);
- return R.ok(list, "查询成功");
- }
@@ -231,7 +201,7 @@ public class ClazzController {
if (status != null) {
wrapper.eq(Clazz::getStatus, status);
}
- Long count = classService.count(wrapper);
+ Long count = clazzService.count(wrapper);
return R.ok(count, "查询成功");
}
diff --git a/course/src/com/ruoyi/course/controller/CourseController.java b/course/src/com/ruoyi/course/controller/CourseController.java
index bbaf50eb..f7a8f70a 100644
--- a/course/src/com/ruoyi/course/controller/CourseController.java
+++ b/course/src/com/ruoyi/course/controller/CourseController.java
@@ -3,13 +3,15 @@ package com.ruoyi.course.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+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.Course;
import com.ruoyi.course.domain.vo.CourseQueryVO;
import com.ruoyi.course.service.ICourseService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
@@ -23,9 +25,9 @@ import java.util.List;
*
*/
@RestController
-@RequestMapping("/course/course")
+@RequestMapping("/course/courses")
@Api(tags = "课程管理")
-public class CourseController {
+public class CourseController extends BaseController {
@Autowired
private ICourseService courseService;
@@ -81,9 +83,10 @@ public class CourseController {
@ApiOperation("查询所有课程")
@GetMapping("/list")
- public R> listCourses() {
+ public TableDataInfo listTeachers() {
+ startPage();
List list = courseService.list();
- return R.ok(list, "查询成功");
+ return getDataTable(list);
}
@ApiOperation("分页查询课程列表")
diff --git a/course/src/com/ruoyi/course/controller/StudentController.java b/course/src/com/ruoyi/course/controller/StudentController.java
index e0b43c0b..db3cf753 100644
--- a/course/src/com/ruoyi/course/controller/StudentController.java
+++ b/course/src/com/ruoyi/course/controller/StudentController.java
@@ -3,13 +3,15 @@ package com.ruoyi.course.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+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.vo.StudentQueryVO;
import com.ruoyi.course.service.IStudentService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
@@ -28,7 +30,7 @@ import java.util.List;
@RestController
@RequestMapping("/course/student")
@Api(tags = "学生管理")
-public class StudentController {
+public class StudentController extends BaseController {
@Autowired
private IStudentService studentService;
@@ -84,9 +86,10 @@ public class StudentController {
@ApiOperation("查询所有学生")
@GetMapping("/list")
- public R> listStudents() {
+ public TableDataInfo listStudents() {
+ startPage();
List list = studentService.list();
- return R.ok(list, "查询成功");
+ return getDataTable(list);
}
@ApiOperation("分页查询学生列表")
diff --git a/course/src/com/ruoyi/course/controller/TeacherController.java b/course/src/com/ruoyi/course/controller/TeacherController.java
index a820ce63..729bf368 100644
--- a/course/src/com/ruoyi/course/controller/TeacherController.java
+++ b/course/src/com/ruoyi/course/controller/TeacherController.java
@@ -3,17 +3,19 @@ package com.ruoyi.course.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
-import io.swagger.v3.oas.annotations.tags.Tag;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.course.common.R;
import com.ruoyi.course.common.TeacherTimetableResponse;
import com.ruoyi.course.domain.Teacher;
import com.ruoyi.course.domain.vo.TeacherQueryVO;
import com.ruoyi.course.service.ITeacherService;
import com.ruoyi.course.service.impl.TeacherScheduleService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import io.swagger.v3.oas.annotations.responses.ApiResponses;
+import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
@@ -29,7 +31,7 @@ import java.util.List;
@RestController
@RequestMapping("/course/teacher")
@Tag(name = "教师管理", description = "教师相关的CRUD操作和课表管理")
-public class TeacherController {
+public class TeacherController extends BaseController {
@Autowired
private ITeacherService teacherService;
@@ -116,9 +118,10 @@ public class TeacherController {
@ApiResponse(responseCode = "200", description = "查询成功")
})
@GetMapping("/list")
- public R> listTeachers() {
+ public TableDataInfo listTeachers() {
+ startPage();
List list = teacherService.list();
- return R.ok(list, "查询成功");
+ return getDataTable(list);
}
@Operation(summary = "分页查询教师列表", description = "根据条件分页查询教师列表")
diff --git a/course/src/com/ruoyi/course/domain/Student.java b/course/src/com/ruoyi/course/domain/Student.java
index f3fb5ab0..516186bd 100644
--- a/course/src/com/ruoyi/course/domain/Student.java
+++ b/course/src/com/ruoyi/course/domain/Student.java
@@ -48,7 +48,6 @@ public class Student implements Serializable {
private GradeEnum grade;
-
@ApiModelProperty(value = "已选选修课ID列表(JSON数组)")
private String selectedElectiveIds;
diff --git a/ruoyi-ui/src/api/course/course.js b/ruoyi-ui/src/api/course/courses.js
similarity index 78%
rename from ruoyi-ui/src/api/course/course.js
rename to ruoyi-ui/src/api/course/courses.js
index 41f0bf37..a7705240 100644
--- a/ruoyi-ui/src/api/course/course.js
+++ b/ruoyi-ui/src/api/course/courses.js
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询课程列表
export function listCourse(query) {
return request({
- url: '/course/course/list',
+ url: '/course/courses/list',
method: 'get',
params: query
})
@@ -12,7 +12,7 @@ export function listCourse(query) {
// 查询课程分页列表
export function pageCourse(query) {
return request({
- url: '/course/course/page',
+ url: '/course/courses/page',
method: 'get',
params: query
})
@@ -21,7 +21,7 @@ export function pageCourse(query) {
// 查询课程详细
export function getCourse(id) {
return request({
- url: '/course/course/' + id,
+ url: '/course/courses/' + id,
method: 'get'
})
}
@@ -29,7 +29,7 @@ export function getCourse(id) {
// 新增课程
export function addCourse(data) {
return request({
- url: '/course/course',
+ url: '/course/courses',
method: 'post',
data: data
})
@@ -38,7 +38,7 @@ export function addCourse(data) {
// 修改课程
export function updateCourse(data) {
return request({
- url: '/course/course',
+ url: '/course/courses',
method: 'put',
data: data
})
@@ -47,7 +47,7 @@ export function updateCourse(data) {
// 删除课程
export function delCourse(id) {
return request({
- url: '/course/course/' + id,
+ url: '/course/courses/' + id,
method: 'delete'
})
}
@@ -55,7 +55,7 @@ export function delCourse(id) {
// 批量删除课程
export function batchDeleteCourse(ids) {
return request({
- url: '/course/course/batch',
+ url: '/course/courses/batch',
method: 'delete',
data: ids
})
@@ -64,7 +64,7 @@ export function batchDeleteCourse(ids) {
// 导出课程
export function exportCourse(query) {
return request({
- url: '/course/course/export',
+ url: '/course/courses/export',
method: 'get',
params: query
})
diff --git a/ruoyi-ui/src/router/index.js b/ruoyi-ui/src/router/index.js
index bbfd2374..3e0e6bdc 100644
--- a/ruoyi-ui/src/router/index.js
+++ b/ruoyi-ui/src/router/index.js
@@ -161,7 +161,50 @@ export const dynamicRoutes = [
meta: { title: '修改生成配置', activeMenu: '/tool/gen' }
}
]
- }
+ }
+ // {
+ // path: '/course', // 一级路由路径
+ // component: Layout,
+ // redirect: '/course/classroom', // 默认重定向到教室管理
+ // meta: { title: '课程管理', icon: 'education' }, // 侧边栏显示"课程管理",使用education图标
+ // children: [
+ // {
+ // path: 'classroom', // 二级路由路径: /course/classroom
+ // component: () => import('@/views/course/classroom/index'), // 对应views目录下的教室管理组件
+ // name: 'Classroom', // 路由名称,必须唯一
+ // meta: { title: '教室管理', icon: 'classroom' }, // 侧边栏显示"教室管理",使用classroom图标
+ // permissions: ['course:classroom:list'] // 需要的权限标识
+ // },
+ // {
+ // path: 'clazz', // 二级路由路径: /course/clazz
+ // component: () => import('@/views/course/clazz/index'), // 对应views目录下的班级管理组件
+ // name: 'Clazz', // 路由名称,必须唯一
+ // meta: { title: '班级管理', icon: 'tree' }, // 侧边栏显示"班级管理",使用tree图标
+ // permissions: ['course:clazz:list'] // 需要的权限标识
+ // },
+ // {
+ // path: 'courses', // 二级路由路径: /course/courses
+ // component: () => import('@/views/course/courses/index'), // 对应views目录下的课程管理组件
+ // name: 'Course', // 路由名称,必须唯一
+ // meta: { title: '课程管理', icon: 'list' }, // 侧边栏显示"课程管理",使用list图标
+ // permissions: ['course:courses:list'] // 需要的权限标识
+ // },
+ // {
+ // path: 'student', // 二级路由路径: /course/student
+ // component: () => import('@/views/course/student/index'), // 对应views目录下的学生管理组件
+ // name: 'Student', // 路由名称,必须唯一
+ // meta: { title: '学生管理', icon: 'user' }, // 侧边栏显示"学生管理",使用user图标
+ // permissions: ['course:student:list'] // 需要的权限标识
+ // },
+ // {
+ // path: 'teacher', // 二级路由路径: /course/teacher
+ // component: () => import('@/views/course/teacher/index'), // 对应views目录下的教师管理组件
+ // name: 'Teacher', // 路由名称,必须唯一
+ // meta: { title: '教师管理', icon: 'peoples' }, // 侧边栏显示"教师管理",使用peoples图标
+ // permissions: ['course:teacher:list'] // 需要的权限标识
+ // }
+ // ]
+ // }
]
// 防止连续点击多次路由报错
diff --git a/ruoyi-ui/src/views/course/classroom/index.vue b/ruoyi-ui/src/views/course/classroom/index.vue
index 595bc758..dd48a867 100644
--- a/ruoyi-ui/src/views/course/classroom/index.vue
+++ b/ruoyi-ui/src/views/course/classroom/index.vue
@@ -54,7 +54,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
- v-hasPermi="['course:classroom:add']"
+ v-hasPermi="['courses:classroom:add']"
>新增
@@ -65,7 +65,7 @@
size="mini"
:disabled="multiple"
@click="handleDelete"
- v-hasPermi="['course:classroom:remove']"
+ v-hasPermi="['courses:classroom:remove']"
>删除
@@ -75,7 +75,7 @@
icon="el-icon-download"
size="mini"
@click="handleExport"
- v-hasPermi="['course:classroom:export']"
+ v-hasPermi="['courses:classroom:export']"
>导出
@@ -136,14 +136,14 @@
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
- v-hasPermi="['course:classroom:edit']"
+ v-hasPermi="['courses:classroom:edit']"
>修改
删除
diff --git a/ruoyi-ui/src/views/course/clazz/index.vue b/ruoyi-ui/src/views/course/clazz/index.vue
index 6e608c7e..c2d3baa6 100644
--- a/ruoyi-ui/src/views/course/clazz/index.vue
+++ b/ruoyi-ui/src/views/course/clazz/index.vue
@@ -51,7 +51,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
- v-hasPermi="['course:clazz:add']"
+ v-hasPermi="['courses:clazz:add']"
>新增
@@ -62,7 +62,7 @@
size="mini"
:disabled="multiple"
@click="handleDelete"
- v-hasPermi="['course:clazz:remove']"
+ v-hasPermi="['courses:clazz:remove']"
>删除
@@ -72,7 +72,7 @@
icon="el-icon-download"
size="mini"
@click="handleExport"
- v-hasPermi="['course:clazz:export']"
+ v-hasPermi="['courses:clazz:export']"
>导出
@@ -124,14 +124,14 @@
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
- v-hasPermi="['course:clazz:edit']"
+ v-hasPermi="['courses:clazz:edit']"
>修改
删除
diff --git a/ruoyi-ui/src/views/course/course/index.vue b/ruoyi-ui/src/views/course/courses/index.vue
similarity index 98%
rename from ruoyi-ui/src/views/course/course/index.vue
rename to ruoyi-ui/src/views/course/courses/index.vue
index 88de61ee..0994bbe0 100644
--- a/ruoyi-ui/src/views/course/course/index.vue
+++ b/ruoyi-ui/src/views/course/courses/index.vue
@@ -52,7 +52,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
- v-hasPermi="['api:course:add']"
+ v-hasPermi="['course:courses:add']"
>新增
@@ -63,7 +63,7 @@
size="mini"
:disabled="multiple"
@click="handleDelete"
- v-hasPermi="['api:course:remove']"
+ v-hasPermi="['course:courses:remove']"
>删除
@@ -73,7 +73,7 @@
icon="el-icon-download"
size="mini"
@click="handleExport"
- v-hasPermi="['api:course:export']"
+ v-hasPermi="['course:courses:export']"
>导出
@@ -137,14 +137,14 @@
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
- v-hasPermi="['course:course:edit']"
+ v-hasPermi="['course:courses:edit']"
>修改
删除
@@ -273,7 +273,7 @@