From c7d6feb01139986064b5ea9f2ac89b25aa59af34 Mon Sep 17 00:00:00 2001 From: 7wc98#14 <2923616405@qq.com> Date: Fri, 29 Jan 2021 15:13:51 +0800 Subject: [PATCH] commit --- .../campus/controller/AdminController.java | 34 ++++++++++---- .../campus/controller/QuestionController.java | 24 +++++++--- .../campus/controller/StudentController.java | 25 ++++++++--- .../pyc/campus/dao/QuestionRepository.java | 4 +- .../com/pyc/campus/dao/StudentRepository.java | 7 +-- .../java/com/pyc/campus/domain/Grade.java | 1 + .../java/com/pyc/campus/domain/Question.java | 22 +++++++++- .../java/com/pyc/campus/domain/Student.java | 28 +++++++++++- .../pyc/campus/service/QuestionService.java | 21 +++++++++ .../pyc/campus/service/StudentService.java | 20 +++++++++ .../service/impl/QuestionServiceImpl.java | 43 ++++++++++++++++++ .../service/impl/StudentServiceImpl.java | 44 +++++++++++++++++++ .../templates/page/BrowserQuestion.html | 36 +++++++++++++++ .../resources/templates/page/ManageUser.html | 36 +++++++++++++++ .../resources/templates/page/QueryGrade.html | 7 ++- 15 files changed, 326 insertions(+), 26 deletions(-) create mode 100644 src/main/java/com/pyc/campus/service/QuestionService.java create mode 100644 src/main/java/com/pyc/campus/service/StudentService.java create mode 100644 src/main/java/com/pyc/campus/service/impl/QuestionServiceImpl.java create mode 100644 src/main/java/com/pyc/campus/service/impl/StudentServiceImpl.java diff --git a/src/main/java/com/pyc/campus/controller/AdminController.java b/src/main/java/com/pyc/campus/controller/AdminController.java index b9d492c..ce50067 100644 --- a/src/main/java/com/pyc/campus/controller/AdminController.java +++ b/src/main/java/com/pyc/campus/controller/AdminController.java @@ -8,6 +8,11 @@ import com.pyc.campus.domain.Grade; import com.pyc.campus.domain.Msg; import com.pyc.campus.domain.Question; import com.pyc.campus.domain.Student; +import com.pyc.campus.service.StudentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.data.repository.query.Param; import org.springframework.security.core.context.SecurityContextImpl; import org.springframework.security.core.userdetails.UserDetails; @@ -39,13 +44,16 @@ public class AdminController { final QuestionRepository questionRepository; final SysUserRepository sysUserRepository; + + final StudentService studentService; public AdminController(StudentRepository studentRepository, - GradeRepository gradeRepository,SysUserRepository sysUserRepository, - QuestionRepository questionRepository){ + GradeRepository gradeRepository, SysUserRepository sysUserRepository, + QuestionRepository questionRepository, StudentService studentService){ this.studentRepository = studentRepository; this.gradeRepository = gradeRepository; this.sysUserRepository = sysUserRepository; this.questionRepository = questionRepository; + this.studentService = studentService; } @RequestMapping("/admin") public String admin(Model model,HttpSession session){ @@ -57,25 +65,35 @@ public class AdminController { } @RequestMapping("/delStuByStuId") - public String delStuByStuId(Model model, HttpSession session, @RequestParam(value = "studentId", required = false)String stuId){ + public String delStuByStuId(Model model, HttpSession session, + @RequestParam(value = "studentId", required = false)String stuId, + @RequestParam(value = "pageNum", defaultValue = "0") int pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") int pageSize){ studentRepository.delByStudentID(stuId); sysUserRepository.delByUsername(stuId); - List students = studentRepository.findAll(); + Page students = studentService.getStudentList(pageNum,pageSize); model.addAttribute("students", students); + model.addAttribute("prefix","/delStuByStuId"); return "page/ManageUser"; } @RequestMapping("/manageUser") - public String findUserExceptCurUser(Model model,HttpSession session){ - List students = studentRepository.findAll(); + public String findUserExceptCurUser(Model model,HttpSession session, + @RequestParam(value = "pageNum", defaultValue = "0") int pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") int pageSize){ + Page students = studentService.getStudentList(pageNum,pageSize); + model.addAttribute("prefix","/manageUser"); model.addAttribute("students", students); return "page/ManageUser"; } @RequestMapping("/findUserByStudentIDLike") public String findUserByStudentIDLike(Model model, HttpSession session, - @RequestParam(value = "ClassPrefix", required = false)String classPrefix){ - List students = studentRepository.query01(classPrefix+'%'); + @RequestParam(value = "ClassPrefix", required = false)String classPrefix, + @RequestParam(value = "pageNum", defaultValue = "0") int pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") int pageSize){ + Page students = studentService.getStudentListByStuIdLike(pageNum,pageSize,classPrefix); model.addAttribute("students", students); + model.addAttribute("prefix","/findUserByStudentIDLike"); return "page/ManageUser"; } diff --git a/src/main/java/com/pyc/campus/controller/QuestionController.java b/src/main/java/com/pyc/campus/controller/QuestionController.java index a5b6a80..1c348b1 100644 --- a/src/main/java/com/pyc/campus/controller/QuestionController.java +++ b/src/main/java/com/pyc/campus/controller/QuestionController.java @@ -4,6 +4,11 @@ import com.pyc.campus.config.MailConfig; import com.pyc.campus.dao.QuestionRepository; import com.pyc.campus.domain.Msg; import com.pyc.campus.domain.Question; +import com.pyc.campus.service.QuestionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.data.repository.query.Param; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; @@ -31,20 +36,29 @@ public class QuestionController { final QuestionRepository questionRepository; - public QuestionController(QuestionRepository questionRepository){ + final QuestionService questionService; + + public QuestionController(QuestionRepository questionRepository, QuestionService questionService){ this.questionRepository = questionRepository; + this.questionService = questionService; } @RequestMapping("/toBrowserQuestion") - public String toBrowserQuestion(Model model, HttpSession session){ - List questions = questionRepository.findAll(); + public String toBrowserQuestion(Model model, HttpSession session, + @RequestParam(value = "pageNum", defaultValue = "0") int pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") int pageSize){ + Page questions = questionService.getQuestionList(pageNum,pageSize); + model.addAttribute("prefix","/toBrowserQuestion"); model.addAttribute("questions", questions); return "page/BrowserQuestion"; } @RequestMapping("/queryByQuestionType") public String queryByQuestionType(Model model, HttpSession session, - @RequestParam(value = "TypeOfQuestion", required = false)String type){ - List questions = questionRepository.findAllByType(type); + @RequestParam(value = "TypeOfQuestion", required = false)String type, + @RequestParam(value = "pageNum", defaultValue = "0") int pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") int pageSize){ + Page questions = questionService.getQuestionListByType(pageNum,pageSize,type); + model.addAttribute("prefix","/queryByQuestionType"); model.addAttribute("questions", questions); return "page/BrowserQuestion"; } diff --git a/src/main/java/com/pyc/campus/controller/StudentController.java b/src/main/java/com/pyc/campus/controller/StudentController.java index 30389e7..2a76f43 100644 --- a/src/main/java/com/pyc/campus/controller/StudentController.java +++ b/src/main/java/com/pyc/campus/controller/StudentController.java @@ -3,6 +3,11 @@ package com.pyc.campus.controller; import com.pyc.campus.dao.StudentRepository; import com.pyc.campus.domain.Msg; import com.pyc.campus.domain.Student; +import com.pyc.campus.service.StudentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.data.repository.query.Param; import org.springframework.security.core.context.SecurityContextImpl; import org.springframework.security.core.userdetails.UserDetails; @@ -31,8 +36,12 @@ public class StudentController { final StudentRepository studentRepository; - public StudentController(StudentRepository studentRepository){ + final + StudentService studentService; + + public StudentController(StudentRepository studentRepository, StudentService studentService){ this.studentRepository = studentRepository; + this.studentService = studentService; } @RequestMapping("/userCenter") @@ -123,7 +132,9 @@ public class StudentController { @RequestMapping("/saveFrozenInTrue") public String saveFrozenInTrue(Model model,HttpSession session, - @RequestParam(value = "studentId", required = false)String studentID){ + @RequestParam(value = "studentId", required = false)String studentID, + @RequestParam(value = "pageNum", defaultValue = "0") int pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") int pageSize){ int t = studentRepository.saveFrozen(true,studentID); if(t!=0){ System.out.println("更新成功!"); @@ -132,7 +143,8 @@ public class StudentController { { System.out.println("更新失败!"); } - List students = studentRepository.findAll(); + Page students = studentService.getStudentList(pageNum,pageSize); + model.addAttribute("prefix","/saveFrozenInTrue"); model.addAttribute("students", students); return "page/ManageUser"; @@ -140,7 +152,9 @@ public class StudentController { @RequestMapping("/saveFrozenInFalse") public String saveFrozenInFalse(Model model,HttpSession session, - @RequestParam(value = "studentId", required = false)String studentID){ + @RequestParam(value = "studentId", required = false)String studentID, + @RequestParam(value = "pageNum", defaultValue = "0") int pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") int pageSize){ int t = studentRepository.saveFrozen(false,studentID); if(t!=0){ @@ -150,7 +164,8 @@ public class StudentController { { System.out.println("更新失败!"); } - List students = studentRepository.findAll(); + Page students = studentService.getStudentList(pageNum,pageSize); + model.addAttribute("prefix","/saveFrozenInFalse"); model.addAttribute("students", students); return "page/ManageUser"; diff --git a/src/main/java/com/pyc/campus/dao/QuestionRepository.java b/src/main/java/com/pyc/campus/dao/QuestionRepository.java index 6de40d0..ca6b475 100644 --- a/src/main/java/com/pyc/campus/dao/QuestionRepository.java +++ b/src/main/java/com/pyc/campus/dao/QuestionRepository.java @@ -9,11 +9,13 @@ package com.pyc.campus.dao; import com.pyc.campus.domain.Question; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; public interface QuestionRepository extends JpaRepository { List findAll(); - List findAllByType(String type); + Page findAllByType(String type, Pageable p); } diff --git a/src/main/java/com/pyc/campus/dao/StudentRepository.java b/src/main/java/com/pyc/campus/dao/StudentRepository.java index 26e7102..8e507f8 100644 --- a/src/main/java/com/pyc/campus/dao/StudentRepository.java +++ b/src/main/java/com/pyc/campus/dao/StudentRepository.java @@ -8,6 +8,8 @@ package com.pyc.campus.dao; import com.pyc.campus.domain.Student; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; @@ -41,10 +43,9 @@ public interface StudentRepository extends JpaRepository { @Query("select s from Student s where s.studentID=?1") Student getOnlineStatus(String studentID); // 根据Student ID前缀查询 - @Modifying - @Transactional + @Query("select s from Student s where s.studentID like ?1") - List query01(String classPrefix); + Page query01(String classPrefix, Pageable p); @Modifying @Transactional @Query("delete from Student where studentID=?1") diff --git a/src/main/java/com/pyc/campus/domain/Grade.java b/src/main/java/com/pyc/campus/domain/Grade.java index 2d25194..4ec8978 100644 --- a/src/main/java/com/pyc/campus/domain/Grade.java +++ b/src/main/java/com/pyc/campus/domain/Grade.java @@ -15,6 +15,7 @@ import java.io.Serializable; @Entity public class Grade implements Serializable { + private static final long serialVersionUID = 1L; @Id @GeneratedValue long id; diff --git a/src/main/java/com/pyc/campus/domain/Question.java b/src/main/java/com/pyc/campus/domain/Question.java index 72f06e7..6aeb469 100644 --- a/src/main/java/com/pyc/campus/domain/Question.java +++ b/src/main/java/com/pyc/campus/domain/Question.java @@ -7,19 +7,27 @@ package com.pyc.campus.domain; +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; +import java.io.Serializable; @Entity -public class Question { +public class Question implements Serializable { + private static final long serialVersionUID = 1L; @Id @GeneratedValue private long id; + @Column(nullable = true,unique = true) private String publisher; // 申请人 + @Column(nullable = true,unique = true) private String mail; // 邮箱 + @Column(nullable = true,unique = true) private String type; // 问题类型 + @Column(nullable = true,unique = true) private String content; // 问题内容 + @Column(nullable = true,unique = true) private String reward; // 悬赏 public Question(){ super(); @@ -82,4 +90,16 @@ public class Question { public String getType() { return type; } + + @Override + public String toString() { + return "Question{" + + "id=" + id + + ", publisher='" + publisher + '\'' + + ", mail='" + mail + '\'' + + ", type='" + type + '\'' + + ", content='" + content + '\'' + + ", reward='" + reward + '\'' + + '}'; + } } diff --git a/src/main/java/com/pyc/campus/domain/Student.java b/src/main/java/com/pyc/campus/domain/Student.java index c6ab8c6..bea1ea7 100644 --- a/src/main/java/com/pyc/campus/domain/Student.java +++ b/src/main/java/com/pyc/campus/domain/Student.java @@ -7,22 +7,33 @@ package com.pyc.campus.domain; +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; +import java.io.Serializable; @Entity -public class Student { +public class Student implements Serializable { + private static final long serialVersionUID = 1L; @Id @GeneratedValue private Long id; + @Column(nullable = true,unique = true) private String name; + @Column(nullable = true,unique = true) private String studentID; + @Column(nullable = true,unique = true) private String password; + @Column(nullable = true,unique = true) private String weChat; + @Column(nullable = true,unique = true) private String QQ; + @Column(nullable = true,unique = true) private int admin; + @Column(nullable = true,unique = true) private boolean onlineStatus; + @Column(nullable = true,unique = true) private boolean frozen; public Student() { @@ -112,4 +123,19 @@ public class Student { public String getWeChat() { return weChat; } + + @Override + public String toString() { + return "Student{" + + "id=" + id + + ", name='" + name + '\'' + + ", studentID='" + studentID + '\'' + + ", password='" + password + '\'' + + ", weChat='" + weChat + '\'' + + ", QQ='" + QQ + '\'' + + ", admin=" + admin + + ", onlineStatus=" + onlineStatus + + ", frozen=" + frozen + + '}'; + } } diff --git a/src/main/java/com/pyc/campus/service/QuestionService.java b/src/main/java/com/pyc/campus/service/QuestionService.java new file mode 100644 index 0000000..c91508b --- /dev/null +++ b/src/main/java/com/pyc/campus/service/QuestionService.java @@ -0,0 +1,21 @@ +package com.pyc.campus.service; + +import com.pyc.campus.domain.Question; +import org.springframework.data.domain.Page; + +/** + * @author 御承扬 + * @product IntelliJ IDEA + * @project campus + * @file QuestionService + * @pack com.pyc.campus.service + * @date 2021/1/29 + * @time 14:58 + * @E-mail 2923616405@qq.com + **/ +public interface QuestionService { + + Page getQuestionList(int pageNum, int pageSize); + + Page getQuestionListByType(int pageNum, int pageSize, String type); +} diff --git a/src/main/java/com/pyc/campus/service/StudentService.java b/src/main/java/com/pyc/campus/service/StudentService.java new file mode 100644 index 0000000..dd2cdb0 --- /dev/null +++ b/src/main/java/com/pyc/campus/service/StudentService.java @@ -0,0 +1,20 @@ +package com.pyc.campus.service; + +import com.pyc.campus.domain.Student; +import org.springframework.data.domain.Page; + +/** + * @author 御承扬 + * @product IntelliJ IDEA + * @project campus + * @file StudentService + * @pack com.pyc.campus.service + * @date 2021/1/29 + * @time 14:44 + * @E-mail 2923616405@qq.com + **/ +public interface StudentService { + Page getStudentList(int pageNum, int pageSize); + + Page getStudentListByStuIdLike(int pageNum, int pageSize, String like); +} diff --git a/src/main/java/com/pyc/campus/service/impl/QuestionServiceImpl.java b/src/main/java/com/pyc/campus/service/impl/QuestionServiceImpl.java new file mode 100644 index 0000000..54d6a66 --- /dev/null +++ b/src/main/java/com/pyc/campus/service/impl/QuestionServiceImpl.java @@ -0,0 +1,43 @@ +package com.pyc.campus.service.impl; + +import com.pyc.campus.dao.QuestionRepository; +import com.pyc.campus.domain.Question; +import com.pyc.campus.service.QuestionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; + +/** + * @author 御承扬 + * @product IntelliJ IDEA + * @project campus + * @file QuestionServiceImpl + * @pack com.pyc.campus.service.impl + * @date 2021/1/29 + * @time 15:00 + * @E-mail 2923616405@qq.com + **/ + +@Service +public class QuestionServiceImpl implements QuestionService { + + final QuestionRepository questionRepository; + + public QuestionServiceImpl(QuestionRepository questionRepository) { + this.questionRepository = questionRepository; + } + + @Override + public Page getQuestionList(int pageNum, int pageSize) { + Pageable pageable = PageRequest.of(pageNum,pageSize); + return questionRepository.findAll(pageable); + } + + @Override + public Page getQuestionListByType(int pageNum, int pageSize, String type) { + Pageable pageable = PageRequest.of(pageNum,pageSize); + return questionRepository.findAllByType(type,pageable); + } +} diff --git a/src/main/java/com/pyc/campus/service/impl/StudentServiceImpl.java b/src/main/java/com/pyc/campus/service/impl/StudentServiceImpl.java new file mode 100644 index 0000000..b6dc80b --- /dev/null +++ b/src/main/java/com/pyc/campus/service/impl/StudentServiceImpl.java @@ -0,0 +1,44 @@ +package com.pyc.campus.service.impl; + +import com.pyc.campus.dao.StudentRepository; +import com.pyc.campus.domain.Student; +import com.pyc.campus.service.StudentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; + +/** + * @author 御承扬 + * @product IntelliJ IDEA + * @project campus + * @file StudentServiceImpl + * @pack com.pyc.campus.service.impl + * @date 2021/1/29 + * @time 14:46 + * @E-mail 2923616405@qq.com + **/ + +@Service +public class StudentServiceImpl implements StudentService { + + final + StudentRepository studentRepository; + + public StudentServiceImpl(StudentRepository studentRepository) { + this.studentRepository = studentRepository; + } + + @Override + public Page getStudentList(int pageNum, int pageSize) { + Pageable pageable = PageRequest.of(pageNum,pageSize); + return studentRepository.findAll(pageable); + } + + @Override + public Page getStudentListByStuIdLike(int pageNum, int pageSize, String like) { + Pageable pageable = PageRequest.of(pageNum,pageSize); + return studentRepository.query01(like,pageable); + } +} diff --git a/src/main/resources/templates/page/BrowserQuestion.html b/src/main/resources/templates/page/BrowserQuestion.html index cf1a538..0e9d100 100644 --- a/src/main/resources/templates/page/BrowserQuestion.html +++ b/src/main/resources/templates/page/BrowserQuestion.html @@ -94,6 +94,7 @@ + @@ -103,6 +104,7 @@ + @@ -111,6 +113,40 @@
序号 发布者 邮箱 问题类型
1
+ diff --git a/src/main/resources/templates/page/ManageUser.html b/src/main/resources/templates/page/ManageUser.html index f4b6fa1..30cef3e 100644 --- a/src/main/resources/templates/page/ManageUser.html +++ b/src/main/resources/templates/page/ManageUser.html @@ -154,6 +154,7 @@ + @@ -164,6 +165,7 @@ + @@ -173,6 +175,40 @@
序号 姓名 学号 QQ
1
+
diff --git a/src/main/resources/templates/page/QueryGrade.html b/src/main/resources/templates/page/QueryGrade.html index 293cfe5..9610672 100644 --- a/src/main/resources/templates/page/QueryGrade.html +++ b/src/main/resources/templates/page/QueryGrade.html @@ -149,8 +149,11 @@
  • - - + +
  • -- GitLab