用户体系分离项目总结

项目总结

用户体系分离项目总结

背景描述:

1、注册用户分成两个身份:买家、供应商。

2、买家要想成为供应商必须先成为买家(注册),如果之前存在未完结的交易记录(是否还存在可以申请售后的订单)则不能申请成为供应商,如果不存在,则申请成为供应商,提交营业执照,身份认证信息等。最终审核通过后,用户成为供应商,至此,当前用户(手机号)就不能享受买家的功能。

3、因为用户基本信息和身份信息是分开存储的,网站登陆的入口并没有区分买家和卖家。当用户登陆以后,会根据输入的手机号,找到用户身份,并判断是买家或者卖家,然后跳转到相应的用户后台界面(界面完全不一样)。因为用户基本信息并没有分开存储,因此同一个手机号在系统内只能存在一次,这导致用户只能有单一的身份,不利于业务发展。

需求描述:

1、需要将供应商和买家的登陆界面分成不同的页面。

2、同一个手机号可以存在两种身份。不同的登陆页面进入不同身份类型的所对应的功能。

3、可以同时登陆,网站顶部显示用户昵称时,需要根据当前功能是供应山还是买家能够访问(有些页面买家或者供应商都能访问,例如钱包页面,个人信息页面,页面一样只是内容不一样)。

4、若用户输入的手机号不存在,引导用户注册或者入驻。

方案一

将用户身份与基础信息存储在一起,不需要新建表。只需要修复历史数据,登陆的功能(验证用户信息)不需要修改。但是需要将用户身份与手机号作为唯一索引,但是考虑到用户会存在很多种状态,例如冻结、注销等,此方案不是最优的方案。

方案二

新建供应商表,将供应商的数据从基础表中同步过来。同步的操作先执行,再部署代码。这样不会影响用户的使用。因为要成为供应商是需要管理员审核,只需要通知管理员,暂停审核供应商入驻申请即可。需要修改登陆的地方,但是数据分开存储逻辑比较清晰,只需要对手机号做唯一索引限制即可。

供应商入驻成功之后也需要在用户基础信息表中添加一条数据,但是这条数据存在的意义只是为了得到一个全局自增的唯一ID。

方案总结:

其实如果在系统设计之初完全可以将供应商和买家用户单独存放,各自使用自己的自增ID作为用户ID,但是这样带来了一个问题,那就是在用户钱包、安全中心等地方,在设计表的时候,就需要另外一个字段来表示当前用户的类型,因为他们的ID不是全局唯一,重合是肯定的。当然也可以用买家ID、供应商ID两个字段这种方式表示,但是如果后期增加一种用户身份,那就意味着所有可以共用的地方都需要增加一个字段来表示。或者也可以只增加一个字段,例如user_type来表示。但是如果系统有大部分功能可以共用,不打算拆成两个独立的系统的话,个人建议还是采用全局唯一的自增ID作为用户ID,当然如果是两个独立的系统,建议采用各自的自增ID来表示用户ID。

技术实现方案

因为没有采用增加子域名的方式,所以当用户同时登陆买家账号和供应商账号的时候,需要根据不同的页面展示不同身份的信息。将项目分成两个文件夹,一个表示供应商项目、一个表示买家项目。登陆时写入不同的cookie,根据访问路径的不同,来获取不同的用户的身份信息。

之前存在一些买家和供应商共同使用的页面,如钱包、安全中心、个人中心页面等。因此这些页面也需要拷贝一份到供应商项目文件夹下面。

在各自项目文件夹项目入口处需要控制访问控制(跨身份访问),也即是在项目底层要做好用户身份的获取与验证。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值