学生端加入班级模块完成

This commit is contained in:
musteven 2025-03-10 14:48:31 +08:00
parent 4bafdd2dc0
commit a196deecb9
5 changed files with 59 additions and 5 deletions

View File

@ -18,4 +18,6 @@ export default {
updateUserInfo: (data) => request.post('/user/editUserInfo', data), updateUserInfo: (data) => request.post('/user/editUserInfo', data),
updateUserPwd: (data) => request.post('/user/editUserPassword', data), updateUserPwd: (data) => request.post('/user/editUserPassword', data),
signUser: (data) => request.post('/user/signUser', data, { noNeedToken: true }), signUser: (data) => request.post('/user/signUser', data, { noNeedToken: true }),
takeClassByInviteCode: (data) => request.post('/classes/takeClassByInviteCode', data), //¼ÓÈë°à¼¶
} }

View File

@ -2,6 +2,7 @@ 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.RespBean; 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.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;
@ -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());
}
} }

View File

@ -45,6 +45,16 @@ public class ClassstudentsDaoImpl extends BaseDaoImpl<Classstudents> implements
return false; return false;
} }
@Override
public boolean findClassInviteCode(String inviteCode){
String hql = "from Classstudents where inviteCode=" + inviteCode;
List<Classstudents> classstudents = this.find(hql);
if(classstudents.size()>0)
return true;
else
return false;
}
@Override @Override
public int getClassStudentsNum(int classId) { // 获取班级学生的总数 public int getClassStudentsNum(int classId) { // 获取班级学生的总数
// TODO Auto-generated method stub // TODO Auto-generated method stub

View File

@ -10,6 +10,9 @@ import java.util.List;
public interface ClassesServiceI { public interface ClassesServiceI {
public List<PMClasses> findClassesByCondition(int teacherId); public List<PMClasses> findClassesByCondition(int teacherId);
public List<PMClasses> findClassesByCondition(PMClasses pmclasses); public List<PMClasses> findClassesByCondition(PMClasses pmclasses);
public Json takeOneClass(String inviteCode, int studentID);
// 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);

View File

@ -2,28 +2,33 @@ 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.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;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.UUID;
@Service @Service
public class ClassesServiceImpl implements ClassesServiceI { public class ClassesServiceImpl implements ClassesServiceI {
private ClassesDaoI classesDao; private ClassesDaoI classesDao;
// private ClassstudentsDaoI classstudentsDao; private ClassstudentsDaoI classstudentsDao;
// private AttendenceDaoI attendenceDao;
// private AttendenceDaoI attendenceDao;
// private StudentAttendenceDaoI studentattendenceDao; // private StudentAttendenceDaoI studentattendenceDao;
// private ExamClassesDaoI examClassesDao; // private ExamClassesDaoI examClassesDao;
@Autowired @Autowired
public void setClassesDao(ClassesDaoI classesDao) { public void setClassesDao(ClassesDaoI classesDao) {
this.classesDao = classesDao; this.classesDao = classesDao;
} }
@Autowired
public void setclassstudentsDao(ClassstudentsDaoI classstudentsDao) {
this.classstudentsDao = classstudentsDao;
}
@Override @Override
@ -37,5 +42,26 @@ public void setClassesDao(ClassesDaoI classesDao) {
return classesDao.findClassesByCondition(pmclasses); 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;
}
} }