diff --git a/AES-front/src/api/admin.js b/AES-front/src/api/admin.js index 2718579..4bf2f29 100644 --- a/AES-front/src/api/admin.js +++ b/AES-front/src/api/admin.js @@ -23,4 +23,7 @@ export default { findAllClasses: (data) => request.post('/classes/findAllClasses', data), getAssistantById: (data) => request.post('/adminusers/getAssistantById', data), editAssistant: (data) => request.post('/adminusers/editAssistant', data), + editPassword: (data) => request.post('/adminusers/editPassword', data), + deleteAdminuser: (data) => request.post('/adminusers/deleteAdminuser', data), + addAssistant: (data) => request.post('/adminusers/addAssistant', data), } diff --git a/AES-front/src/views/admin/assistant/assistant-edit.vue b/AES-front/src/views/admin/assistant/assistant-edit.vue index b7fc625..4cd2de7 100644 --- a/AES-front/src/views/admin/assistant/assistant-edit.vue +++ b/AES-front/src/views/admin/assistant/assistant-edit.vue @@ -123,7 +123,8 @@ const queryByPage1 = async ()=>{ } ) assistantInfoValue.value=res.data - const strArray = assistantInfoValue.value.classIds.split(','); + + const strArray = assistantInfoValue.value.classIds.split(',') assistantInfoValue.value.classId=strArray.map(Number); } catch (err) { } finally { @@ -132,8 +133,7 @@ const queryByPage1 = async ()=>{ } onMounted(()=>{ - - queryByPage1() queryByPage() + queryByPage1() }) diff --git a/AES-front/src/views/admin/assistant/assistant-list.vue b/AES-front/src/views/admin/assistant/assistant-list.vue index 56b089b..ae91ca5 100644 --- a/AES-front/src/views/admin/assistant/assistant-list.vue +++ b/AES-front/src/views/admin/assistant/assistant-list.vue @@ -59,8 +59,7 @@ import { useRouter } from 'vue-router'; const userStore = useUserStore() const router = useRouter() const loading = ref(true) -const assistantList = - ref([{no:"2132312131",id:"1",account:"lisi",name:"李四",role:"助教",email:"2475525791@qq.com"}]) +const assistantList = ref([]) const options=ref([]) const paginationReactive = reactive({ page: 1, diff --git a/AES/src/main/java/com/example/aes/user/controller/AdminusersController.java b/AES/src/main/java/com/example/aes/user/controller/AdminusersController.java index 4f58d07..13f6a66 100644 --- a/AES/src/main/java/com/example/aes/user/controller/AdminusersController.java +++ b/AES/src/main/java/com/example/aes/user/controller/AdminusersController.java @@ -9,6 +9,7 @@ import com.example.aes.user.model.PMAdminusers; import com.example.aes.user.model.UAdminusers; import com.example.aes.user.service.AdminusersServiceI; import com.example.aes.user.service.AssistantClassServiceI; +import org.hibernate.Query; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -51,6 +52,38 @@ public class AdminusersController { else return RespBean.ok("无该账号信息"); } + + @PostMapping("/deleteAdminuser") + public RespBean deleteAdminuser(@RequestBody PMAdminusers pmadminusers) // 删除教师 + { + boolean result = adminusersServiceI.deleteAminuser(pmadminusers); + if (result == true) { + return RespBean.ok("删除用户成功"); + } else { + return RespBean.error("删除用户失败"); + } + } + @PostMapping("/addAssistant") + public RespBean addAssistant(@RequestBody PMAdminusers pmadminusers, HttpServletRequest request) // 添加助管 + { + pmadminusers.setSessionId(pmadminusers.getSessionId().substring(64)); + DecodeToken decodeToken = new DecodeToken(request); + int userId = Integer.parseInt(decodeToken.getUserId()); + // 判断同一个学校是否有相同的助教学校 + PMAdminusers ifPmAdminusers = adminusersServiceI.findAssistantByno(pmadminusers.getNo()); + if(ifPmAdminusers!=null) + return RespBean.error("不能重复添加相同学号助教"); + PMAdminusers pmAdminusers=adminusersServiceI.getAdminuserById(userId); +// pmadminusers.setSchoolId(pmAdminusers.getSchoolId()); + boolean result = adminusersServiceI.addAssistant(pmadminusers); + if (result) { + PMAdminusers user = adminusersServiceI + .getAdminuserByAccount(pmadminusers.getAccount()); + return RespBean.ok("添加助教成功", user); + } else { + return RespBean.error("添加助教失败"); + } + } @PostMapping("/findAdminuserByAccountInRePwInfo") public RespBean findAdminuserByAccountInRePwInfo(@RequestBody PMAdminusers pmadminusers) { PMAdminusers adminuser = adminusersServiceI @@ -129,7 +162,6 @@ public class AdminusersController { int userId = Integer.parseInt(decodeToken.getUserId()); pmadminusers.setId(userId); pmadminusers.setRole(decodeToken.getRole()); - System.out.println(decodeToken.getRole()); // List list = adminusersServiceI // .findAllAssistant(pmadminusers); DataGrid dataGrid = adminusersServiceI @@ -150,7 +182,35 @@ public class AdminusersController { assistant.setClassIds(classIds); return RespBean.ok("查询用户成功", assistant); } + @PostMapping("/editAssistant") + public RespBean editAssistant(@RequestBody PMAdminusers pmadminusers, HttpServletRequest request) // 自该助教信息 + { + DecodeToken decodeToken = new DecodeToken(request); + int teacherId = Integer.parseInt(decodeToken.getUserId()); + pmadminusers.setTeacherId(teacherId); + boolean result = adminusersServiceI.editAssistant(pmadminusers); + assistantClassService.editAssistantClass( + pmadminusers.getTeacherId(), pmadminusers.getId(), + pmadminusers.getClassIds()); + if (result == true) { + return RespBean.ok("修改信息成功"); + } else { + return RespBean.error("修改信息失败"); + } + } + + @PostMapping("/editPassword") + public RespBean editPassword(@RequestBody PMAdminusers pmadminusers) // 修改教师密码 + { + pmadminusers.setSessionId(pmadminusers.getSessionId().substring(64)); + boolean result = adminusersServiceI.editPassword(pmadminusers); + if (result == true) { + return RespBean.ok("修改密码成功"); + } else { + return RespBean.error("修改教师密码失败"); + } + } } 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 5db579e..11c971e 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 @@ -13,5 +13,10 @@ public interface AdminusersDaoI extends BaseDaoI { public Adminusers getAdminuserByAccount(String account); public boolean addTeacher(PMAdminusers pmadminusers); public List findAllAssistant(PMAdminusers pmadminusers); // 查看所有助教信息 + public boolean editAssistant(PMAdminusers pmadminusers); // 编辑助教信息 + public boolean editPassword(PMAdminusers pmadminusers); // 修改密码 + public boolean deleteAdminuser(PMAdminusers pmadminusers); // 删除教师 + public boolean addAssistant(PMAdminusers pmadminusers); // 添加助教 + public Adminusers findAssistantByno(String no); } 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 f5d7be2..d42ee78 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 @@ -143,5 +143,106 @@ public class AdminusersDaoImpl extends BaseDaoImpl implements return pmadminusersList; } - + @Override + public boolean editAssistant(PMAdminusers pmadminusers) { + // TODO Auto-generated method stub + String hql = "update Adminusers set name=:name,email=:email where id=:id"; + Query q = this.getCurrentSession().createQuery(hql); + String name = pmadminusers.getName(); + String role = pmadminusers.getRole(); + String email = pmadminusers.getEmail(); + int id = pmadminusers.getId(); + q.setParameter("name", name); + q.setParameter("email", email); + q.setParameter("id", id); + int result = q.executeUpdate(); + if (result > 0) + return true; + else + return false; + } + @Override + public boolean editPassword(PMAdminusers pmadminusers) { + // TODO Auto-generated method stub + String password = pmadminusers.getSessionId(); + String pwd = pmadminusers.getPassword(); + int id = pmadminusers.getId(); + String hql = "update Adminusers set password=:password, pwd=:pwd where id=:id"; + Query q = this.getCurrentSession().createQuery(hql); + q.setParameter("password", password); + q.setParameter("id", id); + q.setParameter("pwd", pwd); + int result = q.executeUpdate(); + if (result > 0) + return true; + else + return false; + } + @Override + public boolean deleteAdminuser(PMAdminusers pmadminusers) { + // TODO Auto-generated method stub + int id = pmadminusers.getId(); + Adminusers user = this.get(Adminusers.class, id); + String hql = "delete from Adminusers where id=" + id; + int result = this.executeHql(hql); + if (result > 0) { + if (user != null && user.getRole().equals("assistant")) // 如果输助教则删除AssistantClass表中的信息 + { + hql = "delete from AssistantClass where assistantId=" + + pmadminusers.getId(); + this.executeHql(hql); + } + return true; + } else + return false; + } + @Override + public boolean addAssistant(PMAdminusers pmadminusers) { + // TODO Auto-generated method stub + String hql = "from Adminusers where account=:account"; + Query q = this.getCurrentSession().createQuery(hql); + q.setParameter("account", pmadminusers.getAccount()); + List list = q.list(); // 如果账号已经存在,则不能添加 + if (list.size() == 0) { + Adminusers user = new Adminusers(); + user.setAccount(pmadminusers.getAccount()); + user.setPassword(pmadminusers.getSessionId()); + user.setPwd(pmadminusers.getPassword()); + user.setName(pmadminusers.getName()); + user.setRole("assistant"); + user.setEmail(pmadminusers.getEmail()); + user.setActive(1); +// user.setSchoolId(pmadminusers.getSchoolId()); + user.setNo(pmadminusers.getNo()); + this.save(user); + if (user.getId() != null) { + int assistantId = user.getId().intValue(); + String classIds = pmadminusers.getClassIds(); + if (classIds != null && classIds.length() > 0) { + String classId[] = classIds.split(","); + for (int i = 0; i < classId.length; i++) { + boolean result = assistantClassDao.addAssistantClass( + assistantId, Integer.parseInt(classId[i])); + if (result == false) + return false; + } + } + return true; + } else + return false; + } else + return false; + } + @Override + public Adminusers findAssistantByno(String no){ + String hql = "from Adminusers where no=" + " '" + no + "' and role='assistant'"; + List list = this.find(hql); + if (list != null && list.size() != 0) { + return list.get(0); + } else + return null; + } + + + } diff --git a/AES/src/main/java/com/example/aes/user/dao/impl/AssistantClassImpl.java b/AES/src/main/java/com/example/aes/user/dao/impl/AssistantClassImpl.java index 47f70c7..a1ee322 100644 --- a/AES/src/main/java/com/example/aes/user/dao/impl/AssistantClassImpl.java +++ b/AES/src/main/java/com/example/aes/user/dao/impl/AssistantClassImpl.java @@ -74,6 +74,7 @@ public class AssistantClassImpl extends BaseDaoImpl implements @Override public boolean delAssistantClass(int assistantId, int classId) { // TODO Auto-generated method stub + String hql = "delete from AssistantClass where assistantId=" + assistantId + " and classId=" + classId; int result = this.executeHql(hql); diff --git a/AES/src/main/java/com/example/aes/user/service/AdminusersServiceI.java b/AES/src/main/java/com/example/aes/user/service/AdminusersServiceI.java index 2e954ca..adcc431 100644 --- a/AES/src/main/java/com/example/aes/user/service/AdminusersServiceI.java +++ b/AES/src/main/java/com/example/aes/user/service/AdminusersServiceI.java @@ -15,7 +15,12 @@ public interface AdminusersServiceI { public boolean addTeacher(PMAdminusers pmadminusers);// 注册教师 public boolean updatePasswordByAccount(PMAdminusers pmadminusers); -public DataGrid findAllAssistant(PMAdminusers pmadminusers); // 查看所有助教信息 + public DataGrid findAllAssistant(PMAdminusers pmadminusers); // 查看所有助教信息 public PMAdminusers getAdminuserById(int id); // 根据id获取单个老师的信息 + public boolean editAssistant(PMAdminusers pmadminusers); // 修改助教 + public boolean editPassword(PMAdminusers pmadminusers); // 修改密码 + public boolean deleteAminuser(PMAdminusers pmadminusers); // 删除教师 + public PMAdminusers findAssistantByno(String no);//根据工号查找助教 + public boolean addAssistant(PMAdminusers pmadminusers); // 添加助教 } diff --git a/AES/src/main/java/com/example/aes/user/service/impl/AdminusersServiceImpl.java b/AES/src/main/java/com/example/aes/user/service/impl/AdminusersServiceImpl.java index 4e3fbe0..946aa70 100644 --- a/AES/src/main/java/com/example/aes/user/service/impl/AdminusersServiceImpl.java +++ b/AES/src/main/java/com/example/aes/user/service/impl/AdminusersServiceImpl.java @@ -191,4 +191,43 @@ public class AdminusersServiceImpl implements AdminusersServiceI { } } } + @Override + public boolean editAssistant(PMAdminusers pmadminusers) { + // TODO Auto-generated method stub + return adminusersDao.editAssistant(pmadminusers); + } + @Override + public boolean editPassword(PMAdminusers pmadminusers) { + // TODO Auto-generated method stub + return adminusersDao.editPassword(pmadminusers); + } + @Override + public boolean deleteAminuser(PMAdminusers pmadminusers) { + // TODO Auto-generated method stub + return adminusersDao.deleteAdminuser(pmadminusers); + } + @Override + public boolean addAssistant(PMAdminusers pmadminusers) { + // TODO Auto-generated method stub + return adminusersDao.addAssistant(pmadminusers); + } + @Override + public PMAdminusers findAssistantByno(String no){ + Adminusers adminusers = + adminusersDao.findAssistantByno(no); + if(adminusers!=null){ + PMAdminusers pmAdminusers = new PMAdminusers(); + pmAdminusers.setId(adminusers.getId()); + pmAdminusers.setName(adminusers.getName()); + pmAdminusers.setAccount(adminusers.getAccount()); + pmAdminusers.setRole(adminusers.getRole()); + pmAdminusers.setEmail(adminusers.getEmail()); + pmAdminusers.setStatus(adminusers.getStatus()); + pmAdminusers.setNo(adminusers.getNo()); + return pmAdminusers; + } + else + return null; + } + } diff --git a/AES/src/main/java/com/example/aes/user/service/impl/AssistantClassServiceImpl.java b/AES/src/main/java/com/example/aes/user/service/impl/AssistantClassServiceImpl.java index f249967..e785970 100644 --- a/AES/src/main/java/com/example/aes/user/service/impl/AssistantClassServiceImpl.java +++ b/AES/src/main/java/com/example/aes/user/service/impl/AssistantClassServiceImpl.java @@ -37,7 +37,8 @@ public class AssistantClassServiceImpl implements AssistantClassServiceI { .getAssistantClassAndClassNotEnd(teacherId, assistantId); // 获取教师一年以内的班级 String classId[] = classIds.split(","); boolean isExist = false; - for (int i = 0; i < classId.length; i++) { + int size=aelist.size(); + for (int i = size; i < classId.length; i++) { isExist = false; for (int j = 0; j < aelist.size(); j++) { if (Integer.parseInt(classId[i]) == aelist.get(j).getClassId() @@ -49,16 +50,15 @@ public class AssistantClassServiceImpl implements AssistantClassServiceI { } if (isExist == false) // 新增加的 - { + {if(Integer.parseInt(classId[i])!=0) assistantClassDao.addAssistantClass(assistantId, Integer.parseInt(classId[i])); } } for (int i = 0; i < aelist.size(); i++) // 去掉没有的 { - - assistantClassDao.delAssistantClass(assistantId, aelist.get(i) - .getClassId().intValue()); + if(aelist.get(i).getClassId()!=0) + assistantClassDao.delAssistantClass(assistantId, aelist.get(i).getClassId().intValue()); } }