系统功能模块划分
实体类设计和表的创建
priority (权重,数值越大页面展示越靠前)
商品类别和详情图片省略
实体类关联
一、
微信账号和本地账号通过用户id联系在一起。我们在sql表中也设了外键约束,如果两个账号指向同一个信息则证明是同一个账号,而mysql中不能传入对象,我们在数据库中通过两表的用户id字段来判断是否为同一个账户
二、
店铺信息和这些信息关联起来:
店铺类别:通过店铺信息类的private ShopCategory shopCategory的字段来链接
区域信息:private Area are通过店铺信息类中区域字段来辨别店铺的区域信息。
商品信息:通过商品信息类中的private Shop shop;中的字段来确定是哪个店铺的
商品类别:通过商品类别类中的private Long shopId;字段来确定商品类别是哪个商铺的
三、
商品信息的相关联:
商品类别:通过商品信息类中的private ProductCategory productCategory;来确定商品的类别
详情图片:通过商品图片类中的private Long productId;来确定图片是哪个商品的图片
补充
因为后期要做无限分级板块,比如现在有一级Category为美食饮品、广告印刷,那么可以在一级Category上细分,如美食饮品可以细分蛋糕甜点、火锅、小吃快餐等。所以要在Category表中增加parent属性,表明该类别的上一级别,从而实现无限分级功能。
权重,大部分表都涉及到了权重,权重的作用是什么呢?展示商家店铺的时候,往往我们需要对店铺排序,排序的依据是什么,可以用权重作为排序的依据,权重越大,优先展示。权重高往往优先级越高,所享受的权利就多。
用户表相关,tb_user表是存储真实用户信息的,而本地账户是通过注册产生,微信账户通过扫码产生,这两张表并不存放用户的具体信息,只是存放与平台账户相关的信息,两表通过外键user_id与用户表相互关联。两者的Java实体类中持有用户的引用。另外,本地账户的创建依赖于微信账号,只有通过微信登录后,才有权限绑定本地账户,以后可以直接使用本地账户登录。