电商系统设计之用户系统

栏目:名着 来源:湖北之声 时间:2019-09-09

电商大伙每天都在用,类似某猫,某狗等。 电商系统设计看似复杂又很简单,看似简单又很复杂 本章适合初级工程师及中级工程师细看,大佬请随意

前言

设计以以下为工具讲起

  • PHP为开发语言

  • 基于Laravel框架

  • MySQL为数据存储

电商的可变性与孩子的心情一样,变化极快,所以在设计之处就要想好大部分的功能接入及开发,尽量减少重构次数。对老板来说节约成本,对程序员来说“珍惜生命”

数据表

前期业务简单时,我们可以将数据表设计为下列的样子

TableNameComments
member用户表
member_address收货地址表
member_card银行卡表
member_cart购物车表
membercartitem购物车商品表
membercollectproduct商品收藏表
membercollectsupplier店铺收藏表
member_data用户信息表
memberqueryhistory用户搜索历史表
member_wallet用户账户表
member_withdrawal用户提现表

用户表

考虑到多种登录方式,应在数据表中涉及到微信的openid,unionid,支付宝、QQ的用户token等,这些要在前期就涉及进去,因后期用户量大了之后加一个字段简直是噩梦,用户状态status也必不可少,比较人也是分好坏,其次就是创建时间,登录时间等,用户表与用户信息表绝逼是绑定关系,这就不多言了。

  1. CREATE TABLE `member` (

  2. ?`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

  3. ?`tel` bigint(20) DEFAULT NULL COMMENT '手机号码',

  4. ?`password` varchar(555) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '登录密码',

  5. ?`wx_token` varchar(125) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信TOKEN',

  6. ?`im_token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户融云token',

  7. ?`open_id` varchar(125) COLLATE utf8mb4_unicode_ci DEFAULT NULL,

  8. ?`status` enum('1','-1') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '1' COMMENT '账号状态',

  9. ?`created_at` timestamp NULL DEFAULT NULL,

  10. ?`updated_at` timestamp NULL DEFAULT NULL,

  11. ?PRIMARY KEY (`id`),

  12. ?UNIQUE KEY `member_tel_unique` (`tel`),

  13. ?UNIQUE KEY `member_wx_token_unique` (`wx_token`)

  14. ) ENGINE=InnoDB AUTO_INCREMENT=95 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

收货地址表

收货地址与用户是一一相对的,在设计上增加需要的字段即可,例如 收货人、收货人手机号、城市、详细地址等

  1. CREATE TABLE `member_address` (

  2. ?`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

  3. ?`member_id` int(11) NOT NULL COMMENT '用户编号',

  4. ?`nick_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '收货人姓名',

  5. ?`tel` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '手机号码',

  6. ?`prov` int(11) DEFAULT NULL COMMENT '省',

  7. ?`city` int(11) NOT NULL COMMENT '市',

  8. ?`area` int(11) DEFAULT NULL COMMENT '区',

  9. ?`address` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '街道地址',

  10. ?`number` int(11) NOT NULL COMMENT '邮政编码',

  11. ?`default` enum('0','1') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '默认收货地址 1=>默认',

  12. ?`deleted_at` timestamp NULL DEFAULT NULL,

  13. ?`created_at` timestamp NULL DEFAULT NULL,

  14. ?`updated_at` timestamp NULL DEFAULT NULL,

  15. ?PRIMARY KEY (`id`

    相关文章
    评论
    新版评论功能开发中

头条推荐
最新资讯