完成添加班级到课程和学生信息的相关接口
This commit is contained in:
parent
a9d9366f06
commit
2f97a3466c
|
|
@ -43,4 +43,8 @@ export default {
|
|||
findAllTeacher: (data) =>
|
||||
request.post('/adminusers/findAllTeacher', data),
|
||||
findClassNotInCourse: (data) => request.post('/classes/findClassNotInCourse', data),
|
||||
addClassToCourse: (data) => request.post('/classes/addClassToCourse', data),
|
||||
findClassStudentsByIdPage: (data) => request.post('/classes/findClassStudentsByIdPage', data),
|
||||
deleteClassStudentsById: (data) => request.post('/classes/deleteClassStudentsById', data),
|
||||
getUserAdd: (data) => request.post('/user/getUserAdd', data),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -264,13 +264,11 @@ const onDeleteClass = async (classid)=>{
|
|||
}
|
||||
}
|
||||
const onStudentClass = async (classid)=>{
|
||||
// const {id} = classid
|
||||
const id=1
|
||||
const {id} = classid
|
||||
await router.push({name: 'AdminClassStudents', params: {clId: id}})
|
||||
}
|
||||
const onAssistantClass = async (classid)=>{
|
||||
// const {id} = classid
|
||||
const id=1
|
||||
const {id} = classid
|
||||
await router.push({name: 'AdminClassAssistant', params: {clId: id}})
|
||||
}
|
||||
const onEditClass = async (classid)=>{
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
:single-line="false"
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:data="classList"
|
||||
:data="studentList"
|
||||
:loading="loading"
|
||||
:pagination="paginationReactive"
|
||||
:row-key="rowKey"
|
||||
|
|
@ -34,8 +34,8 @@ const userStore = useUserStore()
|
|||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
const loading = ref(true)
|
||||
const classList =
|
||||
ref([{studentNo:"211310509",chineseName:"张三",username:"zhangsan",banji:"计算机2101",email:"2286848422@qq.com"}])
|
||||
const studentList =
|
||||
ref([])
|
||||
const {clId} = route.params
|
||||
const cIId=parseInt(clId)
|
||||
const options = ref([])
|
||||
|
|
@ -131,7 +131,7 @@ const queryByPage = async ()=>{
|
|||
paginationReactive.page = pageNum
|
||||
paginationReactive.pageSize = pageSize
|
||||
paginationReactive.itemCount = total
|
||||
classList.value=list.map((item,i)=>{
|
||||
studentList.value=list.map((item,i)=>{
|
||||
if (item.username===''||item.username===null){
|
||||
item.username='请学生注册'
|
||||
}
|
||||
|
|
@ -147,8 +147,8 @@ const onChangePage = (page) => {
|
|||
queryByPage()
|
||||
}
|
||||
}
|
||||
const onDeleteClass = async (classId)=>{
|
||||
classInfoValue.value.userId = classId.id
|
||||
const onDeleteClass = async (student)=>{
|
||||
classInfoValue.value.userId = student.id
|
||||
try {
|
||||
await api.deleteClassStudentsById({...classInfoValue.value})
|
||||
$message.success("删除成功")
|
||||
|
|
|
|||
|
|
@ -144,11 +144,11 @@ const onUpdatePageSize = (pageSize) => {
|
|||
paginationReactive.page = 1;
|
||||
queryByPage(1)
|
||||
}
|
||||
const onBanjiCourse= async (classId)=>{
|
||||
const { id } = classId
|
||||
const onBanjiCourse= async (courseId)=>{
|
||||
const { id } = courseId
|
||||
try {
|
||||
await router.push({ name:
|
||||
'AdminClassManage', query: { classId: id
|
||||
'AdminClassManage', query: { courseId: id
|
||||
} })
|
||||
}catch (err){
|
||||
$message.error('无法查看')
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
style="margin-left: 30px"
|
||||
type="primary"
|
||||
:loading="queryLoading"
|
||||
@click="getClassesNotInExam"
|
||||
@click="getClassesNotInCourse"
|
||||
>
|
||||
查询
|
||||
</n-button>
|
||||
|
|
@ -80,11 +80,11 @@ const options1 =
|
|||
const options2 = ref([])
|
||||
const queryLoading = ref(false)
|
||||
const teacherInfoValue = ref({
|
||||
schoolId: '1',
|
||||
// schoolId: '1',
|
||||
teacherId: '',
|
||||
})
|
||||
const teacherId = ref(0)
|
||||
const classes = ref([{id:1,name:'班级1',teacherName:'黄秋波',studentNum:40}])
|
||||
const classes = ref([])
|
||||
const loading = ref(false)
|
||||
const otherSchool = ref(false)
|
||||
const columns = [
|
||||
|
|
@ -130,7 +130,8 @@ const columns = [
|
|||
return h(
|
||||
ExamClassesAddActions,
|
||||
{
|
||||
onClickAdd: () => addClassToExam(row),
|
||||
onClickAdd: () =>
|
||||
addClassToCourse(row),
|
||||
onClickStudentInfo: () => onStudentClass(row),
|
||||
showStudentInfoButton: isAdmin || isTeacher,
|
||||
onClickAssistant: () => onAssistantClass(row),
|
||||
|
|
@ -221,11 +222,11 @@ const onStudentClass = (classId)=>{
|
|||
const {id} = classId
|
||||
router.push({name: 'AdminClassStudents',params:{clId: id}})
|
||||
}
|
||||
const addClassToExam = async (classId) => {
|
||||
const addClassToCourse = async (classId) => {
|
||||
const {id} = classId
|
||||
try {
|
||||
await api.addClassToExam({
|
||||
examId: examId,
|
||||
await api.addClassToCourse({
|
||||
courseId:courseId,
|
||||
classId: id,
|
||||
history:history
|
||||
})
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ 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.dao.ClassesDaoI;
|
||||
import com.example.aes.user.dao.ClassstudentsDaoI;
|
||||
import com.example.aes.user.model.DataGrid;
|
||||
import com.example.aes.user.model.Json;
|
||||
import com.example.aes.user.model.PMClasses;
|
||||
|
|
@ -25,16 +27,16 @@ public class ClassesController{
|
|||
@Autowired
|
||||
private ClassesServiceI classesServiceI;
|
||||
// private int classId, userId, examId,paperexamId,ClassTimeId;
|
||||
// @Autowired
|
||||
// private ClassstudentsDaoI classstudentsDao;
|
||||
@Autowired
|
||||
private ClassstudentsDaoI classstudentsDao;
|
||||
// @Autowired
|
||||
// private ExamClassesDaoI examclassesDao;
|
||||
// @Autowired
|
||||
// private ExamClasseshisDaoI examClasseshisDaoI;
|
||||
// @Autowired
|
||||
// private PaperExamClassesDaoI paperexamclassesDao;
|
||||
// @Autowired
|
||||
// private ClassesDaoI classesDao;
|
||||
@Autowired
|
||||
private ClassesDaoI classesDao;
|
||||
// @Autowired
|
||||
// private ExamServiceI examService;
|
||||
//
|
||||
|
|
@ -106,12 +108,42 @@ public class ClassesController{
|
|||
return RespBean.error("删除班级失败", result);
|
||||
}
|
||||
}
|
||||
@PostMapping("/addClassToCourse")
|
||||
public RespBean addClassToCourse(@RequestBody UClass uClass,HttpServletRequest request) // 添加班级到课程中
|
||||
{
|
||||
|
||||
classesServiceI.addClassToCourse(uClass);
|
||||
return RespBean.ok("添加班级成功");
|
||||
}
|
||||
|
||||
@PostMapping("/addClass")
|
||||
public RespBean addClass(@RequestBody PMClasses pmclasses) // 添加班级
|
||||
{
|
||||
classesServiceI.addClass(pmclasses);
|
||||
return RespBean.ok("添加班级成功");
|
||||
}
|
||||
@PostMapping("/findClassStudentsByIdPage")
|
||||
public RespBean findClassStudentsByIdPage(@RequestBody PageBean pageBean) {
|
||||
if (pageBean.getPageNum() < 1 || pageBean.getPageSize() < 1)
|
||||
return RespBean.error("参数错误!");
|
||||
int classId = pageBean.getId();
|
||||
|
||||
DataGrid users = classesServiceI.findClassStudentsByIdPage(classId, pageBean.getPageNum(), pageBean.getPageSize());
|
||||
return RespBean.ok("查询班级所有学生信息成功", users);
|
||||
}
|
||||
@PostMapping("/deleteClassStudentsById")
|
||||
public RespBean deleteClassStudentsById(@RequestBody UClass uClass) // 通过编号删除班级学生
|
||||
{
|
||||
boolean result = classesServiceI.deleteClassStudentsByUserId(uClass.getClassId(), uClass.getUserId());
|
||||
if (result == true) {
|
||||
int studentsNum = classstudentsDao.getClassStudentsNum(uClass.getClassId());
|
||||
classesDao.updateClassStudentsNum(uClass.getClassId(), studentsNum);
|
||||
return RespBean.ok("删除班级学生成功");
|
||||
} else {
|
||||
return RespBean.error("删除班级学生失败");
|
||||
}
|
||||
|
||||
}
|
||||
@PostMapping("/findClassNotInCourse")
|
||||
public RespBean findClassNotInCourse(@RequestBody UClass uClass, HttpServletRequest request) // 查看参与课程的班级
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ package com.example.aes.user.controller;
|
|||
import com.auth0.jwt.exceptions.JWTDecodeException;
|
||||
import com.example.aes.global.model.DecodeToken;
|
||||
import com.example.aes.global.model.RespBean;
|
||||
import com.example.aes.user.dao.AdminusersDaoI;
|
||||
import com.example.aes.user.dao.ClassesDaoI;
|
||||
import com.example.aes.user.model.*;
|
||||
import com.example.aes.user.service.UserServiceI;
|
||||
import com.example.aes.user.dao.ClassstudentsDaoI;
|
||||
|
|
@ -29,6 +31,10 @@ public class UserController {
|
|||
private UserServiceI userService;
|
||||
@Resource
|
||||
private ClassstudentsDaoI classstudentsDao;
|
||||
@Resource
|
||||
private ClassesDaoI classesDao;
|
||||
@Resource
|
||||
private AdminusersDaoI adminusersDao;
|
||||
// 修改用户信息
|
||||
@PostMapping("/editUserInfo")
|
||||
public RespBean editUserInfo(@RequestBody PMUser user, HttpServletRequest request) {
|
||||
|
|
@ -120,6 +126,82 @@ public class UserController {
|
|||
return RespBean.error("获取学生信息失败");
|
||||
}
|
||||
}
|
||||
@PostMapping("/getUserAdd")
|
||||
public RespBean getUserAdd(@RequestBody PMUser user1) // 添加学生的信息
|
||||
{
|
||||
String studentNo = user1.getStudentNo();
|
||||
String chineseName = user1.getChineseName();
|
||||
String username = "";
|
||||
String banji = user1.getBanji();
|
||||
String sessionId = "";
|
||||
String password = "";
|
||||
int classId = user1.getId();
|
||||
|
||||
try {
|
||||
Classes onclass = classesDao.get(Classes.class, classId);
|
||||
if (onclass != null) {
|
||||
int teacherId = onclass.getTeacherId();
|
||||
Adminusers adminuser = adminusersDao.get(Adminusers.class, teacherId);
|
||||
if (adminuser != null) {
|
||||
// int schoolId = adminuser.getSchoolId();
|
||||
Users user = userService.findUserByStudentNo(studentNo); // 用户信息
|
||||
if (user != null) {
|
||||
boolean result = classstudentsDao.findClassStudentByUserId(user.getId(), classId); // 如果为true则表明该学生已在表中
|
||||
if (result) {
|
||||
return RespBean.error("该学生已存在,不能重复添加!");
|
||||
} else {
|
||||
result = classstudentsDao.insertClassStudent(user.getId(), classId); // 强用户插入classstudents表
|
||||
// 更新学生人数
|
||||
int studentsNum = classstudentsDao.getClassStudentsNum(classId);
|
||||
boolean results = classesDao.updateClassStudentsNum(classId, studentsNum);
|
||||
if (results) {
|
||||
return RespBean.ok("添加学生信息成功");
|
||||
} else {
|
||||
return RespBean.error("添加学生信息失败");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
boolean flag = false;
|
||||
PMUser pMuser = new PMUser();
|
||||
// 将pMProblemTestCaseAdd 同属性的数据复制到problems
|
||||
pMuser.setBanji(banji);
|
||||
// pMuser.setSchoolId(schoolId);
|
||||
pMuser.setChineseName(chineseName);
|
||||
pMuser.setStudentNo(studentNo);
|
||||
pMuser.setUsername(username);
|
||||
pMuser.setSessionId(sessionId);
|
||||
pMuser.setPassword(password);
|
||||
|
||||
flag = userService.addSignStudent(pMuser);
|
||||
if (flag) {
|
||||
Users u = userService.findUserByStudentNo(studentNo);
|
||||
if (u != null) {
|
||||
boolean result = classstudentsDao.findClassStudentByUserId(u.getId(), classId); // 如果为true则表明该学生已在表中
|
||||
if (result == false)
|
||||
result = classstudentsDao.insertClassStudent(u.getId(), classId); // 强用户插入classstudents表
|
||||
}
|
||||
|
||||
// 更新学生人数
|
||||
int studentsNum = classstudentsDao.getClassStudentsNum(classId);
|
||||
boolean results = classesDao.updateClassStudentsNum(classId, studentsNum);
|
||||
return RespBean.ok("添加学生信息成功");
|
||||
} else {
|
||||
return RespBean.error("添加学生信息失败");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 新增
|
||||
return RespBean.error("添加学生信息失败");
|
||||
}
|
||||
|
||||
@PostMapping("/getPassword")
|
||||
public RespBean getPassword(@RequestBody PMUser user1) // 获取学生的密码
|
||||
|
|
|
|||
|
|
@ -45,4 +45,8 @@ public interface ClassesDaoI extends BaseDaoI<Classes> {
|
|||
public long findClassNotInCourseNum(int courseId, int teacherId, boolean history);
|
||||
public List<Classes> findAllClass(); // 查询所有班级
|
||||
public void addClass(PMClasses pclass); // 添加班级
|
||||
public void addClassToCourse(UClass uClass);//添加班级到课程
|
||||
public long findClassStudentsByIdNum(int classId);
|
||||
public List<PMUser> findClassStudentsByIdPage(int classId, int pageNum, int pageSize);
|
||||
public boolean deleteClassStudentsByUserId(int classId, int userId); // 通过userId删除班级学生
|
||||
}
|
||||
|
|
|
|||
|
|
@ -336,7 +336,7 @@ public class ClassesDaoImpl extends BaseDaoImpl<Classes> implements ClassesDaoI
|
|||
public List<PMClasses> findClassNotInCourse(int courseId, int teacherId, int pageNum, int pageSize, boolean history) {
|
||||
// TODO Auto-generated method stub
|
||||
StringBuffer sql = new StringBuffer();
|
||||
Map<String,Object> params = new HashMap<String, Object>();
|
||||
// Map<String,Object> params = new HashMap<String, Object>();
|
||||
if(history){
|
||||
sql.append("from Classes where " +
|
||||
"courseId is null");
|
||||
|
|
@ -346,9 +346,9 @@ public class ClassesDaoImpl extends BaseDaoImpl<Classes> implements ClassesDaoI
|
|||
"courseId is null");
|
||||
}
|
||||
if(teacherId!=0){
|
||||
sql.append(" and teacherId" +
|
||||
"=:teacherId ");
|
||||
params.put("teacherId", teacherId);
|
||||
sql.append(" and teacherId=" +
|
||||
teacherId);
|
||||
// params.put("teacherId", teacherId);
|
||||
}
|
||||
sql.append(" order by id desc ");
|
||||
// params.put("courseId", courseId);
|
||||
|
|
@ -483,10 +483,59 @@ public class ClassesDaoImpl extends BaseDaoImpl<Classes> implements ClassesDaoI
|
|||
this.save(c);
|
||||
}
|
||||
@Override
|
||||
public void addClassToCourse(UClass uClass){
|
||||
// TODO Auto-generated method stub
|
||||
String hql =
|
||||
"update Classes set courseId=" + uClass.getCourseId() + " where id="
|
||||
+ uClass.getClassId();
|
||||
this.executeHql(hql);
|
||||
};
|
||||
@Override
|
||||
public List<Classes> findAllClass() {
|
||||
// TODO Auto-generated method stub
|
||||
String hql = "from Classes";
|
||||
return this.find(hql);
|
||||
}
|
||||
@Override
|
||||
public List<PMUser> findClassStudentsByIdPage(int classId, int pageNum, int pageSize){
|
||||
String hql = "select u from Users u,Classstudents c where c.classId="
|
||||
+ classId + " and u.id=c.userId order by u.studentNo asc";
|
||||
Query q = this.getCurrentSession().createQuery(hql);
|
||||
List<Users> classstudentsList = q.setFirstResult((pageNum - 1) * pageSize).setMaxResults(pageSize).list();
|
||||
List<PMUser> userList = new ArrayList<PMUser>();
|
||||
for (int i = 0; i < classstudentsList.size(); i++) {
|
||||
Users user = classstudentsList.get(i);
|
||||
if (user != null) {
|
||||
PMUser p = new PMUser();
|
||||
p.setId(user.getId());
|
||||
p.setStudentNo(user.getStudentNo());
|
||||
p.setUsername(user.getUsername());
|
||||
p.setChineseName(user.getChineseName());
|
||||
p.setBanji(user.getBanji());
|
||||
p.setEmail(user.getEmail());
|
||||
userList.add(p);
|
||||
}
|
||||
}
|
||||
return userList;
|
||||
}
|
||||
@Override
|
||||
public boolean deleteClassStudentsByUserId(int classId, int userId) {
|
||||
// TODO Auto-generated method stub
|
||||
String hql = "delete from Classstudents where classId=" + classId
|
||||
+ " and userId=" + userId;
|
||||
int result = classstudentsDao.executeHql(hql);
|
||||
if (result == 1)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long findClassStudentsByIdNum(int classId){
|
||||
String totalhql = "select count(distinct u.id ) from Users u,Classstudents c where c.classId="
|
||||
+ classId + " and u.id=c.userId order by u.studentNo asc";
|
||||
|
||||
return this.count(totalhql).longValue();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,9 @@ public interface ClassesServiceI {
|
|||
public boolean deleteClass(int id); // 删除班级
|
||||
|
||||
public void addClass(PMClasses pclass); // 添加班级
|
||||
|
||||
public void addClassToCourse(UClass uClass);//添加班级到课程
|
||||
public DataGrid findClassStudentsByIdPage(int classId,int pageNum, int pageSize);
|
||||
public boolean deleteClassStudentsByUserId(int classId, int userId);
|
||||
public DataGrid findClassNotInCourse(UClass uClass, int pageNum, int pageSize); // 获取未参加课程的班级
|
||||
public DataGrid findClassNotInCourse(int courseId, int teacherId, int pageNum, int pageSize, boolean history); // 获取未参加课程的班级
|
||||
|
||||
|
|
|
|||
|
|
@ -184,6 +184,9 @@ public void setclassstudentsDao(ClassstudentsDaoI classstudentsDao) {
|
|||
}
|
||||
classesDao.addClass(pclass);
|
||||
}
|
||||
public void addClassToCourse(UClass uClass){
|
||||
classesDao.addClassToCourse(uClass);
|
||||
};
|
||||
// addclass要用的方法
|
||||
public String getInviteCode() {
|
||||
// 1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD>룬2.<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
||||
|
|
@ -198,5 +201,35 @@ public void setclassstudentsDao(ClassstudentsDaoI classstudentsDao) {
|
|||
}
|
||||
return shortBuffer.toString();
|
||||
}
|
||||
@Override
|
||||
public DataGrid findClassStudentsByIdPage(int classId,int pageNum, int pageSize){
|
||||
DataGrid dg = new DataGrid();
|
||||
long totalLines;
|
||||
List<PMUser> userList;
|
||||
|
||||
totalLines = classesDao.findClassStudentsByIdNum(classId);
|
||||
userList = classesDao.findClassStudentsByIdPage(classId, pageNum, pageSize);
|
||||
|
||||
if (userList == 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(userList.size());
|
||||
// 设置当前页的所有数据行
|
||||
dg.setList(userList);
|
||||
return dg;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean deleteClassStudentsByUserId(int classId, int userId) {
|
||||
return classesDao.deleteClassStudentsByUserId(classId, userId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue