首页 > 技术文章 > 二手车项目(一)

freshman118 2018-10-24 13:54 原文

二手车项目(一)
 
github地址:https://github.com/CBB118?tab=repositories
 
0.引导
配置runserver

 

 
1.介绍
二手车交易平台系统
 
项目简介:
随着国家经济飞速发展,国民生活水平的不断提高,人们对于生活质量有了更高的需求,汽车对于一个家庭来说可以提供更多生活上的便利,提高生活的水平,所以中国汽车保有量逐年增加,有大幅度增长.随之而来的是汽车相关产业井喷式的发展,汽车配件,维修,二手车交易等相关产业的觉醒.基于此需求,本平台系统将依托于互联网搭建一个O2O(即Online TO Offline)模式的二手汽车交易平台.以满足二手汽车进行线上公开透明交易,线下实体汽车交付的需求.
 
主体流程
用户可进行线上对待卖二手汽车进行浏览(页面展示),查看待卖二手汽车相关详细信息(详情页展示),包括汽车外观图,汽车相关手续资料,汽车第三方评估报告(可能出现PDF)等.对于有卖车意向的卖家(卖家角色),卖家用户可以进行在线注册个人信息(提交表单)以及填写上传所卖二手汽车的相关信息(可能出现上传图片),申请卖车用户需等待平台进行信息验证(平台角色),待验证成功(状态字段),即可发布卖车信息,等待买家出价.对于有买车意向的用户(买家字段),买家用户可在平台看到相关卖车信息(查看信息),如需购买(购买功能),可进行在线注册,登记上传相关个人信息(提交表单),绑定用户银行卡(可能出现银行卡验证),并进行认证.认证通过的用户,可以对有意向的汽车进行出价(出价功能),双方达成买卖意向(可能出现撮合功能),生成相应的订单(订单功能),买卖双方签署订单协议(可能线上,可能线下),并进行线下过户(订单状态确认改变).
 
分析可能出现的功能
二手车首页展示
二手车详细页展示
生成PDF X
卖家买家角色区分
卖家注册
上传图片
更改状态
买家注册
购买功能
银行卡验证
撮合功能
订单功能
生成订单打印功能X
 
二手车分类列表
完善卖车信息
最近浏览
卖车信息列表
消息列表
个人信息展示
个人信息修改
出价购买意向表
服务保障展示
登录
 
卖家
用户注册>登录>完善个人信息>完善卖车信息>等待审核>发布卖车信息
买家
用户注册>登录>完善个人信息>浏览首页>浏览列表页>浏览详情页>出价购买>等待撮合>撮合成功生成订单
平台
审核发布信息,审核订单
卖家买家线下>过户
2.示例图
(1)首页
 
 
 
(2)汽车列表
(3)汽车详情
(4.1)登录
(4.2)注册
(5.1)卖车程序1
(5.2)卖车程序2
(5.3)卖车程序3
(5.4)卖车程序4
(5.5)卖车程序5
(6)订单详情
(7)服务保障
 
 
 
3.数据库建表
(1)设计表结构
用户表(使用django自带表做继承扩展,股票系统类似)
手机号码
姓名
身份证号
地址
性别
 
品牌表
logo
品牌
是否删除
 
汽车信息表
用户F
品牌F
车名
上牌日期
发动机号
公里数
维修记录
期望售价
成交价格
新车价格
图片
手续
债务
卖家承诺
审核进度
是否购买
是否删除
 
购买意愿表
用户F
车辆F
价格
 
订单表
车辆信息
成交价格
订单号
订单状态
买家
卖家
 
消息表
消息
日期
 
消息状态
用户F
 
银行信息表
开户行
银行卡号
状态
用户F
 
(2)mysql语句
car.sql
 
 
(3)导入
1.导入数据库和数据
1.创建数据库 - car
create database car default charset utf8 collate utf8_general_ci;
2.文件 :usedcar.sql
在usedcar所在目录中执行 :
mysql -uroot -p car<usedcar.sql
3.数据库开发工具
Navicate for MySQL
重点:子查询
 
重点:
1.windows 下的程序开发
1.PyCharm - 安装
2.Python - 安装,程序
3.MySQL 数据库 以及 Navicate for MySQL 工具使用
2.将Table 生成 Models类
./manage.py inspectdb>models.py
3.创建应用
1.userinfo
用户信息相关
实体:Users
2.buy
与购买操作相关的应用
实体:Cart , Orders
3.sale
与商品相关的应用
实体:Brand , Carinfo
 

目录结构

 

app设置设置源文件夹

setting加入app路径

1 import sys
2 
3 sys.path.insert(0, BASE_DIR)
4 sys.path.insert(0, os.path.join(BASE_DIR, "apps"))

 
修改:
1.让 userinfo.Users 继承自 AbstractUser
2.修改settings.py
AUTH_USER_MODEL = 'userinfo.Users'
3.修改Orders实体
buy_user = models.ForeignKey(related_name='buy_user_id')
sale_user = models.ForeignKey(related_name='sale_user_id')
4.修改ForeignKey中所关联的实体
测试:
1. ./manage.py makemigrations
2. ./manage.py migrate
 
4.业务逻辑处理
 
1.路由配置
    1. 1./user/xx userinfo.urls
    2. 2./buy/xx buy.urls
    3. 3./sale/xx sale.urls 注意:每个app中创建urls
 
2.完成热卖车型查询
1.查询Carinfo表数据
2.查询isPurcharse为0,并且isDelete为0
3.五条数据 4.数据显示首页
 
3.完成商品的详情展示
1.index.html block
2.detail.html 继承index.html
3.sale/views.py detail() carid 显示在detail.html
 
4.处理最近浏览
在展示商品详情的同时,将查看的信息保存进cookies 最近浏览的信息是保存在 cookie中的 保存进cookies中的键:Recently_Viewed 最近浏览中最多保存两个商品 业务能力重要
...
 
 

 


 

 

 

 
 
 
 
 
 
 
 

推荐阅读