项目设计:
角色划分:
买家(手机端) 卖家(PC端)
功能模块划分:
架构部署:
项目支持分布式应用,即tomcat为多个服务器,下面图是微服务简介
数据库设计:
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 '小图', 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) ) comment '商品表'; /*这里商品id不使用自增是因为在大型项目中,如果使用自增的话,将会导致溢出,即商品id号不够用,当然小项目无所谓够用*/
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), unique key uqe_category_type(category_type) )comment '类目表'; /*这里不使用类目编号作为商品表的外键*/
create table order_table(
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 '订单状态,默认0新下单',
pay_status tinyint(3) not null default '0' comment '支付状态,默认0未支付',
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)
) comment '订单表';
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) )comment '订单详情表';