POST
/tickets/getSkuDetail开放/回调获取Sku详情 · getSkuDetail 推断名·方法名推断
门票与景区 / Sku
基本信息
- 接口状态前端在用 免鉴权
- 接口URLPOST
https://dscp-dev.hn12301.net/open-api/tickets/getSkuDetail - 请求方式
POST - Content-Type
application/json - 暴露渠道开放/回调 前缀
/open-api - 名称来源方法名推断
- 调用方已确认在用 · 质惠游 公众号 H5、湘工惠商城(2 个前端)
- 需求上下文
- 维护人 / 最后改动liuxu 2025-06-20
- 读写数据表
tickets_sku、tickets、tickets_calendar、tickets_calender_time_slot反查该表全部接口 → - 控制器
com.jxxx.dscp.api.controller.tickets.TicketsSkuController#getSkuDetail - 源码位置
jxxx-dscp/dscp-service-business/src/main/java/com/jxxx/dscp/api/controller/tickets/TicketsSkuController.java:209 - 判定依据
请求参数
Header 请求参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 无(渠道统一鉴权头见《认证方式》) | ||||
Query 请求参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 无 | ||||
路径参数及说明
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 无 | ||||
Body 请求参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| id | … | 是 | Long | id → tickets_sku.id |
认证方式
响应参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| tickets | … | 否 | Tickets | |
| id | … | 否 | Long | 商品id,主键 → tickets_sku.id |
| merchantId | … | 否 | Long | 所属商户id → tickets_sku.merchant_id |
| shopId | … | 否 | Long | 所属商铺id → tickets_sku.shop_id |
| name | … | 否 | String | 单票名称 → tickets.name |
| mainPic | … | 否 | String | 单票主图 → tickets.main_pic |
| typeId | … | 否 | String | 单票大类 → tickets_sku.type_id |
| subTypeId | … | 否 | String | 单票小类 → tickets.sub_type_id |
| tags | … | 否 | String | 商品标签 → tickets.tags |
| introduction | … | 否 | String | 简介 → tickets.introduction |
| propagatePic | … | 否 | String | 宣传图片url地址 → tickets.propagate_pic |
| status | … | 否 | TicketsStatus | 单票状态,1正常,2编辑中,3已下架 → tickets_sku.status 1=已上架 2=编辑中 3=已下架 |
| isDeleted | … | 否 | Boolean | 是否删除 → tickets_sku.is_deleted |
| createdBy | … | 否 | Long | 创建人 → tickets_sku.created_by |
| createdTime | … | 否 | Date | 创建时间 → tickets_sku.created_time |
| updatedBy | … | 否 | Long | 修改人 → tickets_sku.updated_by |
| updatedTime | … | 否 | Date | 修改时间 → tickets_sku.updated_time |
| provinceId | … | 否 | String | 省id → tickets.province_id |
| cityId | … | 否 | String | 市id → tickets.city_id |
| districtId | … | 否 | String | 县id → tickets.district_id |
| address | … | 否 | String | 地址 → tickets.address |
| price | … | 否 | Integer | → tickets.price |
| unitPrice | … | 否 | Integer | → tickets.unit_price |
| openDate | … | 否 | String | → tickets.open_date |
| remark1 | … | 否 | String | → tickets.remark1 |
| remark2 | … | 否 | String | → tickets.remark2 |
| sku | … | 否 | TicketsSku | |
| id | … | 否 | Long | 商品id,主键 → tickets_sku.id |
| merchantId | … | 否 | Long | 所属商户id → tickets_sku.merchant_id |
| shopId | … | 否 | Long | 所属商铺id → tickets_sku.shop_id |
| ticketsId | … | 否 | Long | 单票ID,关联单票表id → tickets_sku.tickets_id |
| skuName | … | 否 | String | sku名称 → tickets_sku.sku_name |
| typeId | … | 否 | String | sku类型 → tickets_sku.type_id |
| typeInfo | … | 否 | String | 适用人群说明 → tickets_sku.type_info |
| stockNumType | … | 否 | Boolean | 是否无限库存 → tickets_sku.stock_num_type |
| stockDateType | … | 否 | Boolean | 库存形式:日历库存、时间段库存 → tickets_sku.stock_date_type |
| bookType | … | 否 | Integer | 预定时间:1=可订当天,0=可订明日 → tickets_sku.book_type |
| bookTimeLimit | … | 否 | LocalTime | 预订限制时间:订当天时,表示xx时间之前可订当天;订明日时,表示xx时间之前可订明日 → tickets_sku.book_time_limit |
| idLimitFlag | … | 否 | Boolean | 身份证是否限购 → tickets_sku.id_limit_flag |
| idLimitDays | … | 否 | Integer | 身份证限制天数 → tickets_sku.id_limit_days |
| idLimitNum | … | 否 | Integer | 身份证限制张数 → tickets_sku.id_limit_num |
| speedInfo | … | 否 | String | 出票速度 → tickets_sku.speed_info |
| basePrice | … | 否 | Integer | 默认价(分) → tickets_sku.base_price |
| contentWith | … | 否 | String | 费用包含 → tickets_sku.content_with |
| contentWithout | … | 否 | String | 费用不包含 → tickets_sku.content_without |
| enterDemand | … | 否 | String | 入园要求 → tickets_sku.enter_demand |
| enterType | … | 否 | String | 入园方式 → tickets_sku.enter_type |
| enterChangeFlag | … | 否 | Boolean | → tickets_sku.enter_change_flag |
| changePostion | … | 否 | String | 换票地点 → tickets_sku.change_postion |
| changeStart | … | 否 | LocalTime | 换票起始 → tickets_sku.change_start |
| changeEnd | … | 否 | LocalTime | 换票截止 → tickets_sku.change_end |
| enterPostion | … | 否 | String | 入园地点 → tickets_sku.enter_postion |
| enterStart | … | 否 | LocalTime | 入园起始 → tickets_sku.enter_start |
| enterEnd | … | 否 | LocalTime | 入园截止 → tickets_sku.enter_end |
| refundType | … | 否 | Integer | 退款规则 → tickets_sku.refund_type |
| refundDays | … | 否 | Integer | 可退款时间:选择天数和时间,在这之前的可退款。之后的不能退款。0天为使用当天 → tickets_sku.refund_days |
| refundTime | … | 否 | LocalTime | 可退款时间 → tickets_sku.refund_time |
| refundPolicy | … | 否 | String | 退款政策 → tickets_sku.refund_policy |
| remark | … | 否 | String | 补充说明 → tickets_sku.remark |
| receiptPolicy | … | 否 | String | 发票说明 → tickets_sku.receipt_policy |
| isDeleted | … | 否 | Boolean | 是否删除 → tickets_sku.is_deleted |
| status | … | 否 | TicketsStatus | → tickets_sku.status 1=已上架 2=编辑中 3=已下架 |
| createdBy | … | 否 | String | 创建人 → tickets_sku.created_by |
| createdTime | … | 否 | Date | 创建时间 → tickets_sku.created_time |
| updatedBy | … | 否 | String | 修改人 → tickets_sku.updated_by |
| updatedTime | … | 否 | Date | 修改时间 → tickets_sku.updated_time |
| calendarList | … | 否 | List<TicketsCalendar> | |
| id | … | 否 | Long | → tickets_sku.id |
| ticketsId | … | 否 | Long | 单票id → tickets_sku.tickets_id |
| skuId | … | 否 | Long | 单票skuID → tickets_calender_time_slot.sku_id |
| enableDate | … | 否 | Date | 日期 → tickets_calender_time_slot.enable_date |
| salePrice | … | 否 | Integer | 卖价(分) → tickets_calender_time_slot.sale_price |
| listPrice | … | 否 | Integer | 划线价(分) → tickets_calendar.list_price |
| totalStock | … | 否 | Integer | 总库存 → tickets_calender_time_slot.total_stock |
| stock | … | 否 | Integer | 可用库存 → tickets_calender_time_slot.stock |
| isEnabled | … | 否 | Boolean | 状态 → tickets_calender_time_slot.is_enabled |
| reason | … | 否 | String | → tickets_calendar.reason |
| isDeleted | … | 否 | Boolean | 是否删除(0否 1是) → tickets_sku.is_deleted |
| createdBy | … | 否 | String | 创建人 → tickets_sku.created_by |
| createdTime | … | 否 | Date | → tickets_sku.created_time |
| updatedBy | … | 否 | String | 修改人 → tickets_sku.updated_by |
| updatedTime | … | 否 | Date | → tickets_sku.updated_time |
| version | … | 否 | Integer | 版本 → tickets_calender_time_slot.version |
| timeSlotData | … | 否 | List<TimeSlotData> | |
| date | … | 否 | String | |
| timeSlotList | … | 否 | List<TicketsCalenderTimeSlot> | |
| id | … | 否 | Long | ID,主键 → tickets_sku.id |
| ticketsId | … | 否 | Long | 单票id → tickets_sku.tickets_id |
| skuId | … | 否 | Long | 单票skuID → tickets_calender_time_slot.sku_id |
| enableDate | … | 否 | Date | 时间段库存日期 → tickets_calender_time_slot.enable_date |
| name | … | 否 | String | 名称 → tickets.name |
| time | … | 否 | String | 时间段 → tickets_calender_time_slot.time |
| totalStock | … | 否 | Integer | 总库存数量 → tickets_calender_time_slot.total_stock |
| stock | … | 否 | Integer | 库存数量 → tickets_calender_time_slot.stock |
| salePrice | … | 否 | Integer | 卖价(分) → tickets_calender_time_slot.sale_price |
| isEnabled | … | 否 | Boolean | 是否可用,1可用,2不可用 → tickets_calender_time_slot.is_enabled |
| version | … | 否 | Integer | 版本,乐观锁 → tickets_calender_time_slot.version |
| createdTime | … | 否 | Date | 创建时间 → tickets_sku.created_time |
| updatedTime | … | 否 | Date | 修改时间 → tickets_sku.updated_time |
响应示例
成功响应示例
{
"errcode": 0,
"errmsg": "",
"data": {
"tickets": "…",
"id": "1",
"merchantId": "1",
"shopId": "1",
"name": "\"string\"",
"mainPic": "\"string\"",
"typeId": "\"string\"",
"subTypeId": "\"string\"",
"tags": "\"string\"",
"introduction": "\"string\"",
"propagatePic": "\"string\"",
"status": "1"
}
}附录 · 实现细节
调用链 / 数据表 / 调用点证据 / 源码注释 / 逻辑摘要
涉及数据表:tickets_sku、tickets、tickets_calendar、tickets_calender_time_slot 反查全部引用接口 →
- TicketsSkuController#getSkuDetail
其它依赖:TicketsCalendarService.applyWrapper、TicketsCalenderTimeSlotService.applyWrapper
逻辑摘要:查询详情(ticketsSkuService.get);查询详情(ticketsService.get);调用 applyWrapper(ticketsCalendarService.applyWrapper)
源码内联注释(旧站解析结果)
- if (sku.getBookType() == 1) {
- } else {
- }
- calendarQueryWrapperX.last("limit 90");
- slotQueryWrapperX.gt("enable_date", DateUtil.format(new Date(), "yyyy-MM-dd"));
- slotQueryWrapperX.last("limit 90");
旧站环境备注:pro:(仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
调用点证据
xghmall/common/http.api.js:43湘工惠商城 · getSkuDetailUrlh5-meike/common/http.api.js:6质惠游 公众号 H5 · getSkuDetailUrl