# 业务及设计

# 1、【业务逻辑】

# 1.1 商品类目

商品类目相关-蓝湖链接 (opens new window)

类目逻辑详解

# 1.1.1 前台类目

  • 前台类目和后台类目的关系为多对多(N:N)。
  • 前台类目可以和后台类目的任何级别相关联,以增强前台的可操作性。(但目前,我建议前后台类目的对应关系只允许同级到同级,因为不同级的对应关系可能会衍生出诸多复杂情况,还没有找到更好的解决方案。2023.1.6 by sundi)
  • 前台类目不存在叶子类目的概念,因为前台类目的任意类目都相当于直接挂载了商品。

# 1.2 类目属性

# 1.2.1 属性模板

  • 目前的设计是:属性模板仅支持关联到叶子类目。这个设计,后期可再讨论,是否可以抛弃此限制来自由关联。也因为发布商品时,商品必须挂载到叶子类目,而叶子类目一定保证能有属性模板。
  • 开发初期,因为类目属性数据从网上及其难找(它可能是电商公司的核心数据),所以目前来说不一定所有类目都要求有类目属性。等产品上线后,可由运营来慢慢补充。
  • 淘宝的规则是:类目属性填写的越详细,在用户搜索时,被命中的概率就越高。

# 1.3 登录及账号

# 1.3.1 逻辑与规则

  • 共存在两个实体类型,user和admin。前者是买家用户,后者为管理类型的账号,目前仅适用于总后台账号、商家版账号。
  • 1个手机号仅限注册一个商城(Mall)账号(User)
  • 1个手机号仅限注册一个商家版(Seller)主账号(Admin); 1个手机号可以绑定多个商家子账号(商家版);
  • 1个手机号仅限注册一个总后台(Manager)主账号(Admin)
  • User表中,user_list_name为登录名,user_list_phone为绑定手机号,两者均为主键,即识别唯一User实体的标志。user_list_nickname为昵称。
  • Admin表中,admin_name为登录名,admin_phone为绑定手机号,admin_zone为区分总后台和商家版。admin_name单独为主键。
  • 总后台和商家版的admin实体在数据中,均放在表admin_list_tab中储存,以admin_zone字段区分归属。
  • 1个手机号可以绑定多个商家子账号(Admin),但用处不大,后期会增加开发「通过手机号验证码的方式登录(主要说的是商家版),提示用户是需要进某商家的主账号或是某商家的子账号(提供弹窗选择)」。
  • 用商城账号(User)去开店的时候,生成的一个商家主账号(Admin)。这个Admin和User是1:1对应关系,用"adminName + 是否为商家主账号"关联。而且是同一个手机号。

# 1.3.2 图解登录流程(以商家版为主)

登录流程图解

# 1.4 注册

# 1.4.1 逻辑与规则

  • 商家版入驻时,注册的登录名要做校验,校验规则为:必须是 英文字符+数字 或 中文字符(数字可加可不加),并提示给用户:此次注册的登录名会自动成为子账号的前缀。如:注册登录名为 「wss123」,那么新增的子账号将会自动添加前缀,如 「wss123:小花」、「wss123:小明」等。以英文字符开头,就可以和手机号区别开,后台可以根据这个规则校验。
  • 登录名要做唯一性校验。
  • 主账号不允许用户名中含有冒号等非法字符(因为冒号还需要用来区分主账号和子账号)。
  • 在子账号登录时,一定要注意将客户自行输入的冒号, 转换为英文字符下的冒号。

# 1.4.2 用户行为

  • 商家版登录:前端识别是否为手机号:1、若为手机号,则直接登录该手机号的主账号商家平台;2、若不为手机号,则为用户名登录;3、若用户输入含有 “:” 即冒号,则为子账号登录。
  • 页面区分(用户名/手机号+密码)登录和(手机号+短信验证码)登录。后者直接登录该手机号的主账号。
  • 手机号登录,永远只能登录以此手机号为「主账号」的商家平台。