流程:

商品展示-加入购物车-下单-在线支付-发货-查看物流-收货

下单:生成订单(创建对应用户的订单)-确认订单(更新订单状态,总金额,地址和快递方式)-支付(更新订单状态)-发货(更新订单快递单号)-查看物流(根据物流单号进行第三方查询)-收货(更新订单状态)

sql:

-- 创建数据库
DROP DATABASE IF EXISTS `shop`;
CREATE DATABASE IF NOT EXISTS `shop` DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;

-- 创建测试表
DROP TABLE IF EXISTS `test`;
CREATE TABLE `mg_test` (
    `id` int unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT \'自增id\',
    `username` varchar(32) NOT NULL DEFAULT \'\' COMMENT \'test\',
    `password` varchar(32) NOT NULL DEFAULT \'\' COMMENT \'password\'
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT=\'测试表\';

insert into mg_test(username, password) values(\'test\', md5(\'123456\')); -- 插入一条测试数据

-- 创建管理员表
DROP TABLE IF EXISTS `shop_admin`;
CREATE TABLE IF NOT EXISTS `shop_admin` (
    `adminid` int unsigned NOT NULL AUTO_INCREMENT COMMENT \'主键ID\',
    `adminuser` varchar(32) NOT NULL DEFAULT \'\' COMMENT \'管理员账号\',
    `adminpass` CHAR(32) NOT NULL DEFAULT \'\' COMMENT \'管理员密码\',
    `adminemail` varchar(50) NOT NULL DEFAULT \'\' COMMENT \'管理员电子邮箱\',
    `logintime` int unsigned NOT NULL DEFAULT \'0\' COMMENT \'登陆时间\',
    `loginip` BIGINT NOT NULL DEFAULT \'0\' COMMENT \'登陆IP\',
    `createtime` int unsigned NOT NULL DEFAULT \'0\' COMMENT \'创建时间\',
    PRIMARY KEY (`adminid`),
    UNIQUE shop_admin_adminuser_adminpass(`adminuser`, `adminpass`),
    UNIQUE shop_admin_adminuser_adminemail(`adminuser`, `adminemail`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT \'管理员表\';

insert into `shop_admin`(adminuser, adminpass, adminemail, createtime) values(\'admin\', md5(123456), \'maoriaty@sina.com\', unix_timestamp())

-- 会员表
DROP TABLE IF EXISTS `shop_user`;
CREATE TABLE IF NOT EXISTS `shop_user` (
    `userid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT \'主键id\',
    `openid` char(32) NOT NULL DEFAULT \'0\' COMMENT \'OPENID\',
    `username` VARCHAR(32) NOT NULL DEFAULT \'\' COMMENT \'用户名\',
    `userpass` VARCHAR(32) NOT NULL DEFAULT \'\' COMMENT \'用户密码\',
    `useremail` VARCHAR(100) NOT NULL DEFAULT \'\' COMMENT \'用户邮箱\',
    `createtime` INT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'创建时间\',
    PRIMARY KEY (`userid`),
    UNIQUE shop_user_username_userpass(`username`, `userpass`),
    UNIQUE shop_user_useremail_userpass(`useremail`, `userpass`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT \'会员表\';

-- 会员详细信息
DROP TABLE IF EXISTS `shop_profile`;
CREATE TABLE IF NOT EXISTS `shop_profile` (
    `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT \'主键id\',
    `truename` VARCHAR(32) NOT NULL DEFAULT \'\' COMMENT \'真实姓名\',
    `age` TINYINT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'年龄\',
    `sex` ENUM(\'0\', \'1\', \'2\') NOT NULL DEFAULT \'0\' COMMENT \'性别\',
    `birthday` date NOT NULL DEFAULT \'1992-12-05\' COMMENT \'生日\',
    `nickname` VARCHAR(32) NOT NULL DEFAULT \'\' COMMENT \'昵称\',
    `company` VARCHAR(32) NOT NULL DEFAULT \'\' COMMENT \'公司\',
    `userid` BIGINT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'用户id\',
    `createtime` INT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'创建时间\',
    PRIMARY KEY (`id`),
    UNIQUE shop_profile_userid(`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT \'会员详细信息表\';

-- 无限级商品分类表
DROP TABLE IF EXISTS `shop_category`;
CREATE TABLE IF NOT EXISTS `shop_category` (
    `cateid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT \'主键id\',
    `title` VARCHAR(32) NOT NULL DEFAULT \'\' COMMENT \'标题\',
    `parentid` BIGINT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'父级id\',
    `createtime` INT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'创建时间\',
    PRIMARY KEY (`cateid`),
    KEY shop_category_parentid(`parentid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT \'无限级商品分类表\';

-- 商品表
DROP TABLE IF EXISTS `shop_product`;
CREATE TABLE IF NOT EXISTS `shop_product` (
    `productid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT \'商品id\',
    `cateid` BIGINT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'商品分类id\',
    `title` VARCHAR(200) NOT NULL DEFAULT \'\' COMMENT \'商品标题\',
    `description` TEXT COMMENT \'商品描述\',
    `num` BIGINT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'库存\',
    `price` DECIMAL(10, 2) NOT NULL DEFAULT \'0.00\' COMMENT \'价格\',
    `cover` VARCHAR(200) NOT NULL DEFAULT \'\' COMMENT \'封面图\',
    `pics` TEXT COMMENT \'图片集合\',
    `issale` ENUM(\'0\', \'1\') NOT NULL DEFAULT \'0\' COMMENT \'是否促销\',
    `saleprice` DECIMAL(10, 2) NOT NULL DEFAULT \'0.00\' COMMENT \'促销价格\',
    `ishot` ENUM(\'0\', \'1\') NOT NULL DEFAULT \'0\' COMMENT \'是否热卖\',
    `ison` ENUM(\'0\', \'1\') NOT NULL DEFAULT \'0\' COMMENT \'是否上架\',
    `istui` ENUM(\'0\', \'1\') NOT NULL DEFAULT \'0\' COMMENT \'是否推荐\',
    `createtime` INT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'创建时间\',
    PRIMARY KEY (`productid`),
    KEY shop_product_cateid(`cateid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT \'商品表\';

-- 购物车表
DROP TABLE IF EXISTS `shop_cart`;
CREATE TABLE IF NOT EXISTS `shop_cart` (
    `cartid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT \'购物车id\',
    `productid` BIGINT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'商品id\',
    `userid` BIGINT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'用户id\',
    `productnum` INT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'加入购物车的商品数量\',
    `price` DECIMAL(10, 2) NOT NULL DEFAULT \'0.00\' COMMENT \'加入购物车时的商品价格\',
    `createtime` INT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'创建时间\',
    KEY shop_cart_userid(`userid`),
    KEY shop_cart_productid(`productid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT \'购物车表\'

-- 订单表
DROP TABLE IF EXISTS `shop_order`;
CREATE TABLE IF NOT EXISTS `shop_order` (
    `orderid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT \'订单id\',
    `userid` BIGINT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'下单人id\',
    `amount` DECIMAL(10, 2) NOT NULL DEFAULT \'0.00\' COMMENT \'订单总价\',
    `status` TINYINT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'订单状态\',
    `addressid` BIGINT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'收货地址\',
    `expressid` INT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'快递id\',
    `expressno` VARCHAR(50) NOT NULL DEFAULT \'\' COMMENT \'快递单号\',
    `tradeno` VARCHAR(100) NOT NULL DEFAULT \'\' COMMENT \'支付交易号\',
    `tradeext` TEXT COMMENT \'支付信息\',
    `createtime` INT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'创建时间\',
    `updatetime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'更新时间\',
    KEY shop_order_userid(`userid`),
    KEY shop_order_addressid(`addressid`),
    KEY shop_order_expressid(`expressid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT \'订单表\';

-- 订单详情表
DROP TABLE IF EXISTS `shop_order_detail`;
CREATE TABLE IF NOT EXISTS `shop_order_detail`(
    `detailid` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT \'订单详情id\',
    `orderid` BIGINT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'订单id\',
    `productid` BIGINT UNSIGNED NULL DEFAULT \'0\' COMMENT \'商品id\',
    `price` DECIMAL(10, 2) NOT NULL DEFAULT \'0.00\' COMMENT \'商品价格\',
    `productnum` INT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'商品数量\',
    `createtime` INT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'创建时间\',
    KEY shop_order_detail_orderid(`orderid`),
    KEY shop_order_detail_productid(`productid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT \'订单详情表\';

-- 收货地址表
DROP TABLE IF EXISTS `shop_address`;
CREATE TABLE IF NOT EXISTS  `shop_address`(
    `addressid` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT \'地址id\',
    `firstname` VARCHAR(30) NOT NULL DEFAULT \'\' COMMENT \'\',
    `lastname` VARCHAR(30) NOT NULL DEFAULT \'\' COMMENT \'\',
    `company` VARCHAR(100) NOT NULL DEFAULT \'\' COMMENT \'公司\',
    `address` TEXT COMMENT \'详细地址\',
    `postcode` CHAR(6) NOT NULL DEFAULT \'\' COMMENT \'邮编\',
    `email` VARCHAR(100) NOT NULL DEFAULT \'\' COMMENT \'邮箱\',
    `telephone` VARCHAR(20) NOT NULL DEFAULT \'\' COMMENT \'电话\',
    `userid`  BIGINT UNSIGNED NOT NULL DEFAULT \'0\' COMMENT \'用户id\',
    `createtime` INT NOT NULL DEFAULT \'0\' COMMENT \'创建时间\',
    KEY shop_address_userid(`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT \'收货地址表\';

 

版权声明:本文为maoriaty原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/maoriaty/p/9330642.html