教师管理接口全部完成

This commit is contained in:
zlm133588 2025-03-09 20:13:01 +08:00
parent 399b6b3bb5
commit 4bafdd2dc0
9 changed files with 304 additions and 6 deletions

View File

@ -26,4 +26,9 @@ export default {
editPassword: (data) => request.post('/adminusers/editPassword', data), editPassword: (data) => request.post('/adminusers/editPassword', data),
deleteAdminuser: (data) => request.post('/adminusers/deleteAdminuser', data), deleteAdminuser: (data) => request.post('/adminusers/deleteAdminuser', data),
addAssistant: (data) => request.post('/adminusers/addAssistant', data), addAssistant: (data) => request.post('/adminusers/addAssistant', data),
findAllAdminusers: (data) => request.post('/adminusers/findAllAdminusers', data),
editTeacherStatus: (data) => request.post('/adminusers/editTeacherStatus', data),
getAdminuserById: (data) => request.post('/adminusers/getAdminuserById', data),
editAdminuser: (data) => request.post('/adminusers/editAdminuser', data),
addAdminuser: (data) => request.post('/adminusers/addAdminuser', data),
} }

View File

@ -87,8 +87,8 @@ const teacherInfoValue = ref({
no:'', no:'',
role:'teacher', role:'teacher',
email:'', email:'',
active:1, active:1
schoolId:userStore.getSchoolId(), // schoolId:userStore.getSchoolId(),
}); });
const passwordsMatch = computed(() => teacherInfoValue.value.password=== teacherInfoValue.value.confirmPassword); const passwordsMatch = computed(() => teacherInfoValue.value.password=== teacherInfoValue.value.confirmPassword);
const teacherInfoRef = ref(null) const teacherInfoRef = ref(null)

View File

@ -43,7 +43,7 @@ const router = useRouter()
const options=ref([]) const options=ref([])
const loading = ref(true) const loading = ref(true)
const teacherList = const teacherList =
ref([{tcId:"1",account:"zzp",no:21313357,name:"教师1",role:"teacher",email:"zzp@163.com",status:true}]) ref([])
const rules=ref(null) const rules=ref(null)
const paginationReactive = reactive({ const paginationReactive = reactive({
page: 1, page: 1,
@ -183,8 +183,7 @@ const onPasswordClass = async (classId)=>{
} }
} }
const onEditClass = async (classId)=>{ const onEditClass = async (classId)=>{
// const {id} = classId const {id} = classId
const id=1
await router.push({name: 'TeacherEdit', params: {clId: id}}) await router.push({name: 'TeacherEdit', params: {clId: id}})
} }
const onDeleteClass = async (classId)=>{ const onDeleteClass = async (classId)=>{

View File

@ -0,0 +1,98 @@
package com.example.aes.global.model;
public class PageBean implements java.io.Serializable{
// 班级id
private int id;
private int examId;
private int pageNum;
private int pageSize;
private int userId;
private int schoolId;
private int teacherId;
//传入班级id,获取该班的截止时间限制
private int classId;
private String name;
public PageBean(){}
public PageBean(int examId, int pageNum, int pageSize, int userId) {
this.examId = examId;
this.pageNum = pageNum;
this.pageSize = pageSize;
this.userId = userId;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getExamId() {
return examId;
}
public void setExamId(int examId) {
this.examId = examId;
}
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public int getSchoolId() {
return schoolId;
}
public void setSchoolId(int schoolId) {
this.schoolId = schoolId;
}
public int getTeacherId() {
return teacherId;
}
public void setTeacherId(int teacherId) {
this.teacherId = teacherId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getClassId() {
return classId;
}
public void setClassId(int classId) {
this.classId = classId;
}
}

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.PageBean;
import com.example.aes.global.model.RespBean; import com.example.aes.global.model.RespBean;
import com.example.aes.user.model.AssistantClass; import com.example.aes.user.model.AssistantClass;
import com.example.aes.user.model.DataGrid; import com.example.aes.user.model.DataGrid;
@ -52,7 +53,51 @@ public class AdminusersController {
else else
return RespBean.ok("无该账号信息"); return RespBean.ok("无该账号信息");
} }
// 管理员修改状态
@PostMapping("/editTeacherStatus")
public RespBean editTeacherStatus(@RequestBody UAdminusers uAdminusers, HttpServletRequest request){
DecodeToken decodeToken = new DecodeToken(request);
String role = decodeToken.getRole();
if(role.equals("admin")){
String account = uAdminusers.getAccount();
String status = uAdminusers.getStatus();
boolean result = adminusersServiceI.updateStatusByaccount(account, status);
if(result)
return RespBean.ok("修改状态成功");
else
return RespBean.ok("修改状态失败");
}
return RespBean.error("不具备权限");
}
@PostMapping("/getAdminuserById")
public RespBean getAdminuserById(@RequestBody PMAdminusers pmadminusers) // 获取单个用户的信息
{
PMAdminusers adminuser = adminusersServiceI
.getAdminuserById(pmadminusers.getId());
return RespBean.ok("查询用户成功", adminuser);
}
@PostMapping("/editAdminuser")
public RespBean editAdminuser(@RequestBody PMAdminusers pmadminusers) // 编辑教师信息,能够改变的是name,role,email
{
boolean result = adminusersServiceI.editAdminuser(pmadminusers);
if (result == true) {
return RespBean.ok("修改信息成功");
} else {
return RespBean.error("修改信息失败");
}
}
@PostMapping("/addAdminuser")
public RespBean addAdminuser(@RequestBody PMAdminusers pmadminusers) // 添加教师
{
pmadminusers.setSessionId(pmadminusers.getSessionId().substring(64));
boolean result = adminusersServiceI.addAdminuser(pmadminusers);
if (result == true) {
return RespBean.ok("添加教师成功");
} else {
return RespBean.error("添加教师失败");
}
}
@PostMapping("/deleteAdminuser") @PostMapping("/deleteAdminuser")
public RespBean deleteAdminuser(@RequestBody PMAdminusers pmadminusers) // 删除教师 public RespBean deleteAdminuser(@RequestBody PMAdminusers pmadminusers) // 删除教师
{ {
@ -96,6 +141,15 @@ public class AdminusersController {
return RespBean.error("查询教师信息失败"); return RespBean.error("查询教师信息失败");
} }
} }
@PostMapping("/findAllAdminusers")
public RespBean findAllAdminusers(@RequestBody PageBean pageBean) {
if(pageBean.getPageNum() < 1 || pageBean.getPageSize() < 1)
return RespBean.error("参数错误");
DataGrid chapters = adminusersServiceI
.findAllAdminusers(pageBean.getName(),pageBean.getPageNum(), pageBean.getPageSize());
return RespBean.ok("查询所有用户成功", chapters);
}
@PostMapping("/signTeacher") @PostMapping("/signTeacher")
public RespBean signTeacher(@RequestBody PMAdminusers pmadminusers) // 注册教师 public RespBean signTeacher(@RequestBody PMAdminusers pmadminusers) // 注册教师
{ {

View File

@ -18,5 +18,10 @@ public interface AdminusersDaoI extends BaseDaoI<Adminusers> {
public boolean deleteAdminuser(PMAdminusers pmadminusers); // 删除教师 public boolean deleteAdminuser(PMAdminusers pmadminusers); // 删除教师
public boolean addAssistant(PMAdminusers pmadminusers); // 添加助教 public boolean addAssistant(PMAdminusers pmadminusers); // 添加助教
public Adminusers findAssistantByno(String no); public Adminusers findAssistantByno(String no);
public List<PMAdminusers> findAllAdminusersPage(String name, int pageNum, int pageSize);
public long findAllAdminusersNum(String name);
public boolean updateStatusByaccount(String account, String status);
public boolean editAdminuser(PMAdminusers pmadminusers); // 编辑教师信息
public boolean addAdminuser(PMAdminusers pmadminusers); // 添加教师
} }

View File

@ -242,7 +242,111 @@ public class AdminusersDaoImpl extends BaseDaoImpl<Adminusers> implements
} else } else
return null; return null;
} }
@Override
public List<PMAdminusers> findAllAdminusersPage(String name, int pageNum, int pageSize){
StringBuilder hql = new StringBuilder();
hql.append("from Adminusers where role='teacher'");
if(!name.equals("")){
hql.append(" and name like '%" + name + "%'");
}
hql.append(" order by id asc");
// String hql = "from Adminusers where role='teacher'";
List<Adminusers> adminusersList = this.find(hql.toString(), pageNum, pageSize);
List<PMAdminusers> pmadminusersList = new ArrayList<PMAdminusers>();
for (int i = 0; i < adminusersList.size(); i++) {
Adminusers adminusers = adminusersList.get(i);
// School s = schoolDao.get(School.class, adminusers.getSchoolId());
PMAdminusers p = new PMAdminusers();
p.setId(adminusers.getId());
p.setName(adminusers.getName());
// p.setSchoolId(adminusers.getSchoolId());
// p.setSchoolname(s.getName());
p.setAccount(adminusers.getAccount());
p.setRole(adminusers.getRole());
p.setEmail(adminusers.getEmail());
p.setStatus(adminusers.getStatus());
p.setNo(adminusers.getNo());
pmadminusersList.add(p);
}
// Collections.sort(pmadminusersList, new Comparator<PMAdminusers>() {
// @Override
// public int compare(PMAdminusers p1, PMAdminusers p2) {
// // Convert names to pinyin and compare
// return comparePinyin(p1.getName(), p2.getName());
// }
// });
return pmadminusersList;
}
@Override
public long findAllAdminusersNum(String name){
StringBuilder hql = new StringBuilder();
hql.append("select count(*) from Adminusers where role='teacher'");
if(!name.equals("")){
hql.append(" and name like '%" + name + "%'");
}
return this.count(hql.toString()).longValue();
}
@Override
public boolean updateStatusByaccount(String account, String status){
String hql = "update Adminusers set status=:status where account=:account";
Query q = this.getCurrentSession().createQuery(hql);
q.setParameter("account", account);
q.setParameter("status", status);
int result = q.executeUpdate();
if (result > 0)
return true;
else
return false;
}
@Override
public boolean editAdminuser(PMAdminusers pmadminusers) {
// TODO Auto-generated method stub
String hql = "update Adminusers set name=:name,role=:role,email=:email,no=:no where id=:id";
Query q = this.getCurrentSession().createQuery(hql);
String name = pmadminusers.getName();
String role = pmadminusers.getRole();
String email = pmadminusers.getEmail();
String no = pmadminusers.getNo();
int id = pmadminusers.getId();
q.setParameter("name", name);
q.setParameter("role", role);
q.setParameter("email", email);
q.setParameter("id", id);
q.setParameter("no", no);
int result = q.executeUpdate();
if (result > 0)
return true;
else
return false;
}
@Override
public boolean addAdminuser(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<Adminusers> list = q.list(); // 如果账号以及存在,则不能添加
if (list.size() == 0) {
Adminusers adminuser = new Adminusers();
adminuser.setAccount(pmadminusers.getAccount());
adminuser.setPassword(pmadminusers.getSessionId());
adminuser.setPwd(pmadminusers.getPassword());
adminuser.setName(pmadminusers.getName());
adminuser.setRole(pmadminusers.getRole());
adminuser.setEmail(pmadminusers.getEmail());
adminuser.setActive(pmadminusers.getActive());
// adminuser.setSchoolId(pmadminusers.getSchoolId());
adminuser.setNo(pmadminusers.getNo());
adminuser.setStatus("通过");
Integer result = (Integer) this.save(adminuser);
if (result != null)
return true;
else
return false;
} else
return false;
}
} }

View File

@ -22,5 +22,9 @@ public interface AdminusersServiceI {
public boolean deleteAminuser(PMAdminusers pmadminusers); // 删除教师 public boolean deleteAminuser(PMAdminusers pmadminusers); // 删除教师
public PMAdminusers findAssistantByno(String no);//根据工号查找助教 public PMAdminusers findAssistantByno(String no);//根据工号查找助教
public boolean addAssistant(PMAdminusers pmadminusers); // 添加助教 public boolean addAssistant(PMAdminusers pmadminusers); // 添加助教
public DataGrid findAllAdminusers(String name,int pageNum, int pageSize);
public boolean updateStatusByaccount(String account, String status);
public boolean editAdminuser(PMAdminusers pmadminusers); // 编辑教师信息
public boolean addAdminuser(PMAdminusers pmadminusers); // 添加教师
} }

View File

@ -211,6 +211,35 @@ public class AdminusersServiceImpl implements AdminusersServiceI {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return adminusersDao.addAssistant(pmadminusers); return adminusersDao.addAssistant(pmadminusers);
} }
@Override
public DataGrid findAllAdminusers(String name, int pageNum, int pageSize) {
DataGrid dg = new DataGrid();
long totalLines = adminusersDao.findAllAdminusersNum(name);
List<PMAdminusers> pmAdminusersList = adminusersDao.findAllAdminusersPage(name, pageNum, pageSize);
dg.setTotal(totalLines);
dg.setPageSize(pageSize);
dg.setTotalPages((long) (Math.ceil((double) dg.getTotal() / (double) dg.getPageSize())));
dg.setPageNum(pageNum);
dg.setCurrentPageLineNum(pmAdminusersList.size());
dg.setList(pmAdminusersList);
// TODO Auto-generated method stub
return dg;
}
@Override
public boolean updateStatusByaccount(String account, String status){
return adminusersDao.updateStatusByaccount(account, status);
}
@Override
public boolean editAdminuser(PMAdminusers pmadminusers) {
// TODO Auto-generated method stub
return adminusersDao.editAdminuser(pmadminusers);
}
@Override
public boolean addAdminuser(PMAdminusers pmadminusers) {
// TODO Auto-generated method stub
return adminusersDao.addAdminuser(pmadminusers);
}
@Override @Override
public PMAdminusers findAssistantByno(String no){ public PMAdminusers findAssistantByno(String no){
Adminusers adminusers = Adminusers adminusers =