class删除

This commit is contained in:
tonygyf 2025-03-12 19:38:56 +08:00
parent 5562a3d21a
commit 7b49d3b506
17 changed files with 204 additions and 43 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true"> <component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="@localhost" uuid="45f9b44a-b4dc-4b7f-8739-7b9e192bd190"> <data-source source="LOCAL" name="@localhost" uuid="88e6e9bb-36d9-44f5-9998-e16fb7940edc">
<driver-ref>mysql.8</driver-ref> <driver-ref>mysql.8</driver-ref>
<synchronize>true</synchronize> <synchronize>true</synchronize>
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver> <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
@ -13,5 +13,17 @@
</jdbc-additional-properties> </jdbc-additional-properties>
<working-dir>$ProjectFileDir$</working-dir> <working-dir>$ProjectFileDir$</working-dir>
</data-source> </data-source>
<data-source source="LOCAL" name="aes@localhost" uuid="22364a9d-02b8-4394-badc-879023b12938">
<driver-ref>mysql.8</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mysql://localhost:3306/aes</jdbc-url>
<jdbc-additional-properties>
<property name="com.intellij.clouds.kubernetes.db.host.port" />
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
<property name="com.intellij.clouds.kubernetes.db.container.port" />
</jdbc-additional-properties>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component> </component>
</project> </project>

View File

@ -31,4 +31,7 @@ export default {
getAdminuserById: (data) => request.post('/adminusers/getAdminuserById', data), getAdminuserById: (data) => request.post('/adminusers/getAdminuserById', data),
editAdminuser: (data) => request.post('/adminusers/editAdminuser', data), editAdminuser: (data) => request.post('/adminusers/editAdminuser', data),
addAdminuser: (data) => request.post('/adminusers/addAdminuser', 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),
} }

View File

@ -246,6 +246,7 @@ const queryByPage = async (currentPage)=>{
classList.value=list.map((item,i)=>{return item;}) classList.value=list.map((item,i)=>{return item;})
} catch (err) { } catch (err) {
console.error("发生错误:", err);
} finally { } finally {
loading.value = false; loading.value = false;
} }

View File

@ -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());
}
}
}

View File

@ -1,7 +1,9 @@
package com.example.aes.user.controller; package com.example.aes.user.controller;
import com.example.aes.global.model.DecodeToken; 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.global.model.RespBean;
import com.example.aes.user.model.DataGrid;
import com.example.aes.user.model.Json; import com.example.aes.user.model.Json;
import com.example.aes.user.model.PMClasses; import com.example.aes.user.model.PMClasses;
import com.example.aes.user.service.ClassesServiceI; import com.example.aes.user.service.ClassesServiceI;
@ -66,5 +68,43 @@ public class ClassesController{
else else
return RespBean.error(j.getMsg(), j.getObj()); 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);
}
}
} }

View File

@ -5,6 +5,7 @@ import com.example.aes.user.model.Adminusers;
import com.example.aes.user.model.PMAdminusers; import com.example.aes.user.model.PMAdminusers;
import java.util.List; import java.util.List;
import java.util.Map;
public interface AdminusersDaoI extends BaseDaoI<Adminusers> { public interface AdminusersDaoI extends BaseDaoI<Adminusers> {
@ -23,5 +24,5 @@ public interface AdminusersDaoI extends BaseDaoI<Adminusers> {
public boolean updateStatusByaccount(String account, String status); public boolean updateStatusByaccount(String account, String status);
public boolean editAdminuser(PMAdminusers pmadminusers); // 编辑教师信息 public boolean editAdminuser(PMAdminusers pmadminusers); // 编辑教师信息
public boolean addAdminuser(PMAdminusers pmadminusers); // 添加教师 public boolean addAdminuser(PMAdminusers pmadminusers); // 添加教师
public Map<String, String> findTeachersByteacherIdList(String teacherIdList);
} }

View File

@ -17,7 +17,7 @@ public interface ClassesDaoI extends BaseDaoI<Classes> {
public List<Classes> findAllClass(); // 查询所有班级 public List<Classes> findAllClass(); // 查询所有班级
// public List<PMClasses> findAllClassPage(int pageNum, int pageSize); public List<PMClasses> findAllClassPage(int pageNum, int pageSize);
public long findAllClassNum(int teacherId, String role); public long findAllClassNum(int teacherId, String role);

View File

@ -349,4 +349,15 @@ public class AdminusersDaoImpl extends BaseDaoImpl<Adminusers> implements
} else } else
return false; return false;
} }
@Override
public Map<String, String> findTeachersByteacherIdList(String teacherIdList){
String hql = "from Adminusers where id in " + "(" + teacherIdList + ")";
List<Adminusers> adminusersList = this.find(hql);
Map<String,String> 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;
}
} }

View File

@ -893,40 +893,40 @@ public class ClassesDaoImpl extends BaseDaoImpl<Classes> implements ClassesDaoI
return this.find(hql); return this.find(hql);
} }
// @Override @Override
// public List<PMClasses> findAllClassPage(int pageNum, int pageSize){ public List<PMClasses> findAllClassPage(int pageNum, int pageSize){
// String hql = "from Classes"; String hql = "from Classes";
// Query query = this.getCurrentSession().createQuery(hql); Query query = this.getCurrentSession().createQuery(hql);
// List<Classes> classesList = query.setFirstResult((pageNum - 1) * pageSize).setMaxResults(pageSize).list(); List<Classes> classesList = query.setFirstResult((pageNum - 1) * pageSize).setMaxResults(pageSize).list();
// List<PMClasses> pmClassesList = new ArrayList<>(); List<PMClasses> pmClassesList = new ArrayList<>();
// // 封装teachetId // 封装teachetId
// Map<String, String> teacherMap = new HashMap<>(); Map<String, String> teacherMap = new HashMap<>();
// for (int i = 0; i < classesList.size(); i++){ for (int i = 0; i < classesList.size(); i++){
// Classes classes = classesList.get(i); Classes classes = classesList.get(i);
// teacherMap.put("'" + classes.getTeacherId().toString() + "'", ""); teacherMap.put("'" + classes.getTeacherId().toString() + "'", "");
// } }
// // 批量查询teacherName // 批量查询teacherName
// String teacherString = String.join(",", teacherMap.keySet()); String teacherString = String.join(",", teacherMap.keySet());
// Map<String, String> teachersMap = adminusersDao.findTeachersByteacherIdList(teacherString); Map<String, String> teachersMap = adminusersDao.findTeachersByteacherIdList(teacherString);
// for(int i=0;i<classesList.size();i++){ for(int i=0;i<classesList.size();i++){
// Classes classes = classesList.get(i); Classes classes = classesList.get(i);
// PMClasses pmClasses = new PMClasses(); PMClasses pmClasses = new PMClasses();
// pmClasses.setId(classes.getId()); pmClasses.setId(classes.getId());
// pmClasses.setName(classes.getName()); pmClasses.setName(classes.getName());
// pmClasses.setTeacherId(classes.getTeacherId()); pmClasses.setTeacherId(classes.getTeacherId());
// pmClasses.setStudentNum(classes.getStudentNum()); pmClasses.setStudentNum(classes.getStudentNum());
// pmClasses.setCreateTime(classes.getCreateTime()); pmClasses.setCreateTime(classes.getCreateTime());
// pmClasses.setInviteCode(classes.getInviteCode()); pmClasses.setInviteCode(classes.getInviteCode());
// pmClasses.setWeektime(classes.getWeektime()); // pmClasses.setWeektime(classes.getWeektime());
// pmClasses.setAdvance(classes.getAdvance()); // pmClasses.setAdvance(classes.getAdvance());
// pmClasses.setLate(classes.getLate()); // pmClasses.setLate(classes.getLate());
// pmClasses.setReject(classes.getReject()); // pmClasses.setReject(classes.getReject());
// pmClasses.setFirst_week_monday(classes.getFirst_week_monday()); // pmClasses.setFirst_week_monday(classes.getFirst_week_monday());
// pmClasses.setTeacherName(teachersMap.get(classes.getTeacherId().toString())); pmClasses.setTeacherName(teachersMap.get(classes.getTeacherId().toString()));
// pmClassesList.add(pmClasses); pmClassesList.add(pmClasses);
// } }
// return pmClassesList; return pmClassesList;
// } }
@Override @Override
public long findAllClassNum(int teacherId, String role){ public long findAllClassNum(int teacherId, String role){

View File

@ -3,7 +3,7 @@ package com.example.aes.user.model;
import javax.persistence.*; import javax.persistence.*;
@Entity @Entity
@Table(name = "assistantclass", catalog = "aes") @Table(name = "assistantclass")
public class AssistantClass implements java.io.Serializable { public class AssistantClass implements java.io.Serializable {
/** /**

View File

@ -9,7 +9,7 @@ import java.util.Objects;
* Classes entity. @author MyEclipse Persistence Tools * Classes entity. @author MyEclipse Persistence Tools
*/ */
@Entity @Entity
@Table(name = "class", catalog = "aes") @Table(name = "class")
public class Classes implements java.io.Serializable { public class Classes implements java.io.Serializable {
// Fields // Fields
@ -29,6 +29,8 @@ public class Classes implements java.io.Serializable {
private Date createTime; private Date createTime;
private String inviteCode; private String inviteCode;
// Constructors // Constructors
/** default constructor */ /** default constructor */
@ -128,4 +130,5 @@ public class Classes implements java.io.Serializable {
((getCreateTime() == null && classes.getCreateTime() == null) || (getCreateTime() != null && classes.getCreateTime() != null && getCreateTime().compareTo(classes.getCreateTime()) == 0)) && ((getCreateTime() == null && classes.getCreateTime() == null) || (getCreateTime() != null && classes.getCreateTime() != null && getCreateTime().compareTo(classes.getCreateTime()) == 0)) &&
(Objects.equals(getInviteCode(), classes.getInviteCode())) ; (Objects.equals(getInviteCode(), classes.getInviteCode())) ;
} }
} }

View File

@ -6,7 +6,7 @@ import javax.persistence.*;
* Classstudents entity. @author MyEclipse Persistence Tools * Classstudents entity. @author MyEclipse Persistence Tools
*/ */
@Entity @Entity
@Table(name = "studentclass", catalog = "aes") @Table(name = "studentclass")
public class Classstudents implements java.io.Serializable { public class Classstudents implements java.io.Serializable {
// Fields // Fields

View File

@ -11,6 +11,7 @@ public class PMClasses implements java.io.Serializable {
private String name; private String name;
private Integer teacherId; private Integer teacherId;
public void setId(Integer id) { public void setId(Integer id) {
this.id = id; this.id = id;
} }
@ -73,7 +74,7 @@ public class PMClasses implements java.io.Serializable {
public Date getCreateTime() { public Date getCreateTime() {
return createTime; return createTime;
} }
public String getInviteCode() { public String getInviteCode() {
return inviteCode; return inviteCode;
@ -86,4 +87,5 @@ public class PMClasses implements java.io.Serializable {
this.studentNum = studentNum; this.studentNum = studentNum;
} }
} }

View File

@ -15,7 +15,10 @@ public interface ClassesServiceI {
// public List<Classes> findAllClass(); // public List<Classes> 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 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<PMUser> findClassStudentsById(int classId); // 通过id查询所有学生 // public List<PMUser> findClassStudentsById(int classId); // 通过id查询所有学生
// //

View File

@ -2,9 +2,7 @@ package com.example.aes.user.service.impl;
import com.example.aes.user.dao.ClassesDaoI; import com.example.aes.user.dao.ClassesDaoI;
import com.example.aes.user.dao.ClassstudentsDaoI; import com.example.aes.user.dao.ClassstudentsDaoI;
import com.example.aes.user.model.Classes; import com.example.aes.user.model.*;
import com.example.aes.user.model.Json;
import com.example.aes.user.model.PMClasses;
import com.example.aes.user.service.ClassesServiceI; import com.example.aes.user.service.ClassesServiceI;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -63,5 +61,64 @@ public void setclassstudentsDao(ClassstudentsDaoI classstudentsDao) {
} }
return json; return json;
} }
@Override
public DataGrid findClassesByConditionPage(int teacherId, String role, int pageNum, int pageSize){
DataGrid dg = new DataGrid();
long totalLines;
List<PMClasses> 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<PMClasses> 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<Examclasses> ecList = examClassesDao.getExamclassesByClassId(id);
// if(ecList != null && !ecList.isEmpty()){
// for(Examclasses ec : ecList)
// examClassesDao.delete(ec);
// }
//删除ClassStudents关联数据
List<Classstudents> csList = classstudentsDao.getClassStudentsByClassId(id);
if(csList != null && !csList.isEmpty()){
for(Classstudents cs : csList)
classstudentsDao.delete(cs);
}
return classesDao.deleteClass(id);
}
} }

View File

@ -40,4 +40,7 @@ spring.main.allow-circular-references=true
spring.servlet.multipart.max-file-size=50MB spring.servlet.multipart.max-file-size=50MB
spring.servlet.multipart.max-request-size=50MB spring.servlet.multipart.max-request-size=50MB
spring.main.allow-bean-definition-overriding=true spring.main.allow-bean-definition-overriding=true
spring.jackson.serialization-inclusion=non_null
#??null?

View File

@ -124,7 +124,7 @@
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.host}"/> <property name="hostName" value="${redis.host}"/>
<property name="port" value="${redis.port}"/> <property name="port" value="${redis.port}"/>
<property name="password" value="${redis.pass}"/> <!-- <property name="password" value="${redis.pass}"/>-->
<property name="poolConfig" ref="poolConfig"/> <property name="poolConfig" ref="poolConfig"/>
</bean> </bean>
</beans> </beans>