• Java项目:SSM的网上购物商城系统


    作者主页:Java毕设网

     简介:Java领域优质创作者、Java项目、学习资料、技术互助

    文末获取源码

    一、相关文档

            网上购物商城主要是为了满足了各自的需求,分别是管理员和用户。本文根据这个方面进行对系统的开发研究。论文主要对网上购物商城背景选题意义和市场的需求进行分析的;进行对网上购物商城数据的简析和功能的介绍;并对系统所需的工具进行详细的介绍和了解;在系统的总体设计,主要对系统各功能模块的设计和数据的开发;还有讲解每一个功能的具体实现。然后对系统进行测试分析介绍。

    二、项目介绍

    本项目分为前后台,角色有:管理员、用户角色
    前台用户角色功能主要有:
    首页、个人中心、举报投诉管理、订单信息管理、售后管理、我的收藏管理等功能。
    后台管理员角色主要有:
    首页、个人中心、用户管理、关于我们管理、商品信息管理、商品类型管理、新闻类别管理、举报投诉管理、订单信息管理、售后管理、新闻信息管理、我的收藏管理、留言板管理、交流论坛、系统管理,
    由于本程序规模不大,可供课程设计,毕业设计学习演示之用

    三、环境需要

    1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
    2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
    3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
    4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
    5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
    6.数据库:MySql 5.7/8.0等版本均可;

    四、技术栈

    后端:SSM(Spring+SpringMVC+Mybatis)
    前端:Vue+elementui

    五、使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
    2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
    3. 将项目中config.properties配置文件中的数据库配置改为自己的配置,然后运行;
    前台运行地址:http://localhost:8080/ssm2855h/front/index.html
    后台运行地址:http://localhost:8080/ssm2855h/admin/dist/index.html

    六、运行截图

    前台界面

    ​​​

    后台界面 

    ​​​​

    七、相关代码

    售后管理控制器

    1. @RestController
    2. @RequestMapping("/shouhou")
    3. public class ShouhouController {
    4. @Autowired
    5. private ShouhouService shouhouService;
    6. /**
    7. * 后端列表
    8. */
    9. @RequestMapping("/page")
    10. public R page(@RequestParam Map params,ShouhouEntity shouhou,
    11. HttpServletRequest request){
    12. String tableName = request.getSession().getAttribute("tableName").toString();
    13. if(tableName.equals("yonghu")) {
    14. shouhou.setZhanghao((String)request.getSession().getAttribute("username"));
    15. }
    16. EntityWrapper ew = new EntityWrapper();
    17. PageUtils page = shouhouService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shouhou), params), params));
    18. return R.ok().put("data", page);
    19. }
    20. /**
    21. * 前端列表
    22. */
    23. @RequestMapping("/list")
    24. public R list(@RequestParam Map params,ShouhouEntity shouhou, HttpServletRequest request){
    25. EntityWrapper ew = new EntityWrapper();
    26. PageUtils page = shouhouService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shouhou), params), params));
    27. return R.ok().put("data", page);
    28. }
    29. /**
    30. * 列表
    31. */
    32. @RequestMapping("/lists")
    33. public R list( ShouhouEntity shouhou){
    34. EntityWrapper ew = new EntityWrapper();
    35. ew.allEq(MPUtil.allEQMapPre( shouhou, "shouhou"));
    36. return R.ok().put("data", shouhouService.selectListView(ew));
    37. }
    38. /**
    39. * 查询
    40. */
    41. @RequestMapping("/query")
    42. public R query(ShouhouEntity shouhou){
    43. EntityWrapper< ShouhouEntity> ew = new EntityWrapper< ShouhouEntity>();
    44. ew.allEq(MPUtil.allEQMapPre( shouhou, "shouhou"));
    45. ShouhouView shouhouView = shouhouService.selectView(ew);
    46. return R.ok("查询售后成功").put("data", shouhouView);
    47. }
    48. /**
    49. * 后端详情
    50. */
    51. @RequestMapping("/info/{id}")
    52. public R info(@PathVariable("id") Long id){
    53. ShouhouEntity shouhou = shouhouService.selectById(id);
    54. return R.ok().put("data", shouhou);
    55. }
    56. /**
    57. * 前端详情
    58. */
    59. @RequestMapping("/detail/{id}")
    60. public R detail(@PathVariable("id") Long id){
    61. ShouhouEntity shouhou = shouhouService.selectById(id);
    62. return R.ok().put("data", shouhou);
    63. }
    64. /**
    65. * 后端保存
    66. */
    67. @RequestMapping("/save")
    68. public R save(@RequestBody ShouhouEntity shouhou, HttpServletRequest request){
    69. shouhou.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    70. //ValidatorUtils.validateEntity(shouhou);
    71. shouhouService.insert(shouhou);
    72. return R.ok();
    73. }
    74. /**
    75. * 前端保存
    76. */
    77. @RequestMapping("/add")
    78. public R add(@RequestBody ShouhouEntity shouhou, HttpServletRequest request){
    79. shouhou.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    80. //ValidatorUtils.validateEntity(shouhou);
    81. shouhouService.insert(shouhou);
    82. return R.ok();
    83. }
    84. /**
    85. * 修改
    86. */
    87. @RequestMapping("/update")
    88. public R update(@RequestBody ShouhouEntity shouhou, HttpServletRequest request){
    89. //ValidatorUtils.validateEntity(shouhou);
    90. shouhouService.updateById(shouhou);//全部更新
    91. return R.ok();
    92. }
    93. /**
    94. * 删除
    95. */
    96. @RequestMapping("/delete")
    97. public R delete(@RequestBody Long[] ids){
    98. shouhouService.deleteBatchIds(Arrays.asList(ids));
    99. return R.ok();
    100. }
    101. /**
    102. * 提醒接口
    103. */
    104. @RequestMapping("/remind/{columnName}/{type}")
    105. public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
    106. @PathVariable("type") String type,@RequestParam Map map) {
    107. map.put("column", columnName);
    108. map.put("type", type);
    109. if(type.equals("2")) {
    110. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    111. Calendar c = Calendar.getInstance();
    112. Date remindStartDate = null;
    113. Date remindEndDate = null;
    114. if(map.get("remindstart")!=null) {
    115. Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
    116. c.setTime(new Date());
    117. c.add(Calendar.DAY_OF_MONTH,remindStart);
    118. remindStartDate = c.getTime();
    119. map.put("remindstart", sdf.format(remindStartDate));
    120. }
    121. if(map.get("remindend")!=null) {
    122. Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
    123. c.setTime(new Date());
    124. c.add(Calendar.DAY_OF_MONTH,remindEnd);
    125. remindEndDate = c.getTime();
    126. map.put("remindend", sdf.format(remindEndDate));
    127. }
    128. }
    129. Wrapper wrapper = new EntityWrapper();
    130. if(map.get("remindstart")!=null) {
    131. wrapper.ge(columnName, map.get("remindstart"));
    132. }
    133. if(map.get("remindend")!=null) {
    134. wrapper.le(columnName, map.get("remindend"));
    135. }
    136. String tableName = request.getSession().getAttribute("tableName").toString();
    137. if(tableName.equals("yonghu")) {
    138. wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));
    139. }
    140. int count = shouhouService.selectCount(wrapper);
    141. return R.ok().put("count", count);
    142. }
    143. }

    登录相关控制器

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

    八、如果也想学习本系统,下面领取。关注并回复:265ssm

  • 相关阅读:
    移动app测试的7个关键点,建议收藏
    51单片机学习问题(只亮屏或者显示黑块)
    pgsql按varchar字段排序
    【Dotnet 工具箱】JIEJIE.NET - 强大的 .NET 代码混淆工具
    获取 Linux Standard Base (LSB) 版本信息
    java毕业设计—— 基于java+JSP+SSH的网上购物系统设计与实现(毕业论文+程序源码)——网上购物系统
    基于STM32的设计智慧超市管理系统(带收银系统+物联网环境监测)
    L2-022 重排链表
    46.<list链表的举列>
    面试系列Redis:Redis持久化的方式
  • 原文地址:https://blog.csdn.net/qq_21856275/article/details/133246730