从本篇起,我们将开始学习spring boot 微信支付项目。
本节我们来讲解项目设计。主要从以下几个方面来讲解:
1:角色划分;
2:功能模块划分;
3:部署架构;
4:数据库设计;
角色划分:
买家端和卖家端
买家是在手机端操作的,买家端是在PC端管理商品的
功能模块划分如下:
买家浏览商品列表、下单、查询、取消订单等操作
卖家可以商品类目管理、商品管理、订单管理等操作。
具体如下图:
买家和卖家关系:
买家:创建/查询订单、查询商品
卖家:查询/接单、管理商品
卖家与买家之间通过消息进行连接
具体如下图:
再来看看项目部署:
买家通过手机端访问nginx上面页面,请求tomcat数据,然后从redis缓存或者mysql数据库中查询数据;
卖家通过PC端浏览器操作。
具体如下图:
数据库设计:
主要从:表之间关系、创建表sql脚本及注意事项三个方面来讲。
说明:我们主要讲解spring boot及支付相关的。其他业务都忽略,精简之后就剩下下面五张表,比较简单的。表与表之间的关系如下图:
商品表字段:
名称、价格、库存、描述、图片、类目编号等。
sql脚本:
类目表脚本:
订单表sql脚本:
商品详情
具体五张表sql脚本:
— 类目
create table `product_category` (
`category_id`int not null auto_increment,
`category_name`varchar(64) not null comment 类目名字,
`category_type`int not null comment 类目编号,
`create_time`timestamp not null default current_timestamp comment 创建时间,
`update_time`timestamp not null default current_timestamp on update current_timestamp comment 修改时间,
primary key (`category_id`)
);
— 商品
create table `product_info` (
`product_id`varchar(32) not null,
`product_name`varchar(64) not null comment 商品名称,
`product_price`decimal(8,2) not null comment 单价,
`product_stock`int not null comment 库存,
`product_description`varchar(64) comment 描述,
`product_icon`varchar(512) comment 小图,
`product_status`tinyint(3) DEFAULT 0 COMMENT 商品状态,0正常1下架,
`category_type`int not null comment 类目编号,
`create_time`timestamp not null default current_timestamp comment 创建时间,
`update_time`timestamp not null default current_timestamp on update current_timestamp comment 修改时间,
primary key (`product_id`)
);
— 订单
create table `order_master` (
`order_id`varchar(32) not null,
`buyer_name`varchar(32) not null comment 买家名字,
`buyer_phone`varchar(32) not null comment 买家电话,
`buyer_address`varchar(128) not null comment 买家地址,
`buyer_openid`varchar(64) not null comment 买家微信openid,
`order_amount`decimal(8,2) not null comment 订单总金额,
`order_status`tinyint(3) not null default 0 comment 订单状态, 默认为新下单,
`pay_status`tinyint(3) not null default 0 comment 支付状态, 默认未支付,
`create_time`timestamp not null default current_timestamp comment 创建时间,
`update_time`timestamp not null default current_timestamp on update current_timestamp comment 修改时间,
primary key (`order_id`),
key`idx_buyer_openid` (`buyer_openid`)
);
— 订单商品
create table `order_detail` (
`detail_id`varchar(32) not null,
`order_id`varchar(32) not null,
`product_id`varchar(32) not null,
`product_name`varchar(64) not null comment 商品名称,
`product_price`decimal(8,2) not null comment 当前价格,单位分,
`product_quantity`int not null comment 数量,
`product_icon`varchar(512) comment 小图,
`create_time`timestamp not null default current_timestamp comment 创建时间,
`update_time`timestamp not null default current_timestamp on update current_timestamp comment 修改时间,
primary key (`detail_id`),
key`idx_order_id` (`order_id`)
);
— 卖家(登录后台使用, 卖家登录之后可能直接采用微信扫码登录,不使用账号密码)
create table `seller_info` (
`seller_id`varchar(32) not null,
`username`varchar(32) not null,
`password`varchar(32) not null,
`openid`varchar(64) not null comment 微信openid,
`create_time`timestamp not null default current_timestamp comment 创建时间,
`update_time`timestamp not null default current_timestamp on update current_timestamp comment 修改时间,
primary key (`seller_id`)
) comment 卖家信息表;
下一节我们开始买家端开发
声明:本文部分素材转载自互联网,如有侵权立即删除 。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容