diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
index ea252bf..1f7028e 100644
--- a/.idea/dataSources.xml
+++ b/.idea/dataSources.xml
@@ -1,7 +1,7 @@
-
+
mysql.8
true
com.mysql.cj.jdbc.Driver
@@ -13,5 +13,17 @@
$ProjectFileDir$
+
+ mysql.8
+ true
+ com.mysql.cj.jdbc.Driver
+ jdbc:mysql://localhost:3306/aes
+
+
+
+
+
+ $ProjectFileDir$
+
\ No newline at end of file
diff --git a/AES-front/src/api/admin.js b/AES-front/src/api/admin.js
index e773456..0652627 100644
--- a/AES-front/src/api/admin.js
+++ b/AES-front/src/api/admin.js
@@ -31,4 +31,7 @@ export default {
getAdminuserById: (data) => request.post('/adminusers/getAdminuserById', data),
editAdminuser: (data) => request.post('/adminusers/editAdminuser', data),
addAdminuser: (data) => request.post('/adminusers/addAdminuser', data),
+ findAllClassPage: (data) => request.post('/classes/findAllClassPage', data),
+ findAllShoolsInAdminusers: () => request.post('/school/findAllShoolsInAdminusers'),
+ deleteClass: (data) => request.post('/classes/deleteClass', data),
}
diff --git a/AES-front/src/views/admin/class/class-list.vue b/AES-front/src/views/admin/class/class-list.vue
index 24bd62d..7a458bb 100644
--- a/AES-front/src/views/admin/class/class-list.vue
+++ b/AES-front/src/views/admin/class/class-list.vue
@@ -246,6 +246,7 @@ const queryByPage = async (currentPage)=>{
classList.value=list.map((item,i)=>{return item;})
} catch (err) {
+ console.error("发生错误:", err);
} finally {
loading.value = false;
}
diff --git a/AES/src/main/java/com/example/aes/global/component/RedisTest.java b/AES/src/main/java/com/example/aes/global/component/RedisTest.java
new file mode 100644
index 0000000..0c394bd
--- /dev/null
+++ b/AES/src/main/java/com/example/aes/global/component/RedisTest.java
@@ -0,0 +1,25 @@
+package com.example.aes.global.component;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+@Component
+public class RedisTest {
+ private final StringRedisTemplate stringRedisTemplate;
+
+ public RedisTest(StringRedisTemplate stringRedisTemplate) {
+ this.stringRedisTemplate = stringRedisTemplate;
+ }
+
+ @PostConstruct
+ public void testRedisConnection() {
+ try {
+ stringRedisTemplate.opsForValue().set("testKey", "Hello Redis");
+ String value = stringRedisTemplate.opsForValue().get("testKey");
+ System.out.println("Redis 连接成功,获取到的值: " + value);
+ } catch (Exception e) {
+ System.err.println("Redis 连接失败: " + e.getMessage());
+ }
+ }
+}
diff --git a/AES/src/main/java/com/example/aes/user/controller/ClassesController.java b/AES/src/main/java/com/example/aes/user/controller/ClassesController.java
index 69b0303..4a98349 100644
--- a/AES/src/main/java/com/example/aes/user/controller/ClassesController.java
+++ b/AES/src/main/java/com/example/aes/user/controller/ClassesController.java
@@ -1,7 +1,9 @@
package com.example.aes.user.controller;
import com.example.aes.global.model.DecodeToken;
+import com.example.aes.global.model.PageBean;
import com.example.aes.global.model.RespBean;
+import com.example.aes.user.model.DataGrid;
import com.example.aes.user.model.Json;
import com.example.aes.user.model.PMClasses;
import com.example.aes.user.service.ClassesServiceI;
@@ -66,5 +68,43 @@ public class ClassesController{
else
return RespBean.error(j.getMsg(), j.getObj());
}
+ @PostMapping("/findAllClassPage")
+ public RespBean findAllClassPage(@RequestBody PageBean pageBean, HttpServletRequest request) {
+ if (pageBean.getPageNum() < 1 || pageBean.getPageSize() < 1)
+ return RespBean.error("参数错误!");
+
+ DecodeToken decodeToken=new DecodeToken(request);
+ Integer teacherId = Integer.parseInt(decodeToken.getUserId());
+ String userRole = decodeToken.getRole();
+ if(userRole.equals("admin")){
+ if(pageBean.getTeacherId()!=0)
+ teacherId = pageBean.getTeacherId();
+ else
+ teacherId = 0;
+ }
+
+ PMClasses pmClasses = new PMClasses();
+ pmClasses.setTeacherId(teacherId);
+
+ if ( teacherId == 0){
+ DataGrid dataGrid = classesServiceI.findClassesByConditionPage(pmClasses, pageBean.getPageNum(), pageBean.getPageSize());
+ return RespBean.ok("查询所有班级信息成功", dataGrid);
+ }else{
+ DataGrid dataGrid = classesServiceI.findClassesByConditionPage(teacherId, userRole,pageBean.getPageNum(), pageBean.getPageSize());
+ return RespBean.ok("查询所有班级信息成功", dataGrid);
+ }
+ }
+ @PostMapping("/deleteClass")
+ public RespBean deleteClass(@RequestBody PMClasses pmclasses) {
+ int id = pmclasses.getId();
+
+ boolean result = classesServiceI.deleteClass(id);
+ if (result == true) {
+ return RespBean.ok("删除班级成功", result);
+ } else {
+ return RespBean.error("删除班级失败", result);
+ }
+ }
+
}
diff --git a/AES/src/main/java/com/example/aes/user/dao/AdminusersDaoI.java b/AES/src/main/java/com/example/aes/user/dao/AdminusersDaoI.java
index b97f479..70f0187 100644
--- a/AES/src/main/java/com/example/aes/user/dao/AdminusersDaoI.java
+++ b/AES/src/main/java/com/example/aes/user/dao/AdminusersDaoI.java
@@ -5,6 +5,7 @@ import com.example.aes.user.model.Adminusers;
import com.example.aes.user.model.PMAdminusers;
import java.util.List;
+import java.util.Map;
public interface AdminusersDaoI extends BaseDaoI {
@@ -23,5 +24,5 @@ public interface AdminusersDaoI extends BaseDaoI {
public boolean updateStatusByaccount(String account, String status);
public boolean editAdminuser(PMAdminusers pmadminusers); // 编辑教师信息
public boolean addAdminuser(PMAdminusers pmadminusers); // 添加教师
-
+ public Map findTeachersByteacherIdList(String teacherIdList);
}
diff --git a/AES/src/main/java/com/example/aes/user/dao/ClassesDaoI.java b/AES/src/main/java/com/example/aes/user/dao/ClassesDaoI.java
index e6925b4..fc6feb6 100644
--- a/AES/src/main/java/com/example/aes/user/dao/ClassesDaoI.java
+++ b/AES/src/main/java/com/example/aes/user/dao/ClassesDaoI.java
@@ -17,7 +17,7 @@ public interface ClassesDaoI extends BaseDaoI {
public List findAllClass(); // 查询所有班级
-// public List findAllClassPage(int pageNum, int pageSize);
+ public List findAllClassPage(int pageNum, int pageSize);
public long findAllClassNum(int teacherId, String role);
diff --git a/AES/src/main/java/com/example/aes/user/dao/impl/AdminusersDaoImpl.java b/AES/src/main/java/com/example/aes/user/dao/impl/AdminusersDaoImpl.java
index be67f21..51582db 100644
--- a/AES/src/main/java/com/example/aes/user/dao/impl/AdminusersDaoImpl.java
+++ b/AES/src/main/java/com/example/aes/user/dao/impl/AdminusersDaoImpl.java
@@ -349,4 +349,15 @@ public class AdminusersDaoImpl extends BaseDaoImpl implements
} else
return false;
}
+ @Override
+ public Map findTeachersByteacherIdList(String teacherIdList){
+ String hql = "from Adminusers where id in " + "(" + teacherIdList + ")";
+ List adminusersList = this.find(hql);
+ Map adminusersMap = new HashMap<>();
+ for (int i = 0; i < adminusersList.size(); i++){
+ Adminusers adminusers = adminusersList.get(i);
+ adminusersMap.put(adminusers.getId().toString(), adminusers.getName());
+ }
+ return adminusersMap;
+ }
}
diff --git a/AES/src/main/java/com/example/aes/user/dao/impl/ClassesDaoImpl.java b/AES/src/main/java/com/example/aes/user/dao/impl/ClassesDaoImpl.java
index 77cb05b..94b5470 100644
--- a/AES/src/main/java/com/example/aes/user/dao/impl/ClassesDaoImpl.java
+++ b/AES/src/main/java/com/example/aes/user/dao/impl/ClassesDaoImpl.java
@@ -893,40 +893,40 @@ public class ClassesDaoImpl extends BaseDaoImpl implements ClassesDaoI
return this.find(hql);
}
-// @Override
-// public List findAllClassPage(int pageNum, int pageSize){
-// String hql = "from Classes";
-// Query query = this.getCurrentSession().createQuery(hql);
-// List classesList = query.setFirstResult((pageNum - 1) * pageSize).setMaxResults(pageSize).list();
-// List pmClassesList = new ArrayList<>();
-// // 封装teachetId
-// Map teacherMap = new HashMap<>();
-// for (int i = 0; i < classesList.size(); i++){
-// Classes classes = classesList.get(i);
-// teacherMap.put("'" + classes.getTeacherId().toString() + "'", "");
-// }
-// // 批量查询teacherName
-// String teacherString = String.join(",", teacherMap.keySet());
-// Map teachersMap = adminusersDao.findTeachersByteacherIdList(teacherString);
-// for(int i=0;i findAllClassPage(int pageNum, int pageSize){
+ String hql = "from Classes";
+ Query query = this.getCurrentSession().createQuery(hql);
+ List classesList = query.setFirstResult((pageNum - 1) * pageSize).setMaxResults(pageSize).list();
+ List pmClassesList = new ArrayList<>();
+ // 封装teachetId
+ Map teacherMap = new HashMap<>();
+ for (int i = 0; i < classesList.size(); i++){
+ Classes classes = classesList.get(i);
+ teacherMap.put("'" + classes.getTeacherId().toString() + "'", "");
+ }
+ // 批量查询teacherName
+ String teacherString = String.join(",", teacherMap.keySet());
+ Map teachersMap = adminusersDao.findTeachersByteacherIdList(teacherString);
+ for(int i=0;i findAllClass();
//
-// public DataGrid findClassesByConditionPage(int teacherId, String role, int pageNum, int pageSize);
+
+ public DataGrid findClassesByConditionPage(int teacherId, String role, int pageNum, int pageSize);
+
+ public DataGrid findClassesByConditionPage(PMClasses pmclasses, int pageNum, int pageSize);
//
//
//
@@ -23,7 +26,7 @@ public interface ClassesServiceI {
//
// public boolean editClassMessage(int id, String className, int teacherId, int advance, int late, int reject, String weektime, Date first_week_monday); // 修改班级信息
//
-// public boolean deleteClass(int id); // 删除班级
+ public boolean deleteClass(int id); // 删除班级
//
// public List findClassStudentsById(int classId); // 通过id查询所有学生
//
diff --git a/AES/src/main/java/com/example/aes/user/service/impl/ClassesServiceImpl.java b/AES/src/main/java/com/example/aes/user/service/impl/ClassesServiceImpl.java
index f37696b..588ac1f 100644
--- a/AES/src/main/java/com/example/aes/user/service/impl/ClassesServiceImpl.java
+++ b/AES/src/main/java/com/example/aes/user/service/impl/ClassesServiceImpl.java
@@ -2,9 +2,7 @@ package com.example.aes.user.service.impl;
import com.example.aes.user.dao.ClassesDaoI;
import com.example.aes.user.dao.ClassstudentsDaoI;
-import com.example.aes.user.model.Classes;
-import com.example.aes.user.model.Json;
-import com.example.aes.user.model.PMClasses;
+import com.example.aes.user.model.*;
import com.example.aes.user.service.ClassesServiceI;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -63,5 +61,64 @@ public void setclassstudentsDao(ClassstudentsDaoI classstudentsDao) {
}
return json;
}
+ @Override
+ public DataGrid findClassesByConditionPage(int teacherId, String role, int pageNum, int pageSize){
+ DataGrid dg = new DataGrid();
+ long totalLines;
+ List pmClassesList;
+
+ totalLines = classesDao.findAllClassNum(teacherId, role);
+ pmClassesList = classesDao.findClassesByConditionPage(teacherId,role, pageNum, pageSize);
+ if (pmClassesList == null) {
+ return null;
+ } else{
+ // 设置总的记录行数
+ dg.setTotal(totalLines);
+ // 设置每页显示多少行
+ dg.setPageSize(pageSize);
+ // 设置总的页数,总页数 = (总行数/每页显示多少行)向上取整
+ dg.setTotalPages((long) (Math.ceil((double) dg.getTotal() / (double) dg.getPageSize())));
+ // 设置当前显示第几页
+ dg.setPageNum(pageNum);
+ // 设置当前页的数据行数量
+ dg.setCurrentPageLineNum(pmClassesList.size());
+ // 设置当前页的所有数据行
+ dg.setList(pmClassesList);
+ return dg;
+ }
+ }
+ @Override
+ public DataGrid findClassesByConditionPage(PMClasses pmclasses, int pageNum, int pageSize){
+ DataGrid dg = new DataGrid();
+ long totalLines;
+ totalLines = classesDao.findClassesByConditionPageNum(pmclasses);
+ List pmClassesList = classesDao.findClassesByConditionPage(pmclasses, pageNum, pageSize);
+ dg.setTotal(totalLines);
+ dg.setPageSize(pageSize);
+ dg.setTotalPages((long) (Math.ceil((double) dg.getTotal() / (double) dg.getPageSize())));
+ dg.setPageNum(pageNum);
+ dg.setCurrentPageLineNum(pmClassesList.size());
+ dg.setList(pmClassesList);
+ return dg;
+
+ }
+ @Override
+ public boolean deleteClass(int id) {
+ // 删除ExamClass关联数据,目前没有examclass
+//
+// List ecList = examClassesDao.getExamclassesByClassId(id);
+// if(ecList != null && !ecList.isEmpty()){
+// for(Examclasses ec : ecList)
+// examClassesDao.delete(ec);
+// }
+ //删除ClassStudents关联数据
+ List csList = classstudentsDao.getClassStudentsByClassId(id);
+ if(csList != null && !csList.isEmpty()){
+ for(Classstudents cs : csList)
+ classstudentsDao.delete(cs);
+ }
+
+ return classesDao.deleteClass(id);
+ }
}
diff --git a/AES/src/main/resources/application.properties b/AES/src/main/resources/application.properties
index a42417e..488fc4f 100644
--- a/AES/src/main/resources/application.properties
+++ b/AES/src/main/resources/application.properties
@@ -40,4 +40,7 @@ spring.main.allow-circular-references=true
spring.servlet.multipart.max-file-size=50MB
spring.servlet.multipart.max-request-size=50MB
-spring.main.allow-bean-definition-overriding=true
\ No newline at end of file
+spring.main.allow-bean-definition-overriding=true
+
+spring.jackson.serialization-inclusion=non_null
+#??null?
\ No newline at end of file
diff --git a/AES/src/main/resources/spring-hibernate.xml b/AES/src/main/resources/spring-hibernate.xml
index dc01bb0..1ffddf7 100644
--- a/AES/src/main/resources/spring-hibernate.xml
+++ b/AES/src/main/resources/spring-hibernate.xml
@@ -124,7 +124,7 @@
-
+