• 基于SSM的动漫商城管理系统


    系列文章目录

    基于SpringBoot的高校在线答疑管理系统

    基于SpringBoot的外卖点餐管理系统

    基于SpringBoot的实验室管理系统



    前言

    随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于动漫周边商城当然也不能排除在外,随着网络技术的不断成熟,带动了动漫周边商城,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这种个性化的平台特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对动漫周边商城而言非常有利。

    本系统采用的数据库是Mysql,使用SSM技术开发,在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。


    一、相关技术

    开发语言:Java

    开发工具包:jdk1.8

    前后端框架:vue.js、SSM(spring、springmvc、mybatis)

    开发环境:Eclipse、Idea

    服务器:Tomcat

    数据库:MySQL57

    数据库管理工具:Navicat

    项目管理工具:Maven

    二、系统设计

    1.系统体系结构

    动漫周边商城的结构图:

     登录系统结构图

     系统结构图

     2.开发流程设计

           系统流程的分析是通过调查系统所涉及问题的识别、可行性、可操作性、系统分析处理能力等具体环节来调节、整理系统的设计方案以确保系统能达到理想的状态。这些操作都要从注册、登录处着眼进行一系列的流程测试保证数据库的完整,从而把控系统所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。动漫周边商城的开发对管理模块和系统使用的数据库进行分析,编写代码,系统测试。

     3.数据库设计原则

    学习编程,我们都知道数据库设计是基于需要设计的系统功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高系统的效率。数据库存储了很多信息,可以说是信息管理系统的核心和基础,数据库还为系统提供了添加、删除、修改和检查等操作模块,使系统能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。

    通过动漫周边商城的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本系统的主要实体图如下:

    管理员信息属性图

    卖家管理实体属性图

    订单管理实体属性图

     商品信息管理实体属性图

     

     三、系统页面

    1.管理员功能页面

    管理员登录,通过填写用户名、密码、角色等信息,输入完成后选择登录即可进入动漫周边商城

    管理员登录进入动漫周边商城可以查看首页、个人中心、用户管理、卖家管理、商品分类管理、商品信息管理、订单通知管理、发货物资管理、论坛管理、系统管理、订单管理等内容

     用户管理,在用户管理页面可以查看用户名、密码、姓名、年龄、性别、手机、邮箱、身份证、积分等信息,并可根据需要对用户管理进行详情,修改,删除或查看详细内容等操作

     卖家管理,在卖家管理页面可以查看店铺编号、密码、店铺名称、店铺头像、负责人、身份证、联系电话、店铺邮箱、地址、主要产品、积分等信息,并可根据需要对卖家管理进行详情,修改、删除或查看详细内容等操作

     商品信息管理,在商品信息管理页面可以查看商品编号、商品名称、商品类别、图片、店铺编号、店铺名称、积分、价格、单限、库存、审核回复、审核状态、审核等信息,并可根据需要对商品信息管理进行详情,修改、删除或查看详细内容操作

     2.用户功能页面

    用户登录进入动漫周边商城可以查看首页、个人中心、我的收藏管理、订单管理等内容

     我的收藏管理,在我的收藏管理页面可以查看收藏ID、表名、收藏名称、收藏图片等详细进行详情、删除

     3.卖家功能页面

    卖家登录进入动漫周边商城可以查看首页、个人中心、商品信息管理、订单通知管理、发货物资管理等内容

     商品信息管理,在商品信息管理页面通过填写商品编号、商品名称、商品类别、图片、店铺编号、店铺名称、积分、价格、单限、库存、审核回复、审核状态等信息,并可根据需要对商品信息管理信息进行详情、修改、删除

     发货物资管理,在发货物资管理页面通过填写店铺编号、店铺名称、商品名称、数量、收货地址、收货人姓名、联系电话、物流公司、物流单号等信息进行详情、删除

    4.前台功能页面

     动漫周边商城,在系统首页可以查看首页、商品信息、论坛信息、促销活动、个人中心、后台管理、购物车、客服等内容

     四、核心代码

     

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

     


  • 相关阅读:
    js面试题==和===
    hadoopHa集群namenode起不来的原因(1)
    【Java中的线程】java.lang.Thread 类分析
    CSDN课程推荐:《【专题】SecureBoot精讲》系列课程上线
    女性科学家的流失
    Spring Boot 动态加载jar文件
    Redis原理
    看完这篇 教你玩转渗透测试靶机vulnhub——FunBox3(Easy)
    [esp32-wroom]基础开发
    高分三号卫星(GF-3)简介
  • 原文地址:https://blog.csdn.net/weixin_52721608/article/details/125615117