• java基于springboot的ktv点歌管理系统附源码


    ktv点歌管理系统是基于springboot框架,java编程语言,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的ktv点歌管理系统


    系统分为用户和管理员两个角色

    用户的主要功能有:

    1.用户输入账户登陆系统

    2.用户修改个人资料和密码

    3.用户查看歌曲库,在线点歌

    4.用户查看点歌记录

    5.退出登陆


    管理员的主要功能有:

     

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

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

    3.用户管理:对系统的用户进行添加,修改,删除,查询

    4.歌曲库管理:对系统的歌曲信息进行添加,修改,删除,查询

    5.歌曲类型管理:对系统的歌曲类型进行添加,修改,删除,查询

    6.点歌信息管理:对用户的点歌记录进行查询

    13.退出系统

    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. }

     

  • 相关阅读:
    使用java 实现mqtt两种方式
    备战蓝桥杯Day27 - 省赛真题-2023
    PyQt5快速开发与实战 9.4 Matplotlib在PyQt中的应用
    在虚拟机上部署SPDK NVME测试案例
    JVM是什么?Java程序为啥需要运行在JVM中?
    【MySQL系列】MySQL数据库基础
    GIGE 协议摘录 —— 引导寄存器(四)
    数据库设计:防止MySQL字段名与关键字相撞,保护数据完整性!
    SpringBoot整合原理解析
    linux pinctrl函数
  • 原文地址:https://blog.csdn.net/zhgl322/article/details/126005368