• Springboot+Mongodb实现汽车美容服务管理


    🧡💛💚夏日炎炎,热浪中我们迎来毕业季,这是告别,也是迈向新起点的开始。💙💜🤎

            伴随着大学生活的最后一个暑假的来临,我的大三生活也告一段落了。大三这一年很忙也很累,但很充实。第一次正视了自己的未来,开始规划起了人生道路。调侃的话就不多说了,咱们直接切主题吧。​​​​​​​​​​​​​​

           

            这个学期我跟着又爱又恨的老铁学习了数据库这门课程,完成了一个关于汽车美容的服务管理系统。网上很少关于Springboot + Mongodb管理系统相关内容,所以我走了很多弯路。通过这篇博客分享一下心路历程。

    开发工具:idea

    开发技术:springboot、layui

    数据库:mongodb

    汽车美容服务管理系统

    第1章 前言

    1.1 背景和意义

            随着科技的进步和社会的发展,汽车从原来只能是有钱人的玩具走进了千家万户,使得私人拥有轿车已经变成现实。近年来,人们受事务猎奇、追求标新立异的思想影响,对于汽车外形、性能、舒适性的追求与原来的对于汽车的定义大不相同;随着汽车工业的发展,消费潮流的转变,为了迎合广大消费者的需求,汽车生产商加快了在汽车外形、性能方面的更新换代的速度,汽车美容伴随着汽车行业的发展应运而生。据测算,每1元购车消费将带动0.65元的汽车售后服务。与传统的洗车相比,对汽车不同部位、不同材质采用不同的护理用品以及不同的护理工艺,具有更强的针对性。

            汽车美容护理服务是汽车和人是一个密不可分的整体,现在人们已经把视线由车辆的技术性能转移到车辆的美学角度上。汽车美容集清洁、除尘、打蜡、翻新及漆面处理为一体,由表及里、全面而细致的使车辆的风采永存。由此可见,汽车美容是车辆美的缔造,其意义不言而喻。

    1.2 设计目标

            结合汽车美容服务业背景,对国内外研究现状进行剖析的同时,分析其中存在的问题和潜在需求,指出汽车美容服务管理系统的优势。对汽车美容服务系统设计的整个过程,从底层开始规划,针对管理对象的不同,制定相应的架构模块,使系统足够的灵活。当系统的信息量越大,复杂度就会越高,用户的体验至关重要。对海量数据进行,实现将复杂的数据转化为用户易操作的交互页面的目的。

            根据上诉思想,本次设计了汽车美容服务管理系统,实现了汽车美容业信息化管理,实现各类信息维护和数据统计。

    第2章 数据库设计

    2.1 需求分析

            需求分析也成为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表达转化为完整的需求定义,从而确定系统必须做什么的过程。

    通过实际调查,本系统需要具备:

    1. 良好的人际交互界面;
    2. 如果系统使用用户多多,有较好的权限管理;
    3. 方便添加、删除、修改和查询数据;

            本选题旨在设计一个对客户、订单、服务项目等信息进行良好的管理。服务端英语部署该系统并且存储用户提交的信息数据,所有的业务逻辑均在服务器端处理,而浏览器仅仅是一个浏览器,适应者并不需要进行维护,只是需要进行数据的访问,从而实现相关信息的统计,客户信息、订单信息等增删改查。

            本次研究的目的是为提交汽车美容服务管理的效率,给大家提供方便、快捷的录入、查询与统计方式以及对客户、订单等的统计。

            系统主要完成内容包括客户信息管理、订单信息管理、服务项目管理以及客户名下汽车信息管理等几个模块,主要功能如下:

    1. 客户信息管理:包括管理员对客户信息的增加、删除、修改以及查询等;
    2. 订单信息管理:包括对订单的添加、删除、修改以及查询等操作;
    3. 服务项目管理:包括管理员对服务项目的模糊查询、增加、删除、修改等;
    4. 汽车信息管理:包括管理员对客户名下汽车的增加、删除、修改以及查询等;

    2.1.1 功能概述

            本系统实现对汽车美容服务的管理。主要功能为管理客户、订单、服务项目和客户名下汽车的信息等。

            本系统的结构分为客户信息管理模块、订单信息管理模块、服务项目管理模块以及客户名下汽车管理模块。系统的总体功能模块图如下图1所示。

     图 1 模块图

    2.1.2 用例图

    汽车美容服务管理系统管理员用户用例图如下图所示:

    图 2 用例图

    2.1.3 用例描述

    1、用例清单

    汽车美容服务系统管理员用户用例清单如下表所示:

    表 1 用例清单

    模块

    用例编号

    用例名称

    用例描述

    管理员登录

    UC-A001

    管理员登录

    管理员根据账户和密码登录汽车美容服务管理系统

    客户管理

    UC-A002

    客户管理

    在汽车美容服务管理系统中增加、删除、修改、查询信息

    汽车管理

    UC-A003

    汽车管理

    添加、删除、查询汽车信息

    美容服务项目管理

    UC-A004

    美容服务项目管理

    添加、删除、修改、查询美容项目

    消费记录管理

    UC-A005

    消费记录管理

    添加、删除、修改、查询美容消费记录信息

    2、详细的用例描述

    汽车美容服务系统管理员用户用例描述如下表所示:

    1. 管理员登录UC-A001

    表 2 管理员登录

    描述

    描述

    管理员通过账号和密码登录系统

    基本流程

    1. 管理员在登录界面输入账号和密码
    2. 管理员点击“登录”按钮
    3. 系统进入汽车美容服务管理系统界面

    返回数据

    管理员登录结果集

            2. 客户管理UC-A002

    表 3 客户管理

    描述

    描述

    落实各客户信息的管理,并导入客户信息名单

    基本流程

    1. 管理员点击“客户管理”链接,系统进入客户管理界面
    2. 系统根据客户信息表中的数据显示系统已存在的客户信息列表
    3. 管理员根据实际需求,单击添加、修改、删除等按钮
    4. 系统根据管理员给出的操作命令跳转到相应的界面
    5. 管理员在相对应的管理界面进行管理操作
    6. 在查询功能中,管理员可通过搜索框模糊(或精确)查找对应客户信息

    返回数据

    客户信息结果集

            3. 汽车管理UC-A003

    表 4 汽车管理

    描述

    描述

    对汽车信息进行管理操作

    基本流程

    1. 管理员点击“汽车信息管理”导航链接,系统进入汽车信息管理
    2. 系统根据汽车信息表中的数据显示系统已存在的汽车信息列表
    3. 管理员根据需求,单击添加、删除、修改等按钮
    4. 系统根据管理员给出的命令跳转到相应的管理界面
    5. 管理员在相应的界面进行管理操作

    返回数据

    汽车信息结果集

            4. 美容服务项目管理UC-A004

    表 5 美容项目管理

    描述

    描述

    对美容服务项目进行管理操作

    基本流程

    1. 点击“服务项目管理”导肮链接,系统进入项目管理页面
    2. 系统根据项目管理表中的数据显示系统已存在的项目列表
    3. 管理员根据实际需要,单击修改、删除、增加按钮
    4. 系统根据管理员下达的命令跳转到相应操作界面
    5. 管理员在对应的操作页面进行管理操作
    6. 在查询功能中,管理员可通过搜索框模糊(或精确)查找对应服务项目信息

    返回数据

    美容服务项目结果集

            5. 消费记录管理UC-A005

    表 6 消费记录管理

    描述

    描述

    对消费记录进行操纵管理

    基本流程

    1. 点击“消费记录”导航链接,系统进入服务消费记录页面
    2. 系统根据服务消费记录表中的数据显示系统已存在的消费记录
    3. 管理员根据实际需求,对消费记录进行增加、删除、修改等操作
    4. 系统根据管理员的需求跳转到相应的界面并进行管理操作
    5. 在查询功能中,管理员借助搜索框,对某类型记录进行模糊(或精确)查询操作
    6. 点击“查询”按钮,筛选出满足条件的记录,并显示

    返回数据

    服务消费记录结果集

    2.2 概念结构设计

     E-R图(传统E-R图)如下图所示:

     

    图 3 E-R图

    逻辑结构设计

    1. 客户信息表:(用户编号,姓名,性别,联系方式,身份证号)
    2. 消费记录表:(订单编号客户姓名,车辆类型,服务项目,接待人,接待时间,实际收费)
    3. 汽车信息表:(车牌号客户姓名,车型)
    4. 美容服务表:(项目类型,收费标准)

    2.3 文档结构设计

    一对多关系建模

    主体

    表名

    汽车

    car

    客户

    customer

    MongoDB数据如下图所示:

     一对很少(客户—汽车)

    1. {
    2. "_id" : ObjectId("62a17489679bb8204d8eda7b"),
    3. "customer_id" : "1534751714819837952",
    4. "customer_name" : "张三",
    5. "customer_gender" : "男",
    6. "customer_phone" : "123456",
    7. "customer_idcard" : "12345",
    8. "_class" : "com.xyr.pojo.Customer",
    9. "car" : [
    10. {
    11. "customer_name" : "张三",
    12. "car_number" : "浙K4567",
    13. "car_type" : "跑车"
    14. },
    15. {
    16. "customer_name" : "张三",
    17. "car_number" : "赣K6666",
    18. "car_type" : "拖拉机"
    19. }
    20. ]
    21. }

    第3章 应用系统实现

    3.1 客户信息管理

    1、搜索

            搜索功能采用了模糊查找和多条件查询。对于客户信息页面的查询,可以通过客户姓名、身份证号、性别以及电话号码模糊查询。

            例,查询客户姓名为“李四”的客户姓名,查找到关于李四的客户信息以及名下的车辆信息。效果图如下图4所示 

    图 4 客户查找

    方法实现:

    1. 获取输入的搜索内容
    2. 设置正则规则“^.*”+ 输入的内容 + “.*$”实现模糊查找
    3. orOperator方法将需要查询的信息或起来,实现多条件查询
    4. find方法对mongodb数据集进行查找符合条件的数据
    5. 前端使用layui调用后端查询方法并刷新表格数据,将满足条件的数据呈现出来。

    2、添加客户信息

            点击“+”号按钮,跳出弹窗页面对客户进行添加。在弹窗中输入姓名、选择性别、联系方式、身份证号信息。效果图如下图5所示: 

    图 5 添加弹窗

            例:输入姓名:小王;性别:女;联系方式:111111;身份证号:330991199209091111

    点击“提交”按钮,客户信息列表中成功新增一条姓名为小王的信息。。效果图如下图6所示。 

    图 6 添加一条记录

    实现方法:

    1. 首先获取输入的身份证号,判断输入的身份证号在客户表中是否已经存在;
    2. 若身份证号已存在,不添加客户信息;反之,添加客户信息;
    3. 客户编号通过雪花算法生成;
    4. 通过insert方法插入数据;
    5. 弹窗通过layer.open({})方法实现;

    3、修改客户信息

            通过点击客户信息列表后的“编辑”按钮,跳出修改小弹窗。可修改姓名、性别、联系方法以及身份证号。效果图如下图7所示: 

    图 7 修改弹窗

    例:选择性别“男”;联系方式:222222

            点击“修改”按钮,客户信息表中为“小王”的记录成功被修改。效果图如下图8所示。 

    图 8 修改一条记录

    实现方法:

    1. 通过查找客户编号获取点击的某一条数据记录;
    2. update和set方法定义哪些数据需要被修改;
    3. updateFirst方法修改数据;
    4. 修改小弹窗中需要先将指定数据回显在输入框中,使用form.val()回显数据方法;

    4、删除客户信息

            通过点击“删除”按钮,跳出提示弹窗“确定删除该条记录吗?”,点击“确定”成功删除一条记录。效果图如下图9所示。

    例:删除姓名为小王的客户记录。 

    图 9 删除一条记录

    实现方法:

    1. 通过查找客户编号找到指定记录;
    2. remove方法移除记录;

    3.2 车辆信息管理

    备注:车辆信息与客户信息之间的关系为一对很少关系;车辆信息为客户信息的内嵌文档。

    1. 搜索

            通过输入客户信息,查找客户名下的车辆信息。

    例:输入姓名为李四的客户,查找到两条车辆信息。效果图如下图10所示。

    图 10 车辆查询

            2. 增加车辆

            点击“+”按钮,跳出车辆信息添加小弹窗,效果图如下图11所示:

    图 11 添加车辆信息

    例:输入客户姓名:李四;车牌号:赣K1111;车型:拖拉机。

    点击提交按钮,姓名为李四的客户名下新增了一条车辆信息,效果图如下图12所示。 

    图 12 新增一条记录

    实现方法:

    1. where方式查询客户姓名cuatomer_name;
    2. push方法在客户信息下追加车辆信息;
    3. 最后upsert方法添加一条车辆记录;

            3. 修改车辆

            点击修改图标,跳出一个车辆信息修改小弹窗。输入客户身份证号、车牌号以及车型进行修改。效果图如下图13所示。 

    图 13 修改车辆信息

    例:输入身份证号:330881199911111111;车牌号:赣K1111;车型:跑车

    点击“提交按钮”,车辆信息成功被修改(车牌号为赣K1111的车型由“拖拉机”改为了“跑车”)。效果图如下图14所示。 

    图 14 修改一条记录

    实现方法:

    1. 获取输入的身份证号和车牌号;
    2. where查找符合输入信息的记录;
    3. set方法修改车型;
    4. updateFirst方法更新该条记录;

            4. 删除车辆

            点击“删除”按钮,跳出删除车辆信息弹窗。通过输入客户身份证号以及车牌号信息进行删除。效果图如下图15所示: 

    图 15 删除车辆信息

    例:输入身份证号:330881199911111111;车牌号:赣K1111。

    点击“提交”按钮,成功删除车辆信息,效果图如下图16所示。

    图 16 删除一条记录

    3、订单信息管理

    1、搜索

            通过输入搜索信息,点击“搜索”按钮,查找符合条件的订单记录。搜索可通过客户姓名,接待人员或车辆类型等多条件模糊查找。

            例输入“小”,查找到两条订单记录。效果图如下图17所示。 

    图 17 搜索

    2、增加订单信息

            点击“+”按钮,跳出订单信息添加弹窗,通过输入客户姓名、接待人员、实际收费、车辆类型以及选择服务项目进行添加订单信息。效果图如下图18所示。 

    图 18 添加订单信息

            例:输入客户姓名:小小;接待人员:小王;实际收费:45;车辆类型:货车;服务类型:洗车、补胎。

            点击“提交”按钮,成功添加一条订单记录。效果图如下图19所示。 

    图 19 添加一条记录

    实现方法:

    1. 订单编号通过雪花算法自动生成;接待时间通过获取当前系统时间产生;
    2. 其他订单信息通过获取输入框内的信息,insert方法将记录插入mongodb中;

    3、修改订单信息

            点击“编辑”按钮,跳出订单信息修改弹窗。弹窗中的内容包括订单编号、客户姓名、接待人员、接待事件、实际收费以及车辆类型、服务项目。其中订单编号为不可修改内容。效果图如下图20所示。 

    图 20 修改订单信息

            例:修改接待人员:小王;接待时间:2022-06-16 13:19:15;服务项目:补胎、油漆。

            点击“提交”按钮,客户姓名为“张三”的这一条订单记录成功被修改。效果图如下图21所示。

    图 21 修改一条记录

    实现方法:

    1. 通过订单编号查找需要修改的记录信息
    2. 获取输入框信息,使用update和set方法修改订单记录信息
    3. 通过updateFirst方法更新修改该条记录信息

    4、删除订单信息

            点击“删除”按钮,跳出“确定删除该条记录吗?”,点击“确定”,成功删除该条订单记录。效果图如下图22所示。 

    图 22 删除订单信息

    4、服务项目管理

    备注:服务项目管理部分修改部分出了点小插曲(修改不成功/(ㄒoㄒ)/~~),一直没有找到问题所在💦🕳,强大的UU们可以试试哦💨

    1、搜索

            在搜索框中输入服务项目类型进行模糊查找。

            例:输入“补”,查找到一条记录。效果图如下图23所示。 

    图 23 搜索

    2、增加服务项目

            点击“+”按钮,跳出美容服务项目添加弹窗。该弹窗包括服务类型和服务价格效果图如下图24所示。 

    图 24 添加服务项目

    例:输入服务项目:补漆;服务价格:66

    点击“提交”按钮,成功添加一项服务项目。效果图如下图25所示。 

    图 25 添加一条记录

    3、修改服务项目

            点击“编辑”按钮,弹出服务项目修改弹窗。效果图如下图26所示。 

    图 26 编辑服务项目

    例:改变服务价格为45

    点击“提交”按钮,成功修改服务类型为“补漆”的服务项目记录,效果图如下图27所示。 

    图 27 修改一条记录

    4、删除服务项目

            点击“删除”按钮,跳出提示“确定删除该条记录吗?”,点击确定,成功删除该条服务项目记录。效果图如下图28、29所示。

    图 28 删除服务项目

    例:成功删除服务类型为“补漆”的服务项目记录。

    图 29 删除一条记录

    第4章 总结

    4.1 总结

       本次系统设计我从系统的功能需求、运行要求、可行性等单方面进行分析,奠定了本次系统设计的基础要素,之后确定了自己的开发工具为IDEA,开发语言为Java,接着我开始思考几个要点,包括分为几个模块,用到了几个数据表以及一些细节功能的完善。我根据实现系统的实际情况,对实现该系统中具有特色的部分进行界面构图设计,并做了大致的修改。大致完成了系统的前期设计与模拟后,利用了sprintboot+layui的技术,应用MongoDB工具,结合前端框架,将汽车服务管理系统设计完成。

    本次作业的主要工作开展如下:

    1. 通过对汽车美容服务管理系统的情况进行考察、分析和研究,确定了研究背景和研究现状,设计系统实现大纲和框架。
    2. 从实际触发对系统进行了功能和性能需求分析,并提供开发方案和开发环境的比较,结合layui开发技术进行功能开发。管理员具有增删改查功能,以及对客户信息、车辆信息、订单信息以及服务项目信息等的增删改查功能。
    3. 结合前端框架,对界面进行设计和细节完善。后端结合MongoDB设计表格,数据流程图等对系统进行辅助说明,最终实现汽车美容服务管理系统
    4. 对本系统进行了测试,系统经测试后基本功能均能正常运行,具有一定的可用性。

     4.2 感悟

            巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉......

    此处感悟达1000字💬

    附录

            系统文件结构分为pojo、service、controller层以及前端页面显示。如下图30所示。

     

    图 30

    1. pojo部分

            1)Customer(客户信息)

     

    图 31

            2)Car(车辆信息)

    图 32

            3)Order(订单信息)

    图 33

            4)Fuwu(服务项目信息)

      

    图 34 

    代码部分实在太多了,有需要的UU们可移步百度网盘。

    链接:https://pan.baidu.com/s/1sRt8qSpcC6f3cZztlhMXtQ 
    提取码:fnhk 
    复制这段内容后打开百度网盘手机App,操作更方便哦

  • 相关阅读:
    项目八 51单片机WIFI控制继电器
    CSS 预处理器的 13 种风格
    Canoe 安装流程
    [英雄星球六月集训LeetCode解题日报] 第26日 并查集
    Orillusion引擎正式开源!AIGC时代下的WebGPU轻量级3D渲染引擎!
    274. H 指数
    23-Spring事务源码分析
    cpu负载4800,根目录磁盘100%,问题排查和解决
    jQuery基础知识
    PHP集成环境XAMPP中Apache无法启动问题解决方案
  • 原文地址:https://blog.csdn.net/weixin_48112113/article/details/125549781