商品模板管理控制器文档
接口信息
- 控制器类:
MallItemTempController
- 包路径:
com.qisheng.mall.web
- 功能描述: 负责处理商城商品模板的增删改查操作,包括商品上下架、门店商品管理等
类图
接口列表
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. 获取商品模板列表流程
2. 编辑商品模板流程
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
表关联 - 推广收益: 通过
enableUserProfit
和userProfit
字段控制商品是否开启推广收益及收益金额
4. 元数据刷新
- 使用
@MetaTsFresh
注解标记需要刷新元数据的方法,模块为MetaType.Mall.META_MALL_ITEM_TEMP
和MetaType.Mall.META_MALL_ITEM_SHOP
- 在添加、编辑和删除商品模板时会触发元数据刷新
5. 接口变更
GET /{merchantId}/mall_item_temp_list
接口已标记为过时 (Deprecated),建议使用POST /{merchantId}/mall_item_temp_list
接口