From a196deecb96ea2fc0b04f825ecb3912b507eb690 Mon Sep 17 00:00:00 2001 From: musteven <1009173794@qq.com> Date: Mon, 10 Mar 2025 14:48:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E7=AB=AF=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E7=8F=AD=E7=BA=A7=E6=A8=A1=E5=9D=97=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AES-front/src/api/user.js | 2 ++ .../user/controller/ClassesController.java | 13 +++++++ .../user/dao/impl/ClassstudentsDaoImpl.java | 10 ++++++ .../aes/user/service/ClassesServiceI.java | 3 ++ .../user/service/impl/ClassesServiceImpl.java | 36 ++++++++++++++++--- 5 files changed, 59 insertions(+), 5 deletions(-) diff --git a/AES-front/src/api/user.js b/AES-front/src/api/user.js index a472469..227a4dd 100644 --- a/AES-front/src/api/user.js +++ b/AES-front/src/api/user.js @@ -18,4 +18,6 @@ export default { updateUserInfo: (data) => request.post('/user/editUserInfo', data), updateUserPwd: (data) => request.post('/user/editUserPassword', data), signUser: (data) => request.post('/user/signUser', data, { noNeedToken: true }), + + takeClassByInviteCode: (data) => request.post('/classes/takeClassByInviteCode', data), //¼ÓÈë°༶ } 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 0576bc3..69b0303 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 @@ -2,6 +2,7 @@ package com.example.aes.user.controller; import com.example.aes.global.model.DecodeToken; import com.example.aes.global.model.RespBean; +import com.example.aes.user.model.Json; import com.example.aes.user.model.PMClasses; import com.example.aes.user.service.ClassesServiceI; import org.springframework.beans.factory.annotation.Autowired; @@ -54,4 +55,16 @@ public class ClassesController{ } } + @PostMapping("/takeClassByInviteCode") //学生加入班级 + public RespBean takeClassByInviteCode(@RequestBody PMClasses pmclasses, HttpServletRequest request) { + DecodeToken decodeToken = new DecodeToken(request); + String userId = decodeToken.getUserId(); + Json j = new Json(); + j=classesServiceI.takeOneClass(pmclasses.getInviteCode(), Integer.parseInt(userId)); + if(j.isSuccess()) + return RespBean.ok(j.getMsg(), j.getObj()); + else + return RespBean.error(j.getMsg(), j.getObj()); + } + } diff --git a/AES/src/main/java/com/example/aes/user/dao/impl/ClassstudentsDaoImpl.java b/AES/src/main/java/com/example/aes/user/dao/impl/ClassstudentsDaoImpl.java index 7cf67d9..74063c0 100644 --- a/AES/src/main/java/com/example/aes/user/dao/impl/ClassstudentsDaoImpl.java +++ b/AES/src/main/java/com/example/aes/user/dao/impl/ClassstudentsDaoImpl.java @@ -45,6 +45,16 @@ public class ClassstudentsDaoImpl extends BaseDaoImpl implements return false; } + @Override + public boolean findClassInviteCode(String inviteCode){ + String hql = "from Classstudents where inviteCode=" + inviteCode; + List classstudents = this.find(hql); + if(classstudents.size()>0) + return true; + else + return false; + } + @Override public int getClassStudentsNum(int classId) { // 获取班级学生的总数 // TODO Auto-generated method stub diff --git a/AES/src/main/java/com/example/aes/user/service/ClassesServiceI.java b/AES/src/main/java/com/example/aes/user/service/ClassesServiceI.java index 912ea45..ea9070c 100644 --- a/AES/src/main/java/com/example/aes/user/service/ClassesServiceI.java +++ b/AES/src/main/java/com/example/aes/user/service/ClassesServiceI.java @@ -10,6 +10,9 @@ import java.util.List; public interface ClassesServiceI { public List findClassesByCondition(int teacherId); public List findClassesByCondition(PMClasses pmclasses); + + public Json takeOneClass(String inviteCode, int studentID); + // public List findAllClass(); // // public DataGrid findClassesByConditionPage(int teacherId, String role, int pageNum, int pageSize); 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 84b8380..f37696b 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,28 +2,33 @@ 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.service.ClassesServiceI; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Date; -import java.util.HashMap; + import java.util.List; -import java.util.UUID; @Service public class ClassesServiceImpl implements ClassesServiceI { private ClassesDaoI classesDao; -// private ClassstudentsDaoI classstudentsDao; -// private AttendenceDaoI attendenceDao; + private ClassstudentsDaoI classstudentsDao; + + // private AttendenceDaoI attendenceDao; // private StudentAttendenceDaoI studentattendenceDao; // private ExamClassesDaoI examClassesDao; @Autowired public void setClassesDao(ClassesDaoI classesDao) { this.classesDao = classesDao; } +@Autowired +public void setclassstudentsDao(ClassstudentsDaoI classstudentsDao) { + this.classstudentsDao = classstudentsDao; + } @Override @@ -37,5 +42,26 @@ public void setClassesDao(ClassesDaoI classesDao) { return classesDao.findClassesByCondition(pmclasses); } + public Json takeOneClass(String inviteCode, int studentID) { + Json json = new Json(); + Classes classes = classesDao.getClassesByCode(inviteCode);// 先检查是否有该班级 + if (classes != null) { + boolean result = classstudentsDao.findClassStudentByUserId(studentID, classes.getId()); + if (result == false) { + result = classstudentsDao.insertClassStudent(studentID, classes.getId()); + int studentsNum = classstudentsDao.getClassStudentsNum(classes.getId()); + boolean results = classesDao.updateClassStudentsNum(classes.getId(), studentsNum); + json.setSuccess(true); + json.setMsg("加入班级成功"); + } else { + json.setSuccess(false); + json.setMsg("已经在班级中"); + } + } else { + json.setSuccess(false); + json.setMsg("没有找到该班级"); + } + return json; + } }