diff --git a/AES-front/src/api/admin.js b/AES-front/src/api/admin.js index 0652627..779e670 100644 --- a/AES-front/src/api/admin.js +++ b/AES-front/src/api/admin.js @@ -34,4 +34,5 @@ export default { findAllClassPage: (data) => request.post('/classes/findAllClassPage', data), findAllShoolsInAdminusers: () => request.post('/school/findAllShoolsInAdminusers'), deleteClass: (data) => request.post('/classes/deleteClass', data), + addClass: (data) => request.post('/classes/addClass', 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 4a98349..f3b9dc5 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 @@ -105,6 +105,12 @@ public class ClassesController{ return RespBean.error("删除班级失败", result); } } + @PostMapping("/addClass") + public RespBean addClass(@RequestBody PMClasses pmclasses) // 添加班级 + { + classesServiceI.addClass(pmclasses); + return RespBean.ok("添加班级成功"); + } } 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 e24411c..bf507ef 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 @@ -36,7 +36,7 @@ public interface ClassesServiceI { // // public boolean deleteClassStudentsByUserId(int classId, int userId); // -// public void addClass(PMClasses pclass); // 添加班级 + public void addClass(PMClasses pclass); // 添加班级 // // public List findClassInExam(int examId); // 获取参与考试的班级 // 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 588ac1f..6914417 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 @@ -8,7 +8,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.HashMap; import java.util.List; +import java.util.UUID; @Service public class ClassesServiceImpl implements ClassesServiceI { @@ -120,5 +122,50 @@ public void setclassstudentsDao(ClassstudentsDaoI classstudentsDao) { return classesDao.deleteClass(id); } + @Override + public void addClass(PMClasses pclass) { + // TODO Auto-generated method stub + // ���������� + // 1.��ȡ���ݿ���������֤�� + List classes = classesDao.findAllClass(); + HashMap inviteCodeMap = new HashMap<>(); + int i=0; + + for (Classes classes2 : classes) { + i+=1; +// System.out.println(i+"_"+classes2.getId()); + try { + inviteCodeMap.put(classes2.getInviteCode(), classes2.getId()); + } catch (Exception e) { + System.out.println(classes2.getId()); + e.printStackTrace(); + // TODO: handle exception + } + + } + // 2.��֤��֤���Ψһ�� + while (true) { + String inviteCode = getInviteCode(); + if (!inviteCodeMap.containsKey(inviteCode)) { + pclass.setInviteCode(inviteCode); + break; + } + } + classesDao.addClass(pclass); + } + // addclass要用的方法 + public String getInviteCode() { + // 1.������֤�룬2.��֤���ݿ� + String[] chars = new String[] { "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", + "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }; + StringBuffer shortBuffer = new StringBuffer(); + String uuid = UUID.randomUUID().toString().replace("-", ""); + for (int j = 0; j < 8; j++) { + String str = uuid.substring(j * 4, j * 4 + 4); + int par = Integer.parseInt(str, 16); + shortBuffer.append(chars[par % 32]); + } + return shortBuffer.toString(); + } }