Java生鲜电商平台-微服务生鲜电商用户中心的系统设计(小程序/APP)

Java生鲜电商平台-微服务生鲜电商用户中心的系统设计(小程序/APP)

 

说明:在微服务生鲜电商用户中心的系统设计中,我一直强调一个观点,就是你这个系统使用用户到底是TO B的还是TO C的呢?这个是很关键的.

           但是很多人都回答,我希望有商家入驻,又有B端用户购买,也支持C端用户购买。这个话没错,任何人都希望自己的平台可以支持N中业务形态,

但是根据我这么多年的生鲜电商生涯,我发现,其实B端跟C端用户都是不一样的业务形态,一定要强制柔和在一起也是可以的,只不过会把系统搞得很复杂。

那具体哪些业务场景会出现不一致呢?

            1. 收货地址

            2. 支付方式

            3. 结算方式

            4. 价格体系

            5. 软件使用

           说明:

              1. 从收货地址方面,对于B端用户而言,收货地址以及收货人从某种意义来讲是相对固定的,几乎没什么变化,但是C端用户则很不一样,极其容易变化。

              2. 从支付方式方面,对于B端用户而言,很多时候走的是账期支付,就是我们常说的押账,这个是目前的市场的非常普遍的一种模式.而且还需要发票。

但是对于C端用户而言,几乎都是支付宝与微信,而且都是直接下单支付。

              3. 结算方式方面,对于B端用户而言,是需要进行对账需求的,也就是每笔交易都需要交易明细,而且从对账,到付款,再到发票这块都是很长的路要走的,通俗的讲

就是钱难要。

             4. 价格体系方面,对于B端用户而言,不同的客户同一个商品,他的价格是不一样的,但是对于C端而言,价格体系几乎一样。

             5. 软件使用方面,对于B端用户而言,B端喜欢用APP,而C端用户喜欢用小程序,因为很方面。

 

             如此业务形态不一致,但是又必须要做到兼容的一种方式,目前除了增加代码的复杂度以外,就算采用微服务拆分也很难处理好目前的这种业务形态。

           

             那么如何进行微服务架构设计呢?(数据库层面)

             C端用户

复制代码

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(63) NOT NULL COMMENT '用户名称',
  `password` varchar(63) NOT NULL DEFAULT '' COMMENT '用户密码',
  `gender` tinyint(3) NOT NULL DEFAULT '0' COMMENT '性别:0 未知, 1男, 1 女',
  `birthday` date DEFAULT NULL COMMENT '生日',
  `last_login_time` datetime DEFAULT NULL COMMENT '最近一次登录时间',
  `last_login_ip` varchar(63) NOT NULL DEFAULT '' COMMENT '最近一次登录IP地址',
  `user_level` tinyint(3) DEFAULT '0' COMMENT '0 普通用户,1 VIP用户,2 高级VIP用户',
  `nickname` varchar(63) NOT NULL DEFAULT '' COMMENT '用户昵称或网络名称',
  `mobile` varchar(20) NOT NULL DEFAULT '' COMMENT '用户手机号码',
  `avatar` varchar(255) NOT NULL DEFAULT '' COMMENT '用户头像图片',
  `weixin_openid` varchar(63) NOT NULL DEFAULT '' COMMENT '微信登录openid',
  `session_key` varchar(100) NOT NULL DEFAULT '' COMMENT '微信登录会话KEY',
  `status` tinyint(3) NOT NULL DEFAULT '0' COMMENT '0 可用, 1 禁用, 2 注销',
  `add_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除',
  `balance_money` decimal(12,2) DEFAULT '0.00' COMMENT '用户余额',
  `user_integration` int(11) DEFAULT '0' COMMENT '用户积分',
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_name` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='用户表';

复制代码

 

          B端用户

复制代码

CREATE TABLE `buyer` (
  `buyer_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '来源于user表中的ID',
  `buyer_name` varchar(64) DEFAULT NULL COMMENT '买家名称(也就是餐馆名称)',
  `buyer_address` varchar(256) DEFAULT NULL COMMENT '餐馆地址',
  `lng` varchar(32) DEFAULT NULL COMMENT '经度',
  `lat` varchar(32) DEFAULT NULL COMMENT '纬度',
  `province_id` int(11) DEFAULT NULL COMMENT '所属省',
  `city_id` int(11) DEFAULT NULL COMMENT '所属市',
  `region_id` int(11) DEFAULT NULL COMMENT '所属区',
  `boss_name` varchar(32) DEFAULT NULL COMMENT '老板名称',
  `boss_tel` varchar(16) DEFAULT NULL COMMENT '老板电话号码',
  `balance_money` decimal(12,2) DEFAULT '0.00' COMMENT '账号余额',
  `buyer_level` tinyint(4) DEFAULT NULL COMMENT '客户级别,1为A类客户,2为B类客户,3为C类客户',
  `buyer_type` int(4) DEFAULT NULL COMMENT '客户的类型,1为火锅店,2为小餐馆,3为中餐馆,4,为烧烤',
  `sale_id` bigint(20) DEFAULT NULL COMMENT '销售人员id',
  `remark` varchar(256) DEFAULT NULL COMMENT '备注信息',
  `buyer_logo` varchar(126) DEFAULT NULL COMMENT '买家logo图片',
  `buyer_images` varchar(1024) DEFAULT NULL COMMENT '方便配送人员容易找到位置,所拍摄的多张图片',
  `open_time` varchar(20) DEFAULT NULL COMMENT '餐馆,早上开门时间',
  `end_time` varchar(20) DEFAULT NULL COMMENT '餐厅晚上关门时间',
  `delivery_time` varchar(20) DEFAULT NULL COMMENT '可以允许的物流最晚送达时间',
  `delivery_area_id` bigint(20) DEFAULT NULL,
  `buyer_menu` varchar(128) DEFAULT NULL COMMENT '买家菜单',
  PRIMARY KEY (`buyer_id`),
  KEY `index_sale_id` (`sale_id`),
  KEY `index_region_id` (`region_id`),
  KEY `index_delivery_id` (`delivery_area_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

复制代码

2. 代码与架构如何编写呢?

    说明:用户中心业务设计是一个不可忽略的技术问题,需要在实战中进行提高,可以根据自己的业务自己进行调整,切记生搬硬套.

3 复盘与总结.

  总结:

          做互联网应用,无论是生鲜小程序还是APP,目的是为了留住与激活用户,形成用户购买力,提高满意度,最终达成交易的,当然本文只是抛砖引玉,希望本文可以给大家一点思考与建议。

           我建议系统分开来研发,同时针对不同的客户有不同的架构设计,最终达到统一的订单架构,物流配送架构等等

 

 QQ:137071249

共同学习QQ群:793305035

好文要顶 关注我 收藏该文  

巨人大哥
关注 - 0
粉丝 - 214

+加关注

0

0

« 上一篇: Java生鲜电商平台-微服务生鲜电商平台的订单设计架构实战(APP/小程序)
» 下一篇: Java生鲜电商平台-实战免费的https证书下载与使用(小程序/APP)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值