diff --git a/src/main/java/com/pyc/campus/controller/WebController.java b/src/main/java/com/pyc/campus/controller/WebController.java index 5421fbd14d1a3c1e1080811b4a322246f0f37936..cfb2e6b2621d07850db6ffce8ab56b9caec0437d 100644 --- a/src/main/java/com/pyc/campus/controller/WebController.java +++ b/src/main/java/com/pyc/campus/controller/WebController.java @@ -13,13 +13,13 @@ import com.pyc.campus.domain.Msg; import com.pyc.campus.domain.Student; import com.pyc.campus.domain.SysRole; import com.pyc.campus.domain.SysUser; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.repository.query.Param; import org.springframework.security.core.context.SecurityContextImpl; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpSession; import java.util.ArrayList; @@ -28,30 +28,89 @@ import java.util.List; @Controller public class WebController { - @Autowired + final StudentRepository studentRepository; - @Autowired + final SysUserRepository sysUserRepository; + public WebController(StudentRepository studentRepository, SysUserRepository sysUserRepository) { + this.studentRepository = studentRepository; + this.sysUserRepository = sysUserRepository; + } + @RequestMapping("/home") public String home(Model model, HttpSession session){ SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT"); String currentStudentId = ((UserDetails) securityContext.getAuthentication().getPrincipal()).getUsername(); + Student s = studentRepository.findNameByStudentID(currentStudentId); Msg msg = new Msg( "欢迎", - currentStudentId+",同学,欢迎使用 Campus!", + s.getName()+",同学,欢迎使用 Campus!", "" ); model.addAttribute("msg", msg); + model.addAttribute("curUse",s); return "page/Home"; } + @RequestMapping("/userCenter") + public String userCenter(Model model, HttpSession session){ + SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT"); + String currentStudentId = ((UserDetails) securityContext.getAuthentication().getPrincipal()).getUsername(); + Student s = studentRepository.findNameByStudentID(currentStudentId); + Msg msg = new Msg("","",""); + model.addAttribute("msg",msg); + model.addAttribute("curUse",s); + return "page/UserCenter"; + } + @RequestMapping("/updateUserInfo") + public String updateUserInfo(Model model, HttpSession session){ + SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT"); + String currentStudentId = ((UserDetails) securityContext.getAuthentication().getPrincipal()).getUsername(); + Student s = studentRepository.findNameByStudentID(currentStudentId); + model.addAttribute("curUse",s); + Msg msg = new Msg( + "提示!", + "学号作为用户标识ID,不允许更改", + "" + ); + model.addAttribute("msg", msg); + return "page/UpdateUserInfo"; + } + @RequestMapping("/updateUInfo") + public String updateUInfo(Model model,HttpSession session, + @Param("username") String username, + @Param("weChat") String weChat, + @RequestParam(value = "TencentQQ", required = false) String qq){ + SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT"); + String currentStudentId = ((UserDetails) securityContext.getAuthentication().getPrincipal()).getUsername(); + System.out.println("QQ:"+qq); + int result = studentRepository.update(username,weChat,qq,currentStudentId); + if(result==0){ + Msg msg = new Msg( + "提示", + "对不起,是我们的错,信息没有成功更新,请再试几次,或者连续网站管理员", + "" + ); + model.addAttribute("msg",msg); + return "page/UpdateUserInfo"; + } + Msg msg = new Msg( + "提示", + "信息更新成功!", + "" + ); + Student s = studentRepository.findNameByStudentID(currentStudentId); + model.addAttribute("curUse",s); + model.addAttribute("msg",msg); + return "page/UserCenter"; + } @RequestMapping("/signUP") public String signUP(Model model, @Param("studentID") String studentID, @Param("password") String password, @Param("username") String username, @Param("weChat") String weChat, - @Param("QQ") String qq) { + @RequestParam(value = "QQ", required = false) String qq) { Student student = studentRepository.findPasswordByStudentID(studentID); if (student != null) { return "page/SignError"; diff --git a/src/main/java/com/pyc/campus/dao/StudentRepository.java b/src/main/java/com/pyc/campus/dao/StudentRepository.java index 3fc6475cc7f6e288b41a11873f37151a790a99c8..cc57504fcdb6d16dec77e367cb92a4786402105e 100644 --- a/src/main/java/com/pyc/campus/dao/StudentRepository.java +++ b/src/main/java/com/pyc/campus/dao/StudentRepository.java @@ -9,8 +9,16 @@ package com.pyc.campus.dao; import com.pyc.campus.domain.Student; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.transaction.annotation.Transactional; public interface StudentRepository extends JpaRepository { Student findByNameAndStudentID(String name,String studentID); Student findPasswordByStudentID(String studentID); + Student findNameByStudentID(String studentID); + @Modifying + @Transactional + @Query("update Student s set s.name=?1,s.weChat=?2, s.QQ=?3 where s.studentID=?4") + int update(String name, String WeChat, String QQ, String studentID); } diff --git a/src/main/resources/templates/page/Home.html b/src/main/resources/templates/page/Home.html index 16c04a31784d6f95db238e28aafe2d9f4626fef6..8b97a9b0613f2a46d7e1aa1d6908dddb26c808fe 100644 --- a/src/main/resources/templates/page/Home.html +++ b/src/main/resources/templates/page/Home.html @@ -67,8 +67,6 @@
150-1436-6986
diff --git a/src/main/resources/templates/page/UpdateUserInfo.html b/src/main/resources/templates/page/UpdateUserInfo.html new file mode 100644 index 0000000000000000000000000000000000000000..98de8e06a8814246c6cca1460f8de396dece8b26 --- /dev/null +++ b/src/main/resources/templates/page/UpdateUserInfo.html @@ -0,0 +1,63 @@ + + + + + 用户信息更新 + + + + + + + + + + +
+

有错误,请重试!

+
+

+

+
+ +
+ ID + +
+
+ U + +
+
+ W + +
+
+ Q + +
+
+
+ +
+
+ + +
+ \ No newline at end of file diff --git a/src/main/resources/templates/page/UserCenter.html b/src/main/resources/templates/page/UserCenter.html new file mode 100644 index 0000000000000000000000000000000000000000..177e8eafbe33c4f7700c2316521c81e78cfd1cc0 --- /dev/null +++ b/src/main/resources/templates/page/UserCenter.html @@ -0,0 +1,303 @@ + + + + + 用户中心 + + + + + + + + + + + + + + + +
+
+
+ + + + +
+
+

+

+
+ + + + + + + + + + + + + + + + + + + + +
用户信息
Name:
StudentID:
QQ:
WeChat:
+
+ +
+
+
+
+
    +
  • +
    +
    +
    正规网站
    +
    所有的服务都是合法的
    +
    +
  • +
  • +
    +
    +
    正规网站
    +
    所有的服务都是合法的
    +
    +
  • +
  • +
    +
    +
    正规网站
    +
    所有的服务都是合法的
    +
    +
  • +
  • +
    +
    +
    正规网站
    +
    所有的服务都是合法的
    +
    +
  • +
  • +
    +
    +
    正规网站
    +
    所有的服务都是合法的
    +
    +
  • +
+
+
+ +
+
+ +
+
+ + + pic + + + + + + + + \ No newline at end of file