跳到主要内容

商品品牌架构文档

概述

  1. 品牌是由平台统一维护的
  2. 品牌和商品是通过分类进行关联的,也就是说,商品在发布时选择的品牌,必须要与选择的分类进行关联才会显示

数据结构图

image-20230815170802449

数据库设计

品牌表

表名:es_brand

字段名类型与长度备注
brand_idbigint(20)主键ID
namevarchar(50)名称
logovarchar(255)图标
disabledint(1)状态 0:已删除,1:正常

品牌与分类关联表

表名:es_category_brand

字段名类型与长度备注
idbigint(20)主键ID
category_idbigint(20)分类ID
brand_idbigint(20)品牌ID

API规划

实体类参数可参考下方的类图展示

品牌维护

管理端:com.enation.app.javashop.api.manager.goods.BrandManagerController

请求方式API地址参数说明作用
GEThttps://{admin-api-domain}/admin/goods/brandsLong pageNo:分页页数;Long pageSize:每页数量;String name:品牌名称查询品牌分页列表数据
POSThttps://{admin-api-domain}/admin/goods/brandsBrandDO brand:品牌信息新增品牌信息
PUThttps://{admin-api-domain}/admin/goods/brands/{id}BrandDO brand:品牌信息,Long id:品牌主键ID修改品牌信息
GEThttps://{admin-api-domain}/admin/goods/brands/{id}Long id:品牌主键ID根据主键ID获取品牌信息
DELETEhttps://{admin-api-domain}/admin/goods/brands/{ids}Long[] ids:品牌主键ID集合批量删除品牌数据
GEThttps://{admin-api-domain}/admin/goods/brands/all查询所有品牌数据集合

品牌与分类关联

管理端:

com.enation.app.javashop.api.manager.goods.CategoryManagerController#getCatBrand

com.enation.app.javashop.api.manager.goods.CategoryManagerController#searchBrand

com.enation.app.javashop.api.manager.goods.CategoryManagerController#saveBrand

请求方式API地址参数说明作用
GEThttps://{admin-api-domain}/admin/goods/categories/{category_id}/brands/selectedLong categoryId:分类ID查询某个分类绑定的品牌数据集合
GEThttps://{admin-api-domain}/admin/goods/categories/{category_id}/brandsLong categoryId:分类ID查询某个分类绑定的品牌数据集合(包括未绑定的品牌信息)
PUThttps://{admin-api-domain}/admin/goods/categories/{category_id}/brandsLong categoryId:分类ID;Long[] chooseBrands:已选择绑定的品牌ID集合分类绑定品牌

商家端:com.enation.app.javashop.api.seller.goods.CategorySellerController#queryBrands

请求方式API地址参数说明作用
GEThttps://{seller-api-domain}/seller/goods/category/{category_id}/brandsLong categoryId:分类ID查询某个分类绑定的品牌数据集合

类图展示

API与业务接口

image-20230815153742152

实体类

image-20230815154103899