Skip to content

商品模板管理控制器文档

接口信息

  • 控制器类: MallItemTempController
  • 包路径: com.qisheng.mall.web
  • 功能描述: 负责处理商城商品模板的增删改查操作,包括商品上下架、门店商品管理等

类图

uml diagram

接口列表

1. 获取商品模板列表

  • 请求方式: GET
  • URL: /{merchantId}/mall_item_temp
  • 功能: 获取商品模板列表,支持多种查询方式
  • 参数:
    • merchantId: 商户ID (路径参数)
    • req: 商品模板查询请求对象 (查询参数)
    • optType: 操作类型,决定查询方式 (查询参数)
  • 返回: PageResponse
  • 示例:
http
GET /82/mall_item_temp?optType=QUERY_BY_CATEGORY&categoryId=123

2. 获取单个商品模板

  • 请求方式: GET
  • URL: /{merchantId}/mall_item_temp/{id}
  • 功能: 获取指定ID的商品模板详情
  • 参数:
    • merchantId: 商户ID (路径参数)
    • id: 商品模板ID (路径参数)
    • req: 商品门店关联请求对象 (查询参数)
  • 返回: ObjectResponse
  • 示例:
http
GET /82/mall_item_temp/123

3. 添加商品模板

  • 请求方式: POST
  • URL: /{merchantId}/mall_item_temp
  • 功能: 创建新的商品模板
  • 参数:
    • merchantId: 商户ID (路径参数)
    • req: 添加商品模板请求对象 (请求体)
  • 返回: BaseResponse
  • 示例:
http
POST /82/mall_item_temp
{
  "name": "测试商品模板",
  "categoryId": 123,
  "price": 10000,
  "originalPrice": 12000,
  "stock": 100,
  "images": ["https://example.com/image1.jpg"]
}

4. 编辑商品模板

  • 请求方式: PATCH
  • URL: /{merchantId}/mall_item_temp/{id}
  • 功能: 根据操作类型执行不同的编辑操作
  • 参数:
    • merchantId: 商户ID (路径参数)
    • id: 商品模板ID (路径参数)
    • req: 包含操作类型和更新数据的JSON对象 (请求体)
  • 返回: BaseResponse
  • 支持的操作类型:
    • EDIT: 编辑商品模板基本信息
    • EDIT_PROMOTION: 修改分享配置
    • ON_SALE_TO_SHOP: 上架到门店
    • EDIT_SHOP_ITEM_STATUS: 编辑门店商品状态
    • ON_SALE: 上架商品模板
    • OFF_SALE: 下架商品模板
    • DELETE: 删除商品模板
    • EDIT_USER_PROFIT: 修改推广收益
  • 示例:
http
PATCH /82/mall_item_temp/123
{
  "optType": "EDIT",
  "name": "更新后的商品模板名称",
  "price": 9900
}

5. 批量编辑商品模板

  • 请求方式: PATCH
  • URL: /{merchantId}/mall_item_temp
  • 功能: 批量执行商品模板操作
  • 参数:
    • merchantId: 商户ID (路径参数)
    • req: 商品模板请求对象 (请求体)
  • 返回: BaseResponse
  • 支持的操作类型:
    • BATCH_ON_SALE: 批量上架
    • BATCH_OFF_SALE: 批量下架
    • BATCH_UPDATE_CATEGORY: 批量更新分类
    • BATCH_EDIT_POINT: 批量编辑积分商品
    • BATCH_EDIT_PROFIT: 批量编辑推广收益
  • 示例:
http
PATCH /82/mall_item_temp
{
  "optType": "BATCH_ON_SALE",
  "mallItemTempIds": [123, 456, 789]
}

6. 获取商品模板列表信息

  • 请求方式: POST
  • URL: /{merchantId}/mall_item_temp_list
  • 功能: 获取不同类型的商品模板列表
  • 参数:
    • merchantId: 商户ID (路径参数)
    • req: 商品模板请求对象 (请求体)
  • 返回: ObjectResponse
  • 支持的操作类型:
    • MALL_ITEM_MERCHANT: 总部模板商品
    • MALL_TEMP_IDS: 指定IDS模板商品
    • MALL_ITEM_SHOP: 门店模板商品
  • 示例:
http
POST /82/mall_item_temp_list
{
  "optType": "MALL_ITEM_MERCHANT",
  "pageNum": 1,
  "pageSize": 20
}

7. 获取美管家商品列表

  • 请求方式: GET
  • URL: /{merchantId}/mgj_item_list
  • 功能: 获取美管家商品列表
  • 参数:
    • merchantId: 商户ID (路径参数)
    • req: 商品模板请求对象 (查询参数)
  • 返回: ObjectResponse
  • 示例:
http
GET /82/mgj_item_list?pageNum=1&pageSize=20

调用流程

1. 获取商品模板列表流程

uml diagram

2. 编辑商品模板流程

uml diagram

SQL查询

由于没有找到特定的MallItemTemp.xml文件,以下是基于接口定义推测的SQL操作:

查询商品模板列表SQL

sql
-- 查询商品模板列表
SELECT 
  t.*, c.NAME as categoryName
FROM T_MALL_ITEM_TEMP t
LEFT JOIN T_MALL_ITEM_CATEGORY c ON t.CATEGORY_ID = c.ID
WHERE t.MERCHANT_ID = #{merchantId}
  AND t.STATUS = 'NORMAL'
  AND (#{categoryId} IS NULL OR t.CATEGORY_ID = #{categoryId})
  AND (#{isOnSale} IS NULL OR t.IS_ON_SALE = #{isOnSale})
ORDER BY t.CREATE_TS DESC
LIMIT #{pageSize} OFFSET #{offset}

按分类查询商品模板SQL

sql
-- 按分类查询商品模板
SELECT 
  t.*, c.NAME as categoryName
FROM T_MALL_ITEM_TEMP t
LEFT JOIN T_MALL_ITEM_CATEGORY c ON t.CATEGORY_ID = c.ID
WHERE t.MERCHANT_ID = #{merchantId}
  AND t.STATUS = 'NORMAL'
  AND t.CATEGORY_ID = #{categoryId}
ORDER BY t.CREATE_TS DESC
LIMIT #{pageSize} OFFSET #{offset}

查询推广收益商品SQL

sql
-- 查询推广收益商品
SELECT 
  t.*, c.NAME as categoryName
FROM T_MALL_ITEM_TEMP t
LEFT JOIN T_MALL_ITEM_CATEGORY c ON t.CATEGORY_ID = c.ID
WHERE t.MERCHANT_ID = #{merchantId}
  AND t.STATUS = 'NORMAL'
  AND t.ENABLE_USER_PROFIT = 'Y'
ORDER BY t.CREATE_TS DESC
LIMIT #{pageSize} OFFSET #{offset}

批量上架商品SQL

sql
-- 批量上架商品
UPDATE T_MALL_ITEM_TEMP
SET IS_ON_SALE = 'Y',
    LAST_UPDATE_TS = NOW(),
    LAST_UPDATE_USER = #{lastUpdateUser}
WHERE MERCHANT_ID = #{merchantId}
  AND ID IN 
  <foreach collection="mallItemTempIds" item="id" open="(" separator="," close=")">
    #{id}
  </foreach>

主要功能说明

商品模板操作类型

  • EDIT: 编辑商品模板基本信息
  • EDIT_PROMOTION: 修改分享配置
  • ON_SALE_TO_SHOP: 上架到门店
  • EDIT_SHOP_ITEM_STATUS: 编辑门店商品状态
  • ON_SALE: 上架商品模板
  • OFF_SALE: 下架商品模板
  • DELETE: 删除商品模板
  • EDIT_USER_PROFIT: 修改推广收益

批量操作类型

  • BATCH_ON_SALE: 批量上架
  • BATCH_OFF_SALE: 批量下架
  • BATCH_UPDATE_CATEGORY: 批量更新分类
  • BATCH_EDIT_POINT: 批量编辑积分商品
  • BATCH_EDIT_PROFIT: 批量编辑推广收益

查询类型

  • QUERY_BY_CATEGORY: 按照分类查询
  • QUERY_BY_USER_PROFIT: 按照是否开启推广收益查询
  • MALL_ITEM_MERCHANT: 总部模块商品
  • MALL_ITEM_SHOP: 门店模板商品
  • MALL_TEMP_IDS: 指定IDS模板商品

注意事项

1. 数据表说明

  • T_MALL_ITEM_TEMP: 商品模板表,存储商品模板的基本信息
  • T_MALL_ITEM_SHOP: 商品门店关联表,存储商品与门店的关联关系

2. 权限控制

  • 商户ID: 通过商户ID进行权限控制,只能操作自己商户的商品模板

3. 业务逻辑

  • 商品上下架: 通过 isOnSale 字段控制商品是否上架
  • 门店商品: 商品模板可以上架到多个门店,通过 T_MALL_ITEM_SHOP 表关联
  • 推广收益: 通过 enableUserProfituserProfit 字段控制商品是否开启推广收益及收益金额

4. 元数据刷新

  • 使用 @MetaTsFresh 注解标记需要刷新元数据的方法,模块为 MetaType.Mall.META_MALL_ITEM_TEMPMetaType.Mall.META_MALL_ITEM_SHOP
  • 在添加、编辑和删除商品模板时会触发元数据刷新

5. 接口变更

  • GET /{merchantId}/mall_item_temp_list 接口已标记为过时 (Deprecated),建议使用 POST /{merchantId}/mall_item_temp_list 接口