• java基于springboot班级同学录网站管理系统附源码


    班级同学录管理系统是基于java编程语言,springboot框架,mysql数据库开发的,本设计主要分为用户,管理员两个角色,其中用户注册登陆后可以查看系统公告,校园校友风采,在线交流,在线报名聚会等功能;管理员登陆系统后台对用户,校友风采,公告信息,报名聚会,论坛交流等信息进行管理;本设计文档齐全,设计页面简洁,复杂度一般,


    jdk版本:1.8 及以上
    ide工具:IDEA
    数据库: mysql5.7+
    编程语言: Java
    tomcat:   8.0 及以上
    java框架:springboot
    maven: 3.6.1
    前端:layui
    详细技术:HTML+CSS+JS+JSP+JAVA+springboot+MYSQL+JQUERY+MAVEN

     

     


    基于springboot班级同学录网站管理系统


    系统分为用户和管理员

     


    用户的主要功能有:

    1.用户注册和登陆系统

    2.查看系统的公告信息

    3.用户查看校友风采信息

    4.用户在线论坛交流,查看帖子,发布帖子,评论帖子

    5.用户个人中心修改个人资料,修改密码

    6.用户查看自己的同学录信息,可以添加同学信息

    7.用户在线报名聚会

    8.退出登陆

     


    管理员的主要功能有:

    1.管理员输入账户登陆后台

    2.个人中心:管理员修改密码和账户信息

    3.用户管理:对注册的用户信息进行添加,删除,修改,查询

    4.公告管理:对系统的公告进行添加,修改,删除,查询

    5.同学录管理:对用户的同学录信息进行添加,修改,删除,查询

    6.校友风采管理:对校友的风采信息进行添加,修改,删除,查询

    7.聚会报名管理:对用户发布的聚会报名信息进行查询,修改,删除

    8.论坛管理:对用户交流的论坛信息进行查询,修改,删除

    9.轮播图管理:对网站轮播图进行添加,修改,查询,删除

    10.客服管理:对用户的发来的客服信息进行回复

    11.退出系统

    1. /**
    2. * 登录相关
    3. */
    4. @RequestMapping("users")
    5. @RestController
    6. public class UserController{
    7. @Autowired
    8. private UserService userService;
    9. @Autowired
    10. private TokenService tokenService;
    11. /**
    12. * 登录
    13. */
    14. @IgnoreAuth
    15. @PostMapping(value = "/login")
    16. public R login(String username, String password, String captcha, HttpServletRequest request) {
    17. UserEntity user = userService.selectOne(new EntityWrapper().eq("username", username));
    18. if(user==null || !user.getPassword().equals(password)) {
    19. return R.error("账号或密码不正确");
    20. }
    21. String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
    22. return R.ok().put("token", token);
    23. }
    24. /**
    25. * 注册
    26. */
    27. @IgnoreAuth
    28. @PostMapping(value = "/register")
    29. public R register(@RequestBody UserEntity user){
    30. // ValidatorUtils.validateEntity(user);
    31. if(userService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) {
    32. return R.error("用户已存在");
    33. }
    34. userService.insert(user);
    35. return R.ok();
    36. }
    37. /**
    38. * 退出
    39. */
    40. @GetMapping(value = "logout")
    41. public R logout(HttpServletRequest request) {
    42. request.getSession().invalidate();
    43. return R.ok("退出成功");
    44. }
    45. /**
    46. * 密码重置
    47. */
    48. @IgnoreAuth
    49. @RequestMapping(value = "/resetPass")
    50. public R resetPass(String username, HttpServletRequest request){
    51. UserEntity user = userService.selectOne(new EntityWrapper().eq("username", username));
    52. if(user==null) {
    53. return R.error("账号不存在");
    54. }
    55. user.setPassword("123456");
    56. userService.update(user,null);
    57. return R.ok("密码已重置为:123456");
    58. }
    59. /**
    60. * 列表
    61. */
    62. @RequestMapping("/page")
    63. public R page(@RequestParam Map params,UserEntity user){
    64. EntityWrapper ew = new EntityWrapper();
    65. PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
    66. return R.ok().put("data", page);
    67. }
    68. /**
    69. * 列表
    70. */
    71. @RequestMapping("/list")
    72. public R list( UserEntity user){
    73. EntityWrapper ew = new EntityWrapper();
    74. ew.allEq(MPUtil.allEQMapPre( user, "user"));
    75. return R.ok().put("data", userService.selectListView(ew));
    76. }
    77. /**
    78. * 信息
    79. */
    80. @RequestMapping("/info/{id}")
    81. public R info(@PathVariable("id") String id){
    82. UserEntity user = userService.selectById(id);
    83. return R.ok().put("data", user);
    84. }
    85. /**
    86. * 获取用户的session用户信息
    87. */
    88. @RequestMapping("/session")
    89. public R getCurrUser(HttpServletRequest request){
    90. Long id = (Long)request.getSession().getAttribute("userId");
    91. UserEntity user = userService.selectById(id);
    92. return R.ok().put("data", user);
    93. }
    94. /**
    95. * 保存
    96. */
    97. @PostMapping("/save")
    98. public R save(@RequestBody UserEntity user){
    99. // ValidatorUtils.validateEntity(user);
    100. if(userService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) {
    101. return R.error("用户已存在");
    102. }
    103. userService.insert(user);
    104. return R.ok();
    105. }
    106. /**
    107. * 修改
    108. */
    109. @RequestMapping("/update")
    110. public R update(@RequestBody UserEntity user){
    111. // ValidatorUtils.validateEntity(user);
    112. UserEntity u = userService.selectOne(new EntityWrapper().eq("username", user.getUsername()));
    113. if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    114. return R.error("用户名已存在。");
    115. }
    116. userService.updateById(user);//全部更新
    117. return R.ok();
    118. }
    119. /**
    120. * 删除
    121. */
    122. @RequestMapping("/delete")
    123. public R delete(@RequestBody Long[] ids){
    124. userService.deleteBatchIds(Arrays.asList(ids));
    125. return R.ok();
    126. }
    127. }

  • 相关阅读:
    node.js-连接准备
    手动写一个搜索引擎(超详细)
    Going Deeper With Convolution(GoogLeNet的理解)
    ubuntu编译打包的时候不想要linux-image-unsigned-xxxx.deb
    low power-upf-vcsnlp(六)
    多维度聊一聊 k8s 和 openstack
    Excel查询时用vlookup或者xlookup时,虽然用的参数选择的是精确匹配,但是发现不能区分大小写,应该如何解决?
    STM32存储器组织-STM32存储器映像-嵌入式SRAM-STM32位段-嵌入式闪存-STM32启动配置
    组件以及组件间的通讯
    libmp4v2不完全指南封装g711a的坑
  • 原文地址:https://blog.csdn.net/zhgl322/article/details/126005282