• java_springboot水果购物商城销售管理系统


    水果销售管理系统是基于java编程语言,mysql数据库和springboot框架设计,本系统主要分为用户和管理员两个角色,用户注册和登陆系统,查看,搜索水果,查询水果详情,收藏,购买,加入购物车,生成订单,在线支付,在线充值,修改个人资料等功能;管理员可以登陆系统后台,对用户,水果,资讯,订单等系统进行管理。本系统页面简洁,复杂度适中本系统文档齐全,功能复杂程度不高,本系统界面简洁,功能完善


    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.用户按条件水果信息

    5.用户把水果加入购物车进行结算,生成订单

    6.用户个人中心,修改密码,修改个人信息,查看订单

    7.用户在线充值用于购买支付

    8.退出登陆


    管理员的主要功能有:

     

     

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

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

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

    4.水果管理:管理员对水果商品进行添加,修改,删除,查询

    5.水果分类管理:管理员对水果分类进行添加,修改,删除,查询

    6.销售单位管理:管理员对销售单位添加,修改,删除,查询

    7.水果销售分析:管理员查看水果销售统计表格和统计图

    9.注册会员管理:管理员对注册的会员信息进行添加,修改,删除,查询

    10.资讯管理:管理员对水果资讯进行添加,修改,删除,查询

    11.轮播图管理:管理员对网站的轮播图进行管理

    12.订单管理:管理员查看各订单的状态

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

     

  • 相关阅读:
    odata expand
    k8s~RKE的方式升级Rancher集群
    教学案例五 循环结构
    猿创征文|我的前端学习之旅【来自一名大四老学长的真情流露】
    分布式全局唯一ID生成方案(附源码)
    一文带你深入理解【Java基础】· Java集合(下)
    Quartz任务调度
    分类问题经典算法 | 二分类问题 | Logistic回归:梯度下降
    代码随想录算法训练营 动态规划part09
    Delphi 开发过程中简单的版本管理与回退
  • 原文地址:https://blog.csdn.net/zhgl322/article/details/126005803