【开源】基于JAVA+Vue+SpringBoot的二手车交易系统

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 数据中心模块
    • 2.2 二手车档案管理模块
    • 2.3 车辆预约管理模块
    • 2.4 车辆预定管理模块
    • 2.5 车辆留言板管理模块
    • 2.6 车辆资讯管理模块
  • 三、系统设计
    • 3.1 E-R图设计
    • 3.2 可行性分析
      • 3.2.1 技术可行性分析
      • 3.2.2 操作可行性
      • 3.2.3 经济可行性
    • 3.3 数据库设计
      • 3.3.1 用户信息表
      • 3.3.2 二手车辆档案表
      • 3.3.3 二手车预约表
      • 3.3.4 二手车预定表
      • 3.3.5 留言板表
  • 四、系统展示
  • 五、核心代码
    • 5.1 新增二手车预约单
    • 5.2 查询二手车预约单
    • 5.3 查询全部二手车
    • 5.4 审核预订单
    • 5.5 查询单个二手车
  • 六、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的二手车交易系统,分为管理后台和用户网页,包含了二手车档案、预约订单模块、预订单模块、留言板模块和车辆资讯模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,二手车交易系统基于角色的访问控制,给管理员、普通用户角色使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

随着我国互联网技术的不断发展,电子商务受到了广大年轻人的欢迎。在二手汽车行业中也是如此,由于疫情防控等原因,线上二手车销售额逐年增加,但我国目前还没有一套高效、稳定的二手汽车交易网站,满足人民群众的销售、过户、签合同需求。本文将针对二手汽车市场的实际需求,开发一个看车、下单、过户一体化的二手汽车交易网站,使用SpringBoot和Vue框架分别开发后端和前端,使用MySQL存储系统数据,以满足二手市场线上销售的需要。

1.2 项目录屏


二、功能模块

二手车置换网站的功能需求主要包括六大模块:数据中心模块、二手车档案模块、车辆预约模块、车辆预定模块、车辆留言模块、车辆资讯模块。这是一个基于浏览器交互的web管理后台。各模块的详细信息如下。

2.1 数据中心模块

数据中心模块包含一个二手车交易网站的基本系统配置,包括连接用户管理、二手车平台组织结构管理、用户菜单权限管理、系统日志管理、公共文件云盘管理等。

在对接用户管理模块中,二手车运维公司的工作人员负责增删改查用户数据。

二手车组织架构是指二手车管理运营公司的组织架构。此模块针对管理这些组织结构和员工的部门所有者的部门级别进行定制。

公有云盘管理模块用于集中维护二手车交易网站的图片,如二手车照片、保险合同、三方合同等。

2.2 二手车档案管理模块

二手汽车交易网站的运维人员可以对二手车档案模块的数据进行增删改查处理,并且可以Excel导出二手车数据。

2.3 车辆预约管理模块

预约车辆意味着买方具有像卖方一样要求试用的原始意图。注册用户可以使用二手车配置文件模块发起预约请求。在收到预订请求后,卖方将积极联系买方进行后续预约测试。

2.4 车辆预定管理模块

车辆预定是购买者购买所选车辆的决定。买家可以在二手车简介中选择自己喜欢的二手车进行预订,输入理想价格和选项的审核,卖家就可以获得交易订单,卖方保留接受或拒绝买方预订要求的权利。

2.5 车辆留言板管理模块

在出售二手车的过程中,协商和冲突是不可避免的。因此,二手车销售网站专门设计了公告栏模块,解决二手车买卖双方、买家与平台之间的纠纷。双方均可在论坛上留言或回复。

2.6 车辆资讯管理模块

车辆信息管理模块用于在二手车平台上发布车辆消息和防骗推文。


三、系统设计

3.1 E-R图设计

目前,最常用的数据库是关系数据库。他们的系统设计是面向对象的。使用行和列存储数据。这对用户来说更加方便。注意对象类如何映射到数据库中的2D表是很重要的。因此,可以利用建模工具设计系统的E-R图,如下图所示。

在这里插入图片描述

3.2 可行性分析

3.2.1 技术可行性分析

Java是一种流行的开发语言。本系统采用Java语言编写,采用JSP进行动态界面的设计和显示,采用MySQL数据库完成系统设计。相对而言,Java语言在开发语言中是比较容易学习的,Java也是我在大学生活中比较喜欢的开发语言,所以我选择Java来开发二手汽车交易网站的后端。所以,二手汽车交易网站的技术选型是没有问题的。

3.2.2 操作可行性

本系统采用Java作为农业贸易的开发语言。操作人员只需要了解如何正常上网,可以使用操作系统,不需要深厚的计算机知识。这是一个高科技时代,智能设备已经进入千家万户,所以上网对大多数人来说是很容易的。

3.2.3 经济可行性

本系统是一个模拟的二手车交易网站,成本压力小。现在电脑很流行。你所需要做的就是在你自己的电脑上设计这个系统。你需要设计和使用的软件可以从互联网上搜索和下载。它们基本上是免费的,因此开发成本相对较低。同时,您可以在任何地方设计和开发您的系统,而无需财务方面的努力。该系统对计算机配置没有严格的要求,即不需要非常高级的配置。因此,该系统在经济上是可行的。

3.3 数据库设计

3.3.1 用户信息表

用户信息表,唯一的代码,以ID作为关键字段,创建人,创建时间,最近修改日期,最近更新日期,家庭地址,个人头像,个人签名,个人电子邮件地址,个人手机号码,用户名,登录密码,性别。还有用户状态,街道,用户类型,登录账号,等等。

在这里插入图片描述

3.3.2 二手车辆档案表

二手车档案表,二手车号是重要的字段,如二手车1·号、品牌、驾驶年、试运行时间、车辆照片、三方检验照片、价格、排量、型号、联系方式、电话、备注等。
在这里插入图片描述

3.3.3 二手车预约表

二手车。预约表,包括预约ID、二手车ID、二手车品牌、二手车价格、车辆照片、卖家姓名、卖家手机、买家ID、买家姓名、预订时间等字段,预约ID是一个关键字段。

在这里插入图片描述

3.3.4 二手车预定表

二手车预定表,预订ID、二手车ID、二手车品牌、二手车价格、车辆照片、卖家姓名、卖家手机、买家ID、买家姓名、预订时间、签订合同、签订合同、审批等,其中 ID是关键字段。
在这里插入图片描述

3.3.5 留言板表

留言板表有留言内容、留言时间戳、留言人等字段,其中留言编号为主键。

在这里插入图片描述


四、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


五、核心代码

5.1 新增二手车预约单

@RequestMapping(value = "/addLook", method = RequestMethod.GET)
@ApiOperation(value = "新增二手车预约单")
public Result<Object> addLook(@RequestParam String carId){UsedCar usedCar = iUsedCarService.getById(carId);if(usedCar == null) {return ResultUtil.error("二手车不存在");}String userId = securityUtil.getCurrUser().getId();CarLook carLook = new CarLook();carLook.setCarId(carId);carLook.setBuyId(userId);carLook.setOrderTime(DateUtil.now());iCarLookService.saveOrUpdate(carLook);return ResultUtil.success();
}

5.2 查询二手车预约单

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询二手车预约单")
public Result<IPage<CarLook>> getByPage(@ModelAttribute CarLook carLook,@ModelAttribute PageVo page){QueryWrapper<CarLook> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(carLook.getBrand())) {qw.inSql("id","select id from t_car_look where car_id in (select id from t_used_car where brand like '" + carLook.getBrand() + "')");}if(!ZwzNullUtils.isNull(carLook.getBuyName())) {qw.inSql("id","select id from t_car_look where buy_id in (select id from t_user where nickname like '" + carLook.getBuyName() + "')");}if(!ZwzNullUtils.isNull(carLook.getSellerName())) {qw.inSql("id","select id from t_car_look where car_id in (select id from t_used_car where sell_name like '" + carLook.getSellerName() + "')");}if(!ZwzNullUtils.isNull(carLook.getOrderTime())) {qw.like("order_time",carLook.getOrderTime());}IPage<CarLook> data = iCarLookService.page(PageUtil.initMpPage(page),qw);for (CarLook look : data.getRecords()) {if(!ZwzNullUtils.isNull(look.getBuyId())) {User user = iUserService.getById(look.getBuyId());if(user != null) {look.setBuyName(user.getNickname());}}if(!ZwzNullUtils.isNull(look.getCarId())) {UsedCar usedCar = iUsedCarService.getById(look.getCarId());if(usedCar != null) {look.setBrand(usedCar.getBrand());look.setSellerMoney(usedCar.getMoney());look.setImageUrl(usedCar.getImageUrl());look.setSellerName(usedCar.getSellName());look.setSellerMobile(usedCar.getSellMobile());}}}return new ResultUtil<IPage<CarLook>>().setData(data);
}

5.3 查询全部二手车

@RequestMapping(value = "/getAllOnWeb", method = RequestMethod.GET)
@ApiOperation(value = "查询全部二手车")
public Result<List<UsedCar>> getAllOnWeb(@RequestParam(required = false) String title){QueryWrapper<UsedCar> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(title)) {// qw.and(wrapper -> wrapper.eq("system_guishu", ParameterSettings.YH_XZXT).or().eq("system_guishu",ParameterSettings.YH_YXXT).or().eq("system_guishu",ParameterSettings.YH_SJYFGS));if(title.startsWith("价格")) {String[] sp = title.split("价格");if(sp.length > 1) {String[] spp = sp[1].split("-");if(spp.length > 1) {try {qw.ge("money",BigDecimal.valueOf(Long.parseLong(spp[0])));qw.le("money",BigDecimal.valueOf(Long.parseLong(spp[1])));}catch (Exception e) {return ResultUtil.error("价格搜索输入非数字");}}}} else if(title.startsWith("排量")) {String[] sp = title.split("排量");if(sp.length > 1) {qw.eq("license",sp[1]);}} else {qw.like("brand",title);}}List<UsedCar> carList = iUsedCarService.list(qw);for (UsedCar car : carList) {QueryWrapper<CarOrder> carQw = new QueryWrapper<>();carQw.eq("car_id",car.getId());carQw.eq("audit_flag",true);if(iCarOrderService.count(carQw) > 0) {car.setCanOrder(true);}}return new ResultUtil<List<UsedCar>>().setData(carList);
}

5.4 审核预订单

@RequestMapping(value = "/doAudit", method = RequestMethod.POST)
@ApiOperation(value = "审核预订单")
public Result<Object> doAudit(@RequestParam String id){CarOrder carOrder = iCarOrderService.getById(id);if(carOrder == null) {return ResultUtil.error("订单不存在");}carOrder.setAuditFlag(true);iCarOrderService.saveOrUpdate(carOrder);return ResultUtil.success();
}

5.5 查询单个二手车

@RequestMapping(value = "/getOneOnWeb", method = RequestMethod.GET)
@ApiOperation(value = "查询单个二手车")
public Result<UsedCar> getOneOnWeb(@RequestParam String id){UsedCar car = iUsedCarService.getById(id);if(car == null) {return ResultUtil.error("二手车不存在");}QueryWrapper<CarOrder> qw = new QueryWrapper<>();qw.eq("car_id",id);qw.eq("audit_flag",true);if(iCarOrderService.count(qw) > 0) {car.setCanOrder(true);}return new ResultUtil<UsedCar>().setData(car);
}

六、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/679183.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java核心设计模式:代理设计模式

一、生活中常见的代理案例 房地产中介&#xff1a;客户手里没有房源信息&#xff0c;找一个中介帮忙商品代购&#xff1a;代理者一般有好的资源渠道&#xff0c;降低购物成本&#xff08;如海外代购&#xff0c;自己不用为了买东西出国&#xff09; 二、为什么要使用代理 对…

AI修复历史人物 图像转真人 绝密档案

修复李白 开启control 不要点爆炸小按钮 权重建议&#xff1a;0.7-1.2 采样&#xff1a;DPM SDE Karras 如果人眼不好&#xff0c;开启高清修复&#xff0c;进行2次尝试 高难度 修复张居正 softhed 1 lineart_真实 1 适当调整lineart进入值。 如果效果不好&#xff…

CentOS安装MySQL

下载安装MySQL 官网下载MySQL ① 下载&#xff1a;访问链接&#xff1a;MySQL下载 ② 安装&#xff1a;将安装包上传并解压&#xff0c;解压&#xff1a; tar -zxvf mysql-x.x.xx-xxx.tar.gzyum安装MySQL ① 更新yum&#xff1a;sudo yum update ② 下载MySQL的rpm包&#…

【大厂AI课学习笔记】【1.6 人工智能基础知识】(2)机器学习

目录 必须理解的知识点&#xff1a; 举一个草莓的例子&#xff1a; 机器学习的三个类别&#xff1a; 监督学习&#xff1a; 无监督学习&#xff1a; 强化学习&#xff1a; 更多知识背景&#xff1a; 机器学习的诞生需求 监督学习的关键技术与实现步骤 无监督学习的关…

ubuntu篇---ubuntu安装python3.9

ubuntu篇—ubuntu安装python3.9 在ubuntu上安装Python有两种方法:在线安装和源码编译安装。 方法1&#xff1a;使用apt在线安装 1.更新软件包列表并安装必备组件&#xff1a; $ sudo apt update $ sudo apt install software-properties-common2.将Deadsnakes PPA添加到系统…

Keil : Error-Flash Download failed Cortex-M4错误

1.打开魔术棒 2.点击Debug设置 3.查看是否有你使用的板子型号的flash 4.如果没有的话就添加以下

【Python 千题 —— 基础篇】查找年龄

Python 千题持续更新中 …… 脑图地址 👉:⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目描述 题目描述 班级中有 Tom、Alan、Bob、Candy、Sandy 五个人,他们组成字典 {Tom: 23, Alan: 24, Bob: 21, Candy: 22, Sandy: 21},字典的键是姓名,字典的…

详细讲解ES6箭头函数语法(附Demo)

目录 前言1. 传统函数2. 箭头函数3. 差异比较彩蛋 前言 讲述箭头函数之前&#xff0c;先了解传统函数的格式&#xff0c;方便做一个对比 1. 传统函数 函数声明&#xff1a; function greet() {console.log("Hello!"); } greet();函数表达式&#xff1a; const s…

Java实现教学资源共享平台 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 类图设计3.3 数据库设计3.3.1 课程档案表3.3.2 课程资源表3.3.3 课程作业表3.3.4 课程评价表 四、系统展…

【通讯录案例-偏好设置 Objective-C语言】

一、刚才,我们plist存储,讲完了,这个plist,我直接,右键,打开 打开 不用xcode,我就用文本文档打开,打开方式:其他 选择:文本编辑 打开 好,这个里边儿啊,就是我们刚才存的一个Key:Value 它本质上,是一个xml 这是一种文件的格式, 等你们讲到网络的时候,实际上,…

掌握Pandas数据筛选方法与高级应用全解析【第70篇—python:数据筛选】

文章目录 掌握Pandas&#xff1a;数据筛选方法与高级应用全解析1. between方法2. isin方法3. loc方法4. iloc方法5. 查询复杂条件的结合应用6. 避免inplace参数7. 利用Lambda函数进行自定义筛选8. 处理缺失值9. 多条件排序10. 数据统计与分组 总结&#xff1a; 掌握Pandas&…

【UE 游戏编程基础知识】

目录 0 引言1 基础知识1.1 拓展&#xff1a;3D数学和计算机图形学的关系 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;UE虚幻引擎专栏&#x1f4a5; 标题&#xff1a;【UE 游戏编程基础知识】❣️ 寄语&#xff1a;书到用时方恨少&#xff0c;事…

工业级加固平板丨亿道三防平板电脑丨安卓工业平板丨改善车队管理

在现代物流和运输行业中&#xff0c;车队管理是一个复杂而重要的任务。为了更好地管理车队&#xff0c;提高工作效率和减少成本&#xff0c;许多企业正在采用新技术和工具。其中&#xff0c;三防平板电脑作为一种功能强大且适应恶劣环境的设备&#xff0c;已经在车队管理中得到…

【电路】三个晶体管的声控开关电路

这种声控开关&#xff0c;可能是非常有用的&#xff0c;例如敲门声或拍手声可以激活一盏灯&#xff0c;灯光几秒钟后会自动关闭。另一种使用在防盗保护&#xff0c;如果有人想打开门或打破东西&#xff0c;灯就会亮起来&#xff0c;这表明有人在家。 该电路可以工作于任何5–1…

opencv图像像素的读写操作

void QuickDemo::pixel_visit_demo(Mat & image) {int w image.cols;//宽度int h image.rows;//高度int dims image.channels();//通道数 图像为灰度dims等于一 图像为彩色时dims等于三 for (int row 0; row < h; row) {for (int col 0; col < w; col) {if…

【2024年数据】67个“绿色金融”主题DID政策汇总(已去重)

DID”发文趋势和主题分布 数据来源&#xff1a;中国知网、各期刊官网 时间跨度&#xff1a;2017-2024年 数据范围&#xff1a;中国各省 数据指标&#xff1a; 序号 用于构建DID的政策 文献标题 1 “宽带中国” 数字技术创新与中国企业高质量发展——来自企业数字专利的证据…

板块一 Servlet编程:第二节 Servlet的实现与生命周期 来自【汤米尼克的JAVAEE全套教程专栏】

板块一 Servlet编程&#xff1a;第二节 Servlet的实现与生命周期 一、Servlet相关概念Serlvet的本质 二、中Web项目中实现Servlet规范&#xff08;1&#xff09;在普通的Java类中继承HttpServlet类&#xff08;2&#xff09;重写service方法编辑项目对外访问路径 二、Servlet工…

【电路笔记】-串联电感

串联电感 文章目录 串联电感1、概述2、电感串联示例13、互耦串联电感器4、电感串联示例25、电感串联示例36、总结 当电感器以菊花链方式连接在一起并共享公共电流时&#xff0c;它们可以串联连接在一起。 1、概述 这些电感器的互连产生了更复杂的网络&#xff0c;其总电感是各…

C++ 中的模型预测控制(01/2)

目录 一、说明二、MPC原理说明三、分解算法的来源并显示关键特征&#xff0c;四、C 实现说明五、平衡 Q 和 R六、资源下载地址 一、说明 以下文章介绍了应用模型预测控制器的简单控制系统方法。本文讨论了这种控制的基本机制&#xff0c;该机制适用于各种工程领域。 MPC 涉及对…

【VTKExamples::PolyData】第二十六期 IterateOverLine

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例IterateOverLine,讲解如何遍历线,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. IterateOverLine There…