质惠游 zhy

模块 zhy:共 34 个接口 —— 23 个被前端调用(在用),11 个未被调用(含 0 个开放/回调/内部)。用下方筛选可只看“在用/未使用”,或在右栏目录按名称过滤。

AuthController 0/1 在用

POST /zhy/auth/login 未使用质惠游 #
(无摘要) · AuthController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.AuthController#login
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表member
ControllerAuthController#login
ServiceMemberService#get (MemberServiceImpl)
MapperMemberMapper#selectById ⇒ 表 member
ServiceMemberService#add (MemberServiceImpl)
MapperMemberMapper#insert ⇒ 表 member
ServiceMemberService#update (MemberServiceImpl)
MapperMemberMapper#updateById ⇒ 表 member
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
AuthService.setAuthAccId

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/zhy/auth/login
uathttps://dscp-uat.hn12301.net/zhy-api/zhy/auth/login
prohttps://dscp-uat.hn12301.net/zhy-api/zhy/auth/login (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body ZhyLoginRequest
字段类型必填取值/校验表 / 列说明
jwtTokenString是必填—jwtToken
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /zhy/auth/login
{
  "body": {
    "jwtToken": ""
  }
}
响应示例
(void,无响应体)
处理逻辑
逻辑摘要调用 parseJwtToken(ZhyJwtUtil.parseJwtToken);调用 toJsonString(JsonUtils.toJsonString);查询详情(memberService.get)
内联注释
  • 解析jwtToken
  • 查询用户是否存在
  • 不存在时创建用户
  • 设置会话信息
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

CardBagController 13/20 在用

GET /cardBag/addCardNumRule 在用管理后台 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#addCardNumRule
所属模块质惠游 zhy
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法GET
调用链路 & 涉及数据表
涉及数据表card_num_appoint_rule
ControllerCardBagController#addCardNumRule
ServiceCardNumAppointRuleService#get (CardNumAppointRuleServiceImpl)
MapperCardNumAppointRuleMapper#selectById ⇒ 表 card_num_appoint_rule
ServiceCardNumAppointRuleService#add (CardNumAppointRuleServiceImpl)
MapperCardNumAppointRuleMapper#insert ⇒ 表 card_num_appoint_rule

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/cardBag/addCardNumRule
uathttps://dscp-uat.hn12301.net/manage-api/cardBag/addCardNumRule
prohttps://dscp-uat.hn12301.net/manage-api/cardBag/addCardNumRule (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path
位置名称类型必填取值/校验表 / 列说明
querycardNumString是card_num_appoint_rule.card_num
querytypeInteger是card_num_appoint_rule.type
请求参数 · Body

请求体类型:—(未在仓库索引到该 DTO 源码,无法展开字段;可能位于依赖 jar 或为 Map/基础类型)

响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 CardNumAppointRule (object)
字段类型必填取值/校验表 / 列说明
idLongcard_num_appoint_rule.idid
cardNumStringcard_num_appoint_rule.card_num卡号
typeIntegercard_num_appoint_rule.type类型
statusIntegercard_num_appoint_rule.status状态
typeIdStringcard_num_appoint_rule.type_id类型id
createTimeDatecard_num_appoint_rule.create_time添加时间
示例
请求示例 (自动生成,仅结构参考)
GET /cardBag/addCardNumRule?cardNum=…&type=…
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "id": 1,
    "cardNum": "",
    "type": 0,
    "status": 0,
    "typeId": "",
    "createTime": "2026-01-01 12:00:00"
  }
}
处理逻辑
逻辑摘要查询详情(cardNumAppointRuleService.get);新增(cardNumAppointRuleService.add)
POST /cardBag/appoint 在用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#appoint
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表system_operate_log
ControllerCardBagController#appoint
ServiceCardBagService#appoint (CardBagServiceImpl)
ServiceSystemOperateLogService#add (SystemOperateLogServiceImpl)
MapperSystemOperateLogMapper#insert ⇒ 表 system_operate_log
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 2
LockService.tryLockLockService.unlock

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/appoint
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/appoint
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/appoint (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagAppointRequest
字段类型必填取值/校验表 / 列说明
scenicIdString—景区id
cardNumString—
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8—发卡渠道(1=北京;2=三省卡;3=数字平台;4=质惠游)
mobileString—
thirdIdString—卡种id
cardModelNameString—
appointDateDate—
timeIdString—场次id
nameStringsystem_operate_log.name
idNoString—
openIdString—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 Long (scalar)

标量/Map/外部类型:Long

示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/appoint
{
  "body": {
    "scenicId": "",
    "cardNum": "",
    "channel": "1",
    "mobile": "13800000000",
    "thirdId": "",
    "cardModelName": "",
    "appointDate": "2026-01-01 12:00:00",
    "timeId": "2026-01-01 12:00:00",
    "name": "",
    "idNo": "",
    "openId": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": 0
}
处理逻辑
逻辑摘要调用 appoint(cardBagService.appoint)
POST /cardBag/appointRecord 在用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#appointRecord
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表card_appointment
ControllerCardBagController#appointRecord
ServiceCardAppointmentService#queryList (CardAppointmentServiceImpl)
MapperCardAppointmentMapper#selectList ⇒ 表 card_appointment

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/appointRecord
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/appointRecord
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/appointRecord (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagQueryAppointRequest
字段类型必填取值/校验表 / 列说明
pageNumInteger否—页码(继承自框架分页基类 PageParam)
pageSizeInteger否—每页条数(继承自框架分页基类 PageParam)
mobileString—
cardNumString—
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8card_appointment.channel发卡渠道(1=北京;2=三省卡;3=数字平台;4=质惠游)
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<CardAppointment> (list)
字段类型必填取值/校验表 / 列说明
[ ]array—列表,元素结构见下
idLongcard_appointment.idid,主键
cardIdLongcard_appointment.card_id卡id,关联card卡池表id
cardModelIdLongcard_appointment.card_model_id旅游卡种ID,关联旅游卡种表ID
cardModelNameStringcard_appointment.card_model_name卡种名称
cardNumberStringcard_appointment.card_number卡号
memberIdLongcard_appointment.member_id持卡人ID
nameStringcard_appointment.name持卡人姓名
phoneStringcard_appointment.phone手机号码
identityNoStringcard_appointment.identity_no身份证号码
resourceIdLongcard_appointment.resource_id预约景区资源id
resourceNameStringcard_appointment.resource_name预约景区名称
timeIdLongcard_appointment.time_id预约景区场次id
timeNameStringcard_appointment.time_name预约景区场次名称
appointSnStringcard_appointment.appoint_sn预约单号15位,日期+当日内顺序号
appTimeDatecard_appointment.app_time预约时间
statusAppointmentStatus1预约成功2已关闭3已取消4已入园card_appointment.status预约状态(枚举:card.AppointmentStatus),1预约成功,2预约失败,3已取消
checkTimeDatecard_appointment.check_time核销时间
checkerIdLongcard_appointment.checker_id核销人id
isDeletedBooleancard_appointment.is_deleted是否删除
createdByLongcard_appointment.created_by创建人
createdTimeDatecard_appointment.created_time创建时间
updatedByLongcard_appointment.updated_by修改人
updatedTimeDatecard_appointment.updated_time修改时间
thirdIdStringcard_appointment.third_id第三方id
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8card_appointment.channel所属渠道(枚举:checker.ChannelType),1北京卡管理系统,2三省卡系统,3数字平台,4质惠游
isShowQrBooleancard_appointment.is_show_qr
示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/appointRecord
{
  "body": {
    "pageNum": 0,
    "pageSize": 0,
    "mobile": "13800000000",
    "cardNum": "",
    "channel": "1"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": 1,
      "cardId": 1,
      "cardModelId": 1,
      "cardModelName": "",
      "cardNumber": "",
      "memberId": 1,
      "name": "",
      "phone": "13800000000",
      "identityNo": "",
      "resourceId": 1,
      "resourceName": "",
      "timeId": 1,
      "timeName": "2026-01-01 12:00:00",
      "appointSn": "",
      "appTime": "2026-01-01 12:00:00",
      "status": "1",
      "checkTime": "2026-01-01 12:00:00",
      "checkerId": 1,
      "isDeleted": false,
      "createdBy": 0,
      "createdTime": "2026-01-01 12:00:00",
      "updatedBy": 0,
      "updatedTime": "2026-01-01 12:00:00",
      "thirdId": "",
      "channel": "1",
      "isShowQr": false
    }
  ]
}
处理逻辑
逻辑摘要列表查询(cardAppointmentService.queryList)
POST /cardBag/bind 在用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#bind
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表system_operate_log
ControllerCardBagController#bind
ServiceCardBagService#bind (CardBagServiceImpl)
ServiceSystemOperateLogService#add (SystemOperateLogServiceImpl)
MapperSystemOperateLogMapper#insert ⇒ 表 system_operate_log
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
CardCheckHandlerCache.get

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/bind
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/bind
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/bind (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagBindRequestVo
字段类型必填取值/校验表 / 列说明
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8—
thirdIdString—
cardNumString—
activeCodeString—
bindTypeBinderType1本人2亲友—
userNameString—
mobileString—
smsCodeString—
idNoString—
imgString—
idTypeInteger—
bindSourceString—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 Integer (scalar)

标量/Map/外部类型:Integer

示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/bind
{
  "body": {
    "channel": "1",
    "thirdId": "",
    "cardNum": "",
    "activeCode": "",
    "bindType": "1",
    "userName": "",
    "mobile": "13800000000",
    "smsCode": "",
    "idNo": "",
    "img": "https://example.com/x.png",
    "idType": 1,
    "bindSource": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": 0
}
处理逻辑
逻辑摘要调用 bind(cardBagService.bind)
前端调用方
POST /cardBag/bindForAddFaceImg 在用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#bindForAddFaceImg
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表card_bind
ControllerCardBagController#bindForAddFaceImg
ServiceCardBagService#bindForAddFaceImg (CardBagServiceImpl)
ServiceCardBindService#get (CardBindServiceImpl)
MapperCardBindMapper#selectById ⇒ 表 card_bind
ServiceCardBindService#update (CardBindServiceImpl)
MapperCardBindMapper#updateById ⇒ 表 card_bind
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 2
CardBindService.faceImgHandleMemberFaceService.add

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/bindForAddFaceImg
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/bindForAddFaceImg
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/bindForAddFaceImg (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagBindRequestVo
字段类型必填取值/校验表 / 列说明
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8—
thirdIdString—
cardNumString—
activeCodeString—
bindTypeBinderType1本人2亲友—
userNameString—
mobileString—
smsCodeString—
idNoString—
imgString—
idTypeIntegercard_bind.id_type
bindSourceStringcard_bind.bind_source
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 Integer (scalar)

标量/Map/外部类型:Integer

示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/bindForAddFaceImg
{
  "body": {
    "channel": "1",
    "thirdId": "",
    "cardNum": "",
    "activeCode": "",
    "bindType": "1",
    "userName": "",
    "mobile": "13800000000",
    "smsCode": "",
    "idNo": "",
    "img": "https://example.com/x.png",
    "idType": 1,
    "bindSource": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": 0
}
处理逻辑
逻辑摘要调用 bindForAddFaceImg(cardBagService.bindForAddFaceImg)
POST /cardBag/bindRecord 未使用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#bindRecord
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerCardBagController#bindRecord
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
CardCheckHandlerCache.get

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/bindRecord
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/bindRecord
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/bindRecord (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagBindRecordRequest
字段类型必填取值/校验表 / 列说明
dataString—
bindSourceString—
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 String (scalar)

标量/Map/外部类型:String

示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/bindRecord
{
  "body": {
    "data": "",
    "bindSource": "",
    "channel": "1"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": ""
}
处理逻辑
逻辑摘要见下方调用链
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /cardBag/cancelAppoint 在用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#cancelAppoint
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表card_appointmentcard_resource_calenderopenapi_nydm_orderopenapi_ybx_orderopenapi_ybx_ticketopenapi_xjhlc_ordercard_appointment_paymentopenapi_pft_record
ControllerCardBagController#cancelAppoint
ServiceCardBagService#cancelAppoint (CardBagServiceImpl)
ServiceCardAppointmentService#get (CardAppointmentServiceImpl)
MapperCardAppointmentMapper#selectById ⇒ 表 card_appointment
ServiceCardAppointmentService#cancelCardAppointment (CardAppointmentServiceImpl)
MapperCardResourceCalenderService.getMapper#selectOne ⇒ 表 card_resource_calender
ServiceOpenapiNydmOrderService#get (OpenapiNydmOrderServiceImpl)
MapperOpenapiNydmOrderMapper#selectById ⇒ 表 openapi_nydm_order
ServiceOpenapiNydmOrderService#update (OpenapiNydmOrderServiceImpl)
MapperOpenapiNydmOrderMapper#updateById ⇒ 表 openapi_nydm_order
ServiceOpenapiYbxOrderService#get (OpenapiYbxOrderServiceImpl)
MapperOpenapiYbxOrderMapper#selectById ⇒ 表 openapi_ybx_order
ServiceOpenapiYbxTicketService#queryList (OpenapiYbxTicketServiceImpl)
MapperOpenapiYbxTicketMapper#selectList ⇒ 表 openapi_ybx_ticket
ServiceOpenapiYbxOrderService#update (OpenapiYbxOrderServiceImpl)
MapperOpenapiYbxOrderMapper#updateById ⇒ 表 openapi_ybx_order
ServiceOpenapiYbxTicketService#update (OpenapiYbxTicketServiceImpl)
MapperOpenapiYbxTicketMapper#updateById ⇒ 表 openapi_ybx_ticket
ServiceOpenapiXjhlcOrderService#get (OpenapiXjhlcOrderServiceImpl)
MapperOpenapiXjhlcOrderMapper#selectById ⇒ 表 openapi_xjhlc_order
ServiceCardAppointmentPaymentService#get (CardAppointmentPaymentServiceImpl)
MapperCardAppointmentPaymentMapper#selectById ⇒ 表 card_appointment_payment
ServiceOpenapiPftRecordService#get (OpenapiPftRecordServiceImpl)
MapperOpenapiPftRecordMapper#selectById ⇒ 表 openapi_pft_record
ServiceOpenapiPftRecordService#update (OpenapiPftRecordServiceImpl)
MapperOpenapiPftRecordMapper#updateById ⇒ 表 openapi_pft_record
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 33
ChaosTransactionTemplate.executeCardResourceCalenderService.updateStockCardResourceCalenderTimeSlotService.getCardResourceCalenderTimeSlotService.updateStockOpenapiNydmOrderService.getNydmService.returnTicketOpenapiNydmOrderService.updateOpenapiXjhlcOrderService.getXjhlcService.cancelOrderOpenapiYbxOrderService.getOpenapiYbxTicketService.queryListYouBaoXingService.refundOpenapiYbxOrderService.updateOpenapiYbxTicketService.updateOpenapiPftRecordService.getPftService.orderChangeProOpenapiPftRecordService.updateNydmService.returnTicketOpenapiNydmOrderService.mustGetYouBaoXingService.refundXjhlcService.cancelOrderOpenapiXjhlcOrderService.updateCardAppointmentService.getCardAppointmentService.cancelCardAppointmentTicketsOrderService.refundAppointmentOrderLockService.tryLockCardAppointmentPaymentService.getWechatJsapiRefundService.refundCardAppointmentPaymentService.updateLockService.unlockPftService.orderChangeProRestTemplate.postForObjectCardCheckHandlerCache.get

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/cancelAppoint
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/cancelAppoint
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/cancelAppoint (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagAppointCancelRequest
字段类型必填取值/校验表 / 列说明
appointIdStringopenapi_pft_record.appoint_id
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8card_appointment.channel
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 Integer (scalar)

标量/Map/外部类型:Integer

示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/cancelAppoint
{
  "body": {
    "appointId": "",
    "channel": "1"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": 0
}
处理逻辑
逻辑摘要调用 cancelAppoint(cardBagService.cancelAppoint)
POST /cardBag/cardResource 在用质惠游 #
获取可预约资源 · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#cardResource
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表card_num_appoint_rulecard_modelsystem_dict_data
ControllerCardBagController#cardResource
ServiceCardBagService#cardResource (CardBagServiceImpl)
MapperCardNumAppointRuleService.getMapper#queryList ⇒ 表 card_num_appoint_rule
ServiceCardNumAppointRuleService#get (CardNumAppointRuleServiceImpl)
MapperCardNumAppointRuleMapper#selectById ⇒ 表 card_num_appoint_rule
ServiceCardModelService#get (CardModelServiceImpl)
MapperCardModelMapper#selectById ⇒ 表 card_model
ServiceDictDataService#get (DictDataServiceImpl)
MapperDictDataMapper#selectById ⇒ 表 system_dict_data
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
CardCheckHandlerCache.get

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/cardResource
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/cardResource
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/cardResource (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagGetScenicResourceRequest
字段类型必填取值/校验表 / 列说明
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8card_model.channel
thirdIdStringcard_model.third_id
cardNumStringcard_num_appoint_rule.card_num
queryTypeInteger—1=所有 2=需预约的
nameStringcard_model.name
pageSizeInteger—
pageNumInteger—
cityCodeLong—
levelInteger—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 ScenicInfo (object)
字段类型必填取值/校验表 / 列说明
totalInteger—
listList<ScenicInfoBean>—
list[].scenicIdString—
list[].scenicNameString—
list[].openTimeString—
list[].signValidDateString—
list[].priceStringcard_model.price
list[].scenicImageUrlString—
list[].usedTimesInteger—
list[].openFlagInteger—是否开放(0=否 1=是)
list[].detailFlagInteger—1=有详情,需跳转 0=无详情,直接预约
list[].discountTypeInteger—优惠类型(1无限次;2=总计免次数;3=每月免次数;4=每日免次数;5=原价折扣度;6=原价减额度
list[].appointFlagInteger—1=需预约 0=无须预约
list[].advanceDayInteger—提前天数
list[].appointDayInteger—可预约天数
list[].discountPercentageInteger—折扣百分比(%)
list[].discountAmountInteger—优惠后金额
list[].totalTimesInteger—总共可使用次数
list[].monthTimesInteger—每月可使用次数
list[].dayTimesInteger—每天可使用次数
list[].cardInstructionString—持卡使用说明
list[].noticeString—预约须知
list[].promptString—温馨提示
list[].gradeStringcard_model.grade
list[].isAppointmentPayInteger—
list[].appointmentPayAmountInteger—付费金额(元)
list[].isCheckRefundInteger—入园后是否退款 1是
cityListList<CardBagResourceCityResponse>—
cityList[].cityCodeLong—
cityList[].cityNameString—
示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/cardResource
{
  "body": {
    "channel": "1",
    "thirdId": "",
    "cardNum": "",
    "queryType": 0,
    "name": "",
    "pageSize": 0,
    "pageNum": 0,
    "cityCode": 0,
    "level": 0
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "total": 0,
    "list": [
      {
        "scenicId": "",
        "scenicName": "",
        "openTime": "2026-01-01 12:00:00",
        "signValidDate": "2026-01-01 12:00:00",
        "price": "",
        "scenicImageUrl": "https://example.com/x.png",
        "usedTimes": 0,
        "openFlag": 0,
        "detailFlag": 0,
        "discountType": 0,
        "appointFlag": 0,
        "advanceDay": 0,
        "appointDay": 0,
        "discountPercentage": 0,
        "discountAmount": 0,
        "totalTimes": 0,
        "monthTimes": 0,
        "dayTimes": 0,
        "cardInstruction": "",
        "notice": "",
        "prompt": "",
        "grade": "",
        "isAppointmentPay": 0,
        "appointmentPayAmount": 0,
        "isCheckRefund": 0
      }
    ],
    "cityList": [
      {
        "cityCode": 0,
        "cityName": ""
      }
    ]
  }
}
处理逻辑
逻辑摘要调用 cardResource(cardBagService.cardResource)
POST /cardBag/childAreaList 未使用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#childAreaList
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerCardBagController#childAreaList
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 4
SSKParkService.childAreaListSSKUserService.getTokenRedisCacheService.getRedisCacheService.put

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/childAreaList
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/childAreaList
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/childAreaList (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path
位置名称类型必填取值/校验表 / 列说明
queryparentCodeLong是—
请求参数 · Body

请求体类型:—(未在仓库索引到该 DTO 源码,无法展开字段;可能位于依赖 jar 或为 Map/基础类型)

响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<SskArea> (list)
字段类型必填取值/校验表 / 列说明
[ ]array—列表,元素结构见下
idInteger—ID
levelInteger—层级
parentCodeLong—父级行政代码
areaCodeLong—行政代码
zipCodeInteger—邮政编码
cityCodeString—区号
nameString—名称
shortNameString—简称
mergerNameString—组合名
pinyinString—拼音
lngBigDecimal—经度
latBigDecimal—纬度
deletedBoolean—是否删除;0:未删除;1:已删除
createTimeDate—创建时间
updateTimeDate—修改时间
beginDayMinString—请求参数
beginDayMaxString—请求参数
示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/childAreaList?parentCode=…
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": 1,
      "level": 0,
      "parentCode": 0,
      "areaCode": 0,
      "zipCode": 0,
      "cityCode": "",
      "name": "",
      "shortName": "",
      "mergerName": "",
      "pinyin": "",
      "lng": 0,
      "lat": 0,
      "deleted": false,
      "createTime": "2026-01-01 12:00:00",
      "updateTime": "2026-01-01 12:00:00",
      "beginDayMin": "",
      "beginDayMax": ""
    }
  ]
}
处理逻辑
逻辑摘要列表查询(sskParkService.childAreaList)
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /cardBag/consumeRecordAsync 未使用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#consumeRecordAsync
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表card_modelgoods_relationcard_resource_rulecard_appointmentcard_check
ControllerCardBagController#consumeRecordAsync
ServiceCardModelService#get (CardModelServiceImpl)
MapperCardModelMapper#selectById ⇒ 表 card_model
ServiceGoodsRelationService#get (GoodsRelationServiceImpl)
MapperGoodsRelationMapper#selectById ⇒ 表 goods_relation
ServiceCardResourceRuleService#get (CardResourceRuleServiceImpl)
MapperCardResourceRuleMapper#selectById ⇒ 表 card_resource_rule
ServiceCardAppointmentService#get (CardAppointmentServiceImpl)
MapperCardAppointmentMapper#selectById ⇒ 表 card_appointment
ServiceCardCheckService#add (CardCheckServiceImpl)
MapperCardCheckMapper#insert ⇒ 表 card_check

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/consumeRecordAsync
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/consumeRecordAsync
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/consumeRecordAsync (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagBindRecordRequest
字段类型必填取值/校验表 / 列说明
dataString—
bindSourceString—
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8card_model.channel
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 String (scalar)

标量/Map/外部类型:String

示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/consumeRecordAsync
{
  "body": {
    "data": "",
    "bindSource": "",
    "channel": "1"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": ""
}
处理逻辑
逻辑摘要调用 parseDateTime(DateUtil.parseDateTime);查询详情(cardModelService.get);查询详情(goodsRelationService.get)
内联注释
  • name(check.getName()).cardNumber(check.getCardNumber())
  • .identityNo(check.getIdentityNo()).resourceId(check.getResourceId()).build());
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /cardBag/faceFlag 在用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#faceFlag
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表cardcard_stockcard_model
ControllerCardBagController#faceFlag
ServiceCardBagService#faceFlag (CardBagServiceImpl)
ServiceCardService#get (CardServiceImpl)
MapperCardMapper#selectById ⇒ 表 card
ServiceCardStockService#get (CardStockServiceImpl)
MapperCardStockMapper#selectById ⇒ 表 card_stock
ServiceCardModelService#get (CardModelServiceImpl)
MapperCardModelMapper#selectById ⇒ 表 card_model

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/faceFlag
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/faceFlag
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/faceFlag (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path
位置名称类型必填取值/校验表 / 列说明
querycardNoString—
请求参数 · Body

请求体类型:—(未在仓库索引到该 DTO 源码,无法展开字段;可能位于依赖 jar 或为 Map/基础类型)

响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 Boolean (scalar)

标量/Map/外部类型:Boolean

示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/faceFlag?cardNo=…
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": false
}
处理逻辑
逻辑摘要调用 faceFlag(cardBagService.faceFlag)
前端调用方
POST /cardBag/getQrByAppointmentId 在用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#getQrByAppointmentId
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表card_appointmentcard_resource_ruleopenapi_xjhlc_orderopenapi_pft_recordopenapi_ticket_code_poolsku
ControllerCardBagController#getQrByAppointmentId
ServiceCardBagService#getQrByAppointmentId (CardBagServiceImpl)
ServiceCardAppointmentService#get (CardAppointmentServiceImpl)
MapperCardAppointmentMapper#selectById ⇒ 表 card_appointment
ServiceCardResourceRuleService#get (CardResourceRuleServiceImpl)
MapperCardResourceRuleMapper#selectById ⇒ 表 card_resource_rule
ServiceOpenapiXjhlcOrderService#get (OpenapiXjhlcOrderServiceImpl)
MapperOpenapiXjhlcOrderMapper#selectById ⇒ 表 openapi_xjhlc_order
ServiceOpenapiPftRecordService#get (OpenapiPftRecordServiceImpl)
MapperOpenapiPftRecordMapper#selectById ⇒ 表 openapi_pft_record
MapperOpenapiTicketCodePoolMapper#selectOne ⇒ 表 openapi_ticket_code_pool
ServiceSkuService#get (SkuServiceImpl)
MapperSkuMapper#selectById ⇒ 表 sku
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 3
YouBaoXingService.getQrByApiOpenapiYbxOrderService.getOpenapiYbxTicketService.queryList

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/getQrByAppointmentId
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/getQrByAppointmentId
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/getQrByAppointmentId (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path
位置名称类型必填取值/校验表 / 列说明
queryappointmentIdLongopenapi_ticket_code_pool.appointment_id
请求参数 · Body

请求体类型:—(未在仓库索引到该 DTO 源码,无法展开字段;可能位于依赖 jar 或为 Map/基础类型)

响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 QrCodeResponse (object)
字段类型必填取值/校验表 / 列说明
qrTypeInteger—qrType=0 : 没有核销码, 不显示 qrType=1 :返回二维码base64格式数据 取值 qrCode qrType=2 : 返回图片url 取值qrUrl
qrBase64String—
qrCodeString—
qrUrlString—
示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/getQrByAppointmentId?appointmentId=…
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "qrType": 0,
    "qrBase64": "",
    "qrCode": "",
    "qrUrl": "https://example.com/x.png"
  }
}
处理逻辑
逻辑摘要查询详情(cardBagService.getQrByAppointmentId)
POST /cardBag/listCardType 在用质惠游 #
卡包绑卡时获取所有卡种列表 · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#listCardType
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表card_modelopenapi_channel_rulesku
ControllerCardBagController#listCardType
ServiceCardBagService#listAllCardType (CardBagServiceImpl)
ServiceCardModelService#queryList (CardModelServiceImpl)
MapperCardModelMapper#selectList ⇒ 表 card_model
ServiceOpenapiChannelRuleService#queryList (OpenapiChannelRuleServiceImpl)
MapperOpenapiChannelRuleMapper#selectList ⇒ 表 openapi_channel_rule
ServiceSkuService#get (SkuServiceImpl)
MapperSkuMapper#selectById ⇒ 表 sku
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 2
GoodsCache.getCardModelCache.get

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/listCardType
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/listCardType
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/listCardType (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path
位置名称类型必填取值/校验表 / 列说明
querysaleChannelString—
请求参数 · Body

请求体类型:—(未在仓库索引到该 DTO 源码,无法展开字段;可能位于依赖 jar 或为 Map/基础类型)

响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<CardModel> (list)
字段类型必填取值/校验表 / 列说明
[ ]array—列表,元素结构见下
idLongcard_model.id旅游卡种ID,主键
nameStringcard_model.name卡种名称
gradeModelGrade11一类卡,2二类卡,3公式卡2二类卡3公式卡card_model.grade卡种等级(枚举:card.ModelGrade),1一类卡,2二类卡
cardModelTypeCardModelType1省级旅游卡2市州旅游卡card_model.card_model_type卡种类型(枚举:card.CardModelType),1省级旅游卡,2市州旅游卡
codeIntegercard_model.code卡种编号: 2 位数,从10 开始。10、11、12、顺序编号。
merchantIdLongcard_model.merchant_id所属商户
shopIdLongcard_model.shop_id所属商铺,关联商铺表id
shopNameStringcard_model.shop_name所属商铺名称
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8card_model.channel所属渠道(枚举:checker.ChannelType),1北京卡管理系统,2三省卡系统,3数字平台,4质惠游
thirdIdStringcard_model.third_id第三方id
priceIntegercard_model.price卡种售价
expireDateDatecard_model.expire_date失效日期
publishDateDatecard_model.publish_date发行日期
isFaceBooleancard_model.is_face是否需要人脸
isActiveCodeBooleancard_model.is_active_code是否需要激活码
isRefreshBooleancard_model.is_refresh二维码是否刷新
propagateStyleStringcard_model.propagate_style宣传卡样url地址
propagatePicStringcard_model.propagate_pic宣传图片url地址
propagateVidStringcard_model.propagate_vid宣传视频url地址
descriptionStringcard_model.description图文详情
isDeletedBooleancard_model.is_deleted是否删除
createdByLongcard_model.created_by创建人id
createdTimeDatecard_model.created_time创建时间
updatedByLongcard_model.updated_by更新人id
updatedTimeDatecard_model.updated_time修改时间
示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/listCardType?saleChannel=…
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": 1,
      "name": "",
      "grade": "1",
      "cardModelType": "1",
      "code": 0,
      "merchantId": 1,
      "shopId": 1,
      "shopName": "",
      "channel": "1",
      "thirdId": "",
      "price": 0,
      "expireDate": "2026-01-01 12:00:00",
      "publishDate": "2026-01-01 12:00:00",
      "isFace": false,
      "isActiveCode": false,
      "isRefresh": false,
      "propagateStyle": "",
      "propagatePic": "https://example.com/x.png",
      "propagateVid": "",
      "description": "",
      "isDeleted": false,
      "createdBy": 0,
      "createdTime": "2026-01-01 12:00:00",
      "updatedBy": 0,
      "updatedTime": "2026-01-01 12:00:00"
    }
  ]
}
处理逻辑
逻辑摘要调用 listAllCardType(cardBagService.listAllCardType)
POST /cardBag/manageAppoint 在用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#manageAppoint
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表card_appointmentcardcard_resource_rulecard_bindcard_modelmembercard_resource_calendercard_resource_calender_time_slotopenapi_ticket_code_pool
ControllerCardBagController#manageAppoint
ServiceCardBagService#handlerAppoint (CardBagServiceImpl)
MapperCardAppointmentService.getMapper#queryList ⇒ 表 card_appointment
ServiceCardService#get (CardServiceImpl)
MapperCardMapper#selectById ⇒ 表 card
ServiceCardResourceRuleService#get (CardResourceRuleServiceImpl)
MapperCardResourceRuleMapper#selectById ⇒ 表 card_resource_rule
ServiceCardBindService#get (CardBindServiceImpl)
MapperCardBindMapper#selectById ⇒ 表 card_bind
ServiceCardModelService#get (CardModelServiceImpl)
MapperCardModelMapper#selectById ⇒ 表 card_model
ServiceMemberService#queryList (MemberServiceImpl)
MapperMemberMapper#selectList ⇒ 表 member
ServiceMemberService#add (MemberServiceImpl)
MapperMemberMapper#insert ⇒ 表 member
ServiceCardAppointmentService#addCardAppointment (CardAppointmentServiceImpl)
转换BeanUtils.map → CardAppointment ⇒ 表 card_appointment
MapperCardService.getMapper#selectOne ⇒ 表 card
MapperCardAppointmentService.getMapper#count ⇒ 表 card_appointment
MapperCardResourceCalenderService.getMapper#selectOne ⇒ 表 card_resource_calender
MapperCardResourceCalenderTimeSlotService.getMapper#get ⇒ 表 card_resource_calender_time_slot
ServiceCardAppointmentService#get (CardAppointmentServiceImpl)
MapperCardAppointmentMapper#selectById ⇒ 表 card_appointment
ServiceCardAppointmentService#update (CardAppointmentServiceImpl)
MapperCardAppointmentMapper#updateById ⇒ 表 card_appointment
MapperOpenapiTicketCodePoolMapper#claimAvailable ⇒ 表 openapi_ticket_code_pool
MapperOpenapiTicketCodePoolMapper#updateById ⇒ 表 openapi_ticket_code_pool
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 42
CardResourceRuleService.getCardModelCache.getCardService.getCardPackageRuleService.queryListCardPackageRuleResourceService.queryListCardPackageRuleResourcePacketService.queryListCardPackageRuleResourcePacketService.getGroupsChaosTransactionTemplate.executeCardResourceCalenderTimeSlotService.getCardBindService.getCardResourceCalenderService.updateStockCardResourceCalenderTimeSlotService.updateStockSkuCache.getShopCache.getGoodsCache.getMemberCache.getOrderService.addCardAppointmentService.cancelCardAppointmentOpenapiNydmOrderService.getNydmService.returnTicketOpenapiNydmOrderService.updateOpenapiXjhlcOrderService.getXjhlcService.cancelOrderOpenapiYbxOrderService.getOpenapiYbxTicketService.queryListYouBaoXingService.refundOpenapiYbxOrderService.updateOpenapiYbxTicketService.updateOpenapiPftRecordService.getPftService.orderChangeProOpenapiPftRecordService.updateNydmService.orderOpenapiNydmOrderService.addYouBaoXingService.orderAndPayOpenapiYbxOrderService.addXjhlcService.createOrderOpenapiXjhlcOrderService.addPftService.orderPreCheckGoodsRelationService.getRestTemplate.postForObjectOpenapiPftRecordService.addCardCheckHandlerCache.get

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/manageAppoint
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/manageAppoint
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/manageAppoint (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagAppointRequest
字段类型必填取值/校验表 / 列说明
scenicIdString—景区id
cardNumString—
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8card_appointment.channel发卡渠道(1=北京;2=三省卡;3=数字平台;4=质惠游)
mobileStringmember.mobile
thirdIdStringcard_appointment.third_id卡种id
cardModelNameStringcard_appointment.card_model_name
appointDateDate—
timeIdStringcard_appointment.time_id场次id
nameStringcard_appointment.name
idNoString—
openIdStringmember.open_id
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 Long (scalar)

标量/Map/外部类型:Long

示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/manageAppoint
{
  "body": {
    "scenicId": "",
    "cardNum": "",
    "channel": "1",
    "mobile": "13800000000",
    "thirdId": "",
    "cardModelName": "",
    "appointDate": "2026-01-01 12:00:00",
    "timeId": "2026-01-01 12:00:00",
    "name": "",
    "idNo": "",
    "openId": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": 0
}
处理逻辑
逻辑摘要调用 handlerAppoint(cardBagService.handlerAppoint)
POST /cardBag/parentAreaList 未使用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#parentAreaList
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerCardBagController#parentAreaList
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 4
SSKParkService.parentAreaListSSKUserService.getTokenRedisCacheService.getRedisCacheService.put

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/parentAreaList
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/parentAreaList
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/parentAreaList (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body

请求体类型:—(未在仓库索引到该 DTO 源码,无法展开字段;可能位于依赖 jar 或为 Map/基础类型)

响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<SskArea> (list)
字段类型必填取值/校验表 / 列说明
[ ]array—列表,元素结构见下
idInteger—ID
levelInteger—层级
parentCodeLong—父级行政代码
areaCodeLong—行政代码
zipCodeInteger—邮政编码
cityCodeString—区号
nameString—名称
shortNameString—简称
mergerNameString—组合名
pinyinString—拼音
lngBigDecimal—经度
latBigDecimal—纬度
deletedBoolean—是否删除;0:未删除;1:已删除
createTimeDate—创建时间
updateTimeDate—修改时间
beginDayMinString—请求参数
beginDayMaxString—请求参数
示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/parentAreaList
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": 1,
      "level": 0,
      "parentCode": 0,
      "areaCode": 0,
      "zipCode": 0,
      "cityCode": "",
      "name": "",
      "shortName": "",
      "mergerName": "",
      "pinyin": "",
      "lng": 0,
      "lat": 0,
      "deleted": false,
      "createTime": "2026-01-01 12:00:00",
      "updateTime": "2026-01-01 12:00:00",
      "beginDayMin": "",
      "beginDayMax": ""
    }
  ]
}
处理逻辑
逻辑摘要列表查询(sskParkService.parentAreaList)
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /cardBag/qrAndUserInfo 未使用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#qrAndUserInfo
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerCardBagController#qrAndUserInfo
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
CardCheckHandlerCache.get

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/qrAndUserInfo
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/qrAndUserInfo
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/qrAndUserInfo (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagRequest
字段类型必填取值/校验表 / 列说明
cardNumString—
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8—
scenicIdString—
thirdIdString—
mobileString—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 QrAndUserInfoBean (object)
字段类型必填取值/校验表 / 列说明
qrCodeString—
userNameString—
mobileString—
imgString—
binderTypeBinderType1本人2亲友—
idTypeString—
idNoString—
freshFlagBoolean—
示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/qrAndUserInfo
{
  "body": {
    "cardNum": "",
    "channel": "1",
    "scenicId": "",
    "thirdId": "",
    "mobile": "13800000000"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "qrCode": "",
    "userName": "",
    "mobile": "13800000000",
    "img": "https://example.com/x.png",
    "binderType": "1",
    "idType": "",
    "idNo": "",
    "freshFlag": false
  }
}
处理逻辑
逻辑摘要见下方调用链
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /cardBag/resourceNumInfo 未使用质惠游 #
兴业银行卡包获取资源数量和需预约资源数量 · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#resourceNumInfo
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表card_modelcard_resource_rule
ControllerCardBagController#resourceNumInfo
ServiceCardModelService#get (CardModelServiceImpl)
MapperCardModelMapper#selectById ⇒ 表 card_model
ServiceCardResourceRuleService#queryList (CardResourceRuleServiceImpl)
MapperCardResourceRuleMapper#selectList ⇒ 表 card_resource_rule

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/resourceNumInfo
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/resourceNumInfo
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/resourceNumInfo (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body

请求体类型:—(未在仓库索引到该 DTO 源码,无法展开字段;可能位于依赖 jar 或为 Map/基础类型)

响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<Integer> (list)

标量/Map/外部类型:List<Integer>

示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/resourceNumInfo
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": []
}
处理逻辑
逻辑摘要查询详情(cardModelService.get);列表查询(cardResourceRuleService.queryList)
内联注释
  • .status(true)
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /cardBag/secnicDetail 在用质惠游 #
(无摘要) · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#secnicDetail
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerCardBagController#secnicDetail
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
CardCheckHandlerCache.get

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/secnicDetail
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/secnicDetail
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/secnicDetail (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagRequest
字段类型必填取值/校验表 / 列说明
cardNumString—
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8—
scenicIdString—
thirdIdString—
mobileString—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 ScenicDetailBean (object)
字段类型必填取值/校验表 / 列说明
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8—
ruleCardResourceRule—
rule.idLong—ID,主键
rule.cardModelIdLong—旅游卡ID,关联旅游卡表id
rule.shopIdLong—商铺id
rule.goodsIdLong—资源ID,关联商品表id
rule.resourceNameString—资源名称
rule.typeString—资源类型
rule.skuIdLong—skuid,关联sku表id
rule.statusBoolean—资源状态
rule.resourceStatusResourceStatus1已上架2编辑中3已下架—
rule.signEndTimeDate—签约到期日期
rule.preferentialPreferential1免费2折扣3优惠—优惠方式(枚举:card.Preferential),1免费,2折扣,3优惠
rule.discountPercentageInteger—折扣百分比(%)
rule.discountAmountInteger—优惠后金额
rule.totalTimesInteger—总共可使用次数
rule.monthTimesInteger—每月可使用次数
rule.dayTimesInteger—每天可使用次数
rule.isSecondBoolean—是否二次购买
rule.secondDiscountInteger—二次购买折扣
rule.buyTimesInteger—最多购买次数
rule.cardInstructionString—持卡使用说明
rule.isAppointmentBoolean—是否需要预约
rule.advanceDaysInteger—提前预约天数
rule.advanceHourInteger—提前预约小时
rule.appointmentDaysInteger—可预约几天之内
rule.isAppointmentCountBoolean—预约是否算使用次数
rule.unavailableSegmentString—不可用号段
rule.unavailableDateString—不可用日期区间
rule.introduceString—资源简介
rule.noticeString—预约须知
rule.promptString—温馨提示
rule.ticketPriceModelTicketPriceModel1统一定价2周期定价—签约门票定价方式
rule.ticketUniformPriceLong—签约门票价
rule.ticketPeriodPriceList<TicketPeriodPrice>—签约门票周期价
ticketPeriodPrice[].priceLong—门票价
ticketPeriodPrice[].startDateDate—开始时间
ticketPeriodPrice[].endDateDate—结束时间
rule.ticketPeriodBasePriceLong—签约门票周期基础定价
rule.settlementWaySettlementWay1按刷卡次数2买断3分成4按分配金额统一计算5月度均衡分配计算—结算方式
rule.checkSettlementTypeCheckSettlementType1签约计价SIGN_PRICE(1, "签约计价"),2SIGN_PRICE(1, "签约计价"),3阈值计价—刷卡次数结算方式(枚举:SettlementCheckType)
rule.settlementPriceOnceLong—单次入园结算金额
rule.settlementPriceLadderList<SettlementLadderPrice>—阶梯入园结算金额
settlementPriceLadder[].minCheckNumInteger—最小入园次数
settlementPriceLadder[].maxCheckNumInteger—最大入园次数
settlementPriceLadder[].settlementPriceOnceLong—单次入园结算金额
settlementPriceLadder[].calcCheckNumInteger—计算核销次数 -- 临时字段
rule.settlementPriceBuyoutLong—结算周期买断金额
rule.cardSaleShareLong—销售卡分成
rule.minSaleFlagBoolean—是否设置保底分成售卡张数
rule.maxSaleFlagBoolean—是否设置上限分成售卡张数
rule.minSaleNumInteger—保底分成售卡张数
rule.maxSaleNumInteger—上限分成售卡张数
rule.minCostFlagBoolean—是否有最低保本单价
rule.minCostPriceInteger—最低保本单价
rule.belowMinCostWayBelowCostSettlementWay1按保本单价补充金额2按实际金额计算—平均单价未达保本单价时结算方式
rule.aboveMinCostWayAboveCostSettlementWay1按保本单价计算金额2按实际金额计算—平均单价高于保本单价时结算方式
rule.monthShareTicketPriceLong—月度均衡分配结算签约门票价 <em>结算方式为月度均衡分配计算时,签约门票价取该值</em>
rule.isSettlementPlayNumBoolean是必填—是否设置单张卡结算入园次数上限
rule.settlementPlayNumInteger—单张卡结算时入园次数上限
rule.settlementMerchantIdLong是必填—结算商户id(即开票方)
rule.isDeletedBoolean—是否删除
rule.createdByLong—创建人id
rule.createdTimeDate—创建时间
rule.updatedByLong—更新人id
rule.updatedTimeDate—更新时间
rule.isAppointmentPayInteger—预约是否需要付费 1是
rule.appointmentPayAmountInteger—付费金额(元)
rule.isCheckRefundInteger—入园后是否退款 1是
goodsGoods—
goods.idLong—商品id,主键
goods.merchantIdLong—所属商户id,关联merchant表id
goods.shopIdLong—所属商铺id
goods.nameString—商品名称
goods.cardModelIdLong—旅游卡ID,关联旅游卡表id
goods.mainPicString—商品主图
goods.typeIdString—商品大类
goods.subTypeIdString—商品小类
goods.gradeString—商品等级
goods.statusGoodsStatus1已上架2编辑中3已下架—商品状态(枚举:GoodsStatus),1正常,2编辑中,3已下架
goods.qrcodeString—商品二维码
goods.isDeletedBoolean—是否删除
goods.createdByLong—创建人
goods.createdTimeDate—创建时间
goods.updatedByLong—修改人
goods.updatedTimeDate—修改时间
goods.thirdIdString—第三方id
goods.thirdNameString—第三方名称
goodsInfoGoodsInfo—
goodsInfo.idLong—商品id,主键
goodsInfo.shortNameString—商品简称
goodsInfo.weightInteger—商品权重
goodsInfo.tagsString—商品标签
goodsInfo.businessTimeString—营业时间
goodsInfo.recommendReasonString—推荐理由
goodsInfo.introductionString—简介
goodsInfo.propagatePicString—宣传图片url地址
goodsInfo.videoString—宣传视频url地址
goodsInfo.noticeString—购买须知
goodsInfo.tipsString—温馨提示
goodsInfo.expireDateDate—
goodsInfo.isRefundBoolean—
goodsInfo.isDeletedBoolean—是否删除
goodsInfo.createdByString—创建人id
goodsInfo.createdTimeLocalDateTime—创建时间
goodsInfo.updatedByString—更新人id
goodsInfo.updatedTimeLocalDateTime—更新时间
calendarList<CardResourceCalenderListResponse>—
calendar[].enableDateDate—可预约日期
calendar[].stockInteger—库存
calendar[].inventoryInteger—剩余预约数量
calendar[].isEnabledBoolean—是否可用,1可用,2不可用
calendar[].reasonString—
calendar[].slotListList<CardResourceCalenderTimeSlot>—
slotList[].idLong—ID,主键
slotList[].ruleIdLong—资源规则ID
slotList[].enableDateDate—时间段库存日期
slotList[].nameString—名称
slotList[].timeString—时间段
slotList[].totalStockInteger—总库存数量
slotList[].stockInteger—库存数量
slotList[].isEnabledBoolean—是否可用,1可用,2不可用
slotList[].versionInteger—版本,乐观锁
slotList[].createdTimeDate—创建时间
slotList[].updatedTimeDate—修改时间
shopShop—
shop.idLong—商铺id,主键
shop.merchantIdLong—所属商户id,关联merchant表id
shop.merchantTypeMerchantType1供应商2分销商3发卡商4其他5酒店6第三方—商户类型(枚举:merchant.MerchantType)
shop.nameString—商铺名称
shop.logoString—商铺LOGO图片url地址
shop.typeIdLong—商铺大类
shop.subTypeIdLong—商铺小类ID
shop.statusShopStatus1正常运营2审核中3暂停运营4已关店—商铺状态(枚举:ShopStatus),1正常运营,2审核中,3暂停运营,4已关店
shop.provinceIdString—省id
shop.cityIdString—市id
shop.districtIdString—区县id
shop.addressString—商铺地址
shop.mobileString—客服电话
shop.linkmanString—商户联系人
shop.linkphoneString—商户联系人手机
shop.managerString—专属客户经理
shop.levelString—等级
shop.lngString—经度
shop.latString—纬度
shop.introductionString—简介
shop.businessTimeString—营业时间
shop.tagsString—商铺标签
shop.mainPicString—景区主图url地址
shop.propagatePicString—宣传图片url地址
shop.videoString—景区视频url地址
shop.posterString—分享海报url地址
shop.propagateContentString—宣传语
shop.descriptionString—图文详情
shop.ticketInfoString—门票信息
shop.trafficInfoString—交通信息
shop.tipsString—温馨提示
shop.isDeletedBoolean—是否删除
shop.createdByString—创建人id
shop.createdTimeDate—创建时间
shop.updatedByString—更新人id
shop.updatedTimeDate—修改时间
shop.thirdIdString—
shop.thirdNameString—
cardModelCardModel—
cardModel.idLong—旅游卡种ID,主键
cardModel.nameString—卡种名称
cardModel.gradeModelGrade11一类卡,2二类卡,3公式卡2二类卡3公式卡—卡种等级(枚举:card.ModelGrade),1一类卡,2二类卡
cardModel.cardModelTypeCardModelType1省级旅游卡2市州旅游卡—卡种类型(枚举:card.CardModelType),1省级旅游卡,2市州旅游卡
cardModel.codeInteger—卡种编号: 2 位数,从10 开始。10、11、12、顺序编号。
cardModel.merchantIdLong—所属商户
cardModel.shopIdLong—所属商铺,关联商铺表id
cardModel.shopNameString—所属商铺名称
cardModel.channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8—所属渠道(枚举:checker.ChannelType),1北京卡管理系统,2三省卡系统,3数字平台,4质惠游
cardModel.thirdIdString—第三方id
cardModel.priceInteger—卡种售价
cardModel.expireDateDate—失效日期
cardModel.publishDateDate—发行日期
cardModel.isFaceBoolean—是否需要人脸
cardModel.isActiveCodeBoolean—是否需要激活码
cardModel.isRefreshBoolean—二维码是否刷新
cardModel.propagateStyleString—宣传卡样url地址
cardModel.propagatePicString—宣传图片url地址
cardModel.propagateVidString—宣传视频url地址
cardModel.descriptionString—图文详情
cardModel.isDeletedBoolean—是否删除
cardModel.createdByLong—创建人id
cardModel.createdTimeDate—创建时间
cardModel.updatedByLong—更新人id
cardModel.updatedTimeDate—修改时间
sskCardResourceSskCardResource—
sskCardResource.idLong—id
sskCardResource.nameString—名称
sskCardResource.companyIdLong—所属商户id,关联bms_company的id
sskCardResource.typeValueInteger—资源类型值1 景区,2电影院,3温泉
sskCardResource.provinceString—所属省
sskCardResource.cityString—所属市
sskCardResource.countyString—县(区)
sskCardResource.cityCodeLong—城市编码
sskCardResource.provinceCodeLong—省份编码
sskCardResource.countyCodeLong—地区编码
sskCardResource.cinemaCodeString—电影院编码
sskCardResource.tagsString—标签
sskCardResource.thumbnailString—图片
sskCardResource.addressString—详细地址
sskCardResource.longitudeBigDecimal—经度
sskCardResource.latitudeBigDecimal—纬度
sskCardResource.levelInteger—景区级别
sskCardResource.telephoneString—咨询电话
sskCardResource.remarkString—备注
sskCardResource.ticketPriceBigDecimal—窗口票价
sskCardResource.agreementPriceBigDecimal—协议价
sskCardResource.openTimeString—开放时间
sskCardResource.galleryString—相册,json数组,包含排序和图片地址
sskCardResource.deletedBoolean—是否删除:1删除0未删除
sskCardResource.orgCodeString—编码(00-母平台,36-江西,42-湖北,43-湖南)
sskCardResource.tourKeyString—景区唯一标识
sskCardResource.priceSortInteger—1为价格升序 2为降序
sskCardResource.introList<SskCardResourceIntro>—类型:0:介绍,1:预约须知;2:温馨提示
intro[].idLong—id
intro[].resourceIdLong—资源id,关联ykt_card_resource的id
intro[].typeInteger—类型:0:介绍,1:预约须知;2:温馨提示
intro[].contentString—介绍
intro[].deletedBoolean—是否删除:1删除0未删除
intro[].createTimeDate—创建时间
intro[].updateTimeDate—修改时间
intro[].beginDayMinString—请求参数
intro[].beginDayMaxString—请求参数
sskCardResource.ruleSskCardResourceRule—景区规则
rule.idLong—id
rule.cardModelIdLong—卡类型id,关联ykt_card_model的id
rule.resourceIdLong—资源id,关联ykt_card_resource的id
rule.visitTimesInteger—最大可游玩次数,小于0表示不限次数
rule.orderStartTimeTime—预约开始时间
rule.orderEndTimeTime—预约结束时间
rule.checkStartTimeTime—核销开始时间
rule.checkEndTimeTime—核销结束时间
rule.statusBoolean—状态;0:禁用;1:可用
rule.openStatusBoolean—营业状态;0:不营业;1:营业
rule.suggestBoolean—是否推荐;0:未推荐;1:推荐
rule.sortOrderInteger—
rule.depositBigDecimal—押金
rule.insuranceBigDecimal—保险费用
rule.orderAdvanceInteger—需要提前多少天预约
rule.stockUnlimitedBoolean—是否无限库存,0:否;1:是
rule.noAppointmentBoolean—是否免预约;0:否;1:是
rule.noticeString—运营说明
rule.orgCodeString—编码(00-母平台,36-江西,42-湖北,43-湖南)
rule.appointmentDateInteger—预约有效天数
rule.noDepositBoolean—是否需要押金;0:否;1:是
rule.refundDepositBoolean—是否退押金;0:否;1:是
rule.depositRefundTimeTime—取消预约超过此时间不退押金
rule.profitCountInteger—是否计入分润;0:否;1:是
rule.orderDayInteger—可预约天数(0表示提前预约日期后都可约)
rule.cancelDayInteger—取消规则提前多少天可取消
rule.cancelTimeTime—取消规则几点前可取消
rule.stockTypeInteger—库存形式;0-库存日历,1-时间段库存
rule.overtimeCountInteger—超时是否扣次数;0-否,1-是
rule.createTimeDate—创建时间
rule.updateTimeDate—修改时间
rule.beginDayMinString—请求参数
rule.beginDayMaxString—请求参数
sskCardResource.calanderList<SskCardResourceCalenderDTO>—景区日历
calander[].sessionsList<SskCalenderSession>—场次信息
sessions[].idLong—
sessions[].calenderIdLong—
sessions[].nameString—
sessions[].sessionValueString—
sessions[].sessionStartTimeDate—
sessions[].sessionEndTimeDate—
sessions[].totalStockInteger—
sessions[].stockInteger—
sessions[].versionInteger—
sessions[].createTimeDate—
sessions[].updateTimeDate—
sessions[].createTimeDate—创建时间
sessions[].updateTimeDate—修改时间
sessions[].beginDayMinString—请求参数
sessions[].beginDayMaxString—请求参数
calander[].idLong—id
calander[].ruleIdLong—卡资源规则id,关联ykt_card_resource_rule的id
calander[].enableDateDate—可预约日期
calander[].totalStockInteger—设置总库存数量
calander[].stockInteger—可预约数量
calander[].versionInteger—版本,乐观锁
calander[].createTimeDate—创建时间
calander[].updateTimeDate—修改时间
calander[].beginDayMinString—请求参数
calander[].beginDayMaxString—请求参数
sskCardResource.createTimeDate—创建时间
sskCardResource.updateTimeDate—修改时间
sskCardResource.beginDayMinString—请求参数
sskCardResource.beginDayMaxString—请求参数
nearbyScenicListList<NearbyScenic>—
nearbyScenicList[].scenicNameString—
nearbyScenicList[].gradeString—
nearbyScenicList[].openTimeString—
nearbyScenicList[].distanceBigDecimal—
nearbyScenicList[].priceBigDecimal—
nearbyScenicList[].mainPicString—
nearbyScenicList[].tagsString—
nearbyScenicList[].cardModelNameString—
nearbyScenicList[].preferentialPreferential1免费2折扣3优惠—优惠方式(枚举:card.Preferential),1免费,2折扣,3优惠
nearbyScenicList[].discountPercentageInteger—折扣百分比(%)
nearbyScenicList[].discountAmountInteger—优惠后金额
nearbyScenicList[].totalTimesInteger—总共可使用次数
nearbyScenicList[].requestCardBagRequest—
request.cardNumString—
request.channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8—
request.scenicIdString—
request.thirdIdString—
request.mobileString—
shopNoticeShopNotice—xuchao: 商铺公告(is_display=1 且 created_time 最新的一条,无则 null)
shopNotice.idLong—id
shopNotice.shopIdLong—商铺id
shopNotice.titleString—标题
shopNotice.contentString—内容
shopNotice.isDisplayBoolean—是否显示,0:否,1:是
shopNotice.createdTimeDate—创建时间
shopNotice.updatedTimeDate—修改时间
示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/secnicDetail
{
  "body": {
    "cardNum": "",
    "channel": "1",
    "scenicId": "",
    "thirdId": "",
    "mobile": "13800000000"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "channel": "1",
    "rule": {
      "id": 1,
      "cardModelId": 1,
      "shopId": 1,
      "goodsId": 1,
      "resourceName": "",
      "type": "",
      "skuId": 1,
      "status": false,
      "resourceStatus": "1",
      "signEndTime": "2026-01-01 12:00:00",
      "preferential": "1",
      "discountPercentage": 0,
      "discountAmount": 0,
      "totalTimes": 0,
      "monthTimes": 0,
      "dayTimes": 0,
      "isSecond": false,
      "secondDiscount": 0,
      "buyTimes": 0,
      "cardInstruction": "",
      "isAppointment": false,
      "advanceDays": 0,
      "advanceHour": 0,
      "appointmentDays": 0,
      "isAppointmentCount": false,
      "unavailableSegment": "",
      "unavailableDate": "2026-01-01 12:00:00",
      "introduce": "",
      "notice": "",
      "prompt": "",
      "ticketPriceModel": "1",
      "ticketUniformPrice": 0,
      "ticketPeriodPrice": [
        {
          "price": 0,
          "startDate": "2026-01-01 12:00:00",
          "endDate": "2026-01-01 12:00:00"
        }
      ],
      "ticketPeriodBasePrice": 0,
      "settlementWay": "1",
      "checkSettlementType": "1",
      "settlementPriceOnce": 0,
      "settlementPriceLadder": [
        {
          "minCheckNum": 0,
          "maxCheckNum": 0,
          "settlementPriceOnce": 0,
          "calcCheckNum": 0
        }
      ],
      "settlementPriceBuyout": 0,
      "cardSaleShare": 0,
      "minSaleFlag": false,
      "maxSaleFlag": false,
      "minSaleNum": 0,
      "maxSaleNum": 0,
      "minCostFlag": false,
      "minCostPrice": 0,
      "belowMinCostWay": "1",
      "aboveMinCostWay": "1",
      "monthShareTicketPrice": 0,
      "isSettlementPlayNum": false,
      "settlementPlayNum": 0,
      "settlementMerchantId": 1,
      "isDeleted": false,
      "createdBy": 0,
      "createdTime": "2026-01-01 12:00:00",
      "updatedBy": 0,
      "updatedTime": "2026-01-01 12:00:00",
      "isAppointmentPay": 0,
      "appointmentPayAmount": 0,
      "isCheckRefund": 0
    },
    "goods": {
      "id": 1,
      "merchantId": 1,
      "shopId": 1,
      "name": "",
      "cardModelId": 1,
      "mainPic": "https://example.com/x.png",
      "typeId": "",
      "subTypeId": "",
      "grade": "",
      "status": "1",
      "qrcode": "",
      "isDeleted": false,
      "createdBy": 0,
      "createdTime": "2026-01-01 12:00:00",
      "updatedBy": 0,
      "updatedTime": "2026-01-01 12:00:00",
      "thirdId": "",
      "thirdName": ""
    },
    "goodsInfo": {
      "id": 1,
      "shortName": "",
      "weight": 0,
      "tags": "",
      "businessTime": "2026-01-01 12:00:00",
      "recommendReason": "",
      "introduction": "",
      "propagatePic": "https://example.com/x.png",
      "video": "",
      "notice": "",
      "tips": "",
      "expireDate": "2026-01-01 12:00:00",
      "isRefund": false,
      "isDeleted": false,
      "createdBy": "",
      "createdTime": "2026-01-01 12:00:00",
      "updatedBy": "2026-01-01 12:00:00",
      "updatedTime": "2026-01-01 12:00:00"
    },
    "calendar": [
      {
        "enableDate": "2026-01-01 12:00:00",
        "stock": 0,
        "inventory": 0,
        "isEnabled": false,
        "reason": "",
        "slotList": [
          {
            "id": 1,
            "ruleId": 1,
            "enableDate": "2026-01-01 12:00:00",
            "name": "",
            "time": "2026-01-01 12:00:00",
            "totalStock": 0,
            "stock": 0,
            "isEnabled": false,
            "version": 0,
            "createdTime": "2026-01-01 12:00:00",
            "updatedTime": "2026-01-01 12:00:00"
          }
        ]
      }
    ],
    "shop": {
      "id": 1,
      "merchantId": 1,
      "merchantType": "1",
      "name": "",
      "logo": "",
      "typeId": 1,
      "subTypeId": 1,
      "status": "1",
      "provinceId": "",
      "cityId": "",
      "districtId": "",
      "address": "",
      "mobile": "13800000000",
      "linkman": "",
      "linkphone": "13800000000",
      "manager": "",
      "level": "",
      "lng": "",
      "lat": "",
      "introduction": "",
      "businessTime": "2026-01-01 12:00:00",
      "tags": "",
      "mainPic": "https://example.com/x.png",
      "propagatePic": "https://example.com/x.png",
      "video": "",
      "poster": "",
      "propagateContent": "",
      "description": "",
      "ticketInfo": "",
      "trafficInfo": "",
      "tips": "",
      "isDeleted": false,
      "createdBy": "",
      "createdTime": "2026-01-01 12:00:00",
      "updatedBy": "2026-01-01 12:00:00",
      "updatedTime": "2026-01-01 12:00:00",
      "thirdId": "",
      "thirdName": ""
    },
    "cardModel": {
      "id": 1,
      "name": "",
      "grade": "1",
      "cardModelType": "1",
      "code": 0,
      "merchantId": 1,
      "shopId": 1,
      "shopName": "",
      "channel": "1",
      "thirdId": "",
      "price": 0,
      "expireDate": "2026-01-01 12:00:00",
      "publishDate": "2026-01-01 12:00:00",
      "isFace": false,
      "isActiveCode": false,
      "isRefresh": false,
      "propagateStyle": "",
      "propagatePic": "https://example.com/x.png",
      "propagateVid": "",
      "description": "",
      "isDeleted": false,
      "createdBy": 0,
      "createdTime": "2026-01-01 12:00:00",
      "updatedBy": 0,
      "updatedTime": "2026-01-01 12:00:00"
    },
    "sskCardResource": {
      "id": 1,
      "name": "",
      "companyId": 1,
      "typeValue": 0,
      "province": "",
      "city": "",
      "county": "",
      "cityCode": 0,
      "provinceCode": 0,
      "countyCode": 0,
      "cinemaCode": "",
      "tags": "",
      "thumbnail": "",
      "address": "",
      "longitude": 0,
      "latitude": 0,
      "level": 0,
      "telephone": "13800000000",
      "remark": "",
      "ticketPrice": 0,
      "agreementPrice": 0,
      "openTime": "2026-01-01 12:00:00",
      "gallery": "",
      "deleted": false,
      "orgCode": "",
      "tourKey": "",
      "priceSort": 0,
      "intro": [
        {
          "id": 1,
          "resourceId": 1,
          "type": 0,
          "content": "",
          "deleted": false,
          "createTime": "2026-01-01 12:00:00",
          "updateTime": "2026-01-01 12:00:00",
          "beginDayMin": "",
          "beginDayMax": ""
        }
      ],
      "rule": {
        "id": 1,
        "cardModelId": 1,
        "resourceId": 1,
        "visitTimes": 0,
        "orderStartTime": "2026-01-01 12:00:00",
        "orderEndTime": "2026-01-01 12:00:00",
        "checkStartTime": "2026-01-01 12:00:00",
        "checkEndTime": "2026-01-01 12:00:00",
        "status": false,
        "openStatus": false,
        "suggest": false,
        "sortOrder": 0,
        "deposit": 0,
        "insurance": 0,
        "orderAdvance": 0,
        "stockUnlimited": false,
        "noAppointment": false,
        "notice": "",
        "orgCode": "",
        "appointmentDate": 0,
        "noDeposit": false,
        "refundDeposit": false,
        "depositRefundTime": "2026-01-01 12:00:00",
        "profitCount": 0,
        "orderDay": 0,
        "cancelDay": 0,
        "cancelTime": "2026-01-01 12:00:00",
        "stockType": 0,
        "overtimeCount": 0,
        "createTime": "2026-01-01 12:00:00",
        "updateTime": "2026-01-01 12:00:00",
        "beginDayMin": "",
        "beginDayMax": ""
      },
      "calander": [
        {
          "sessions": [
            "…"
          ],
          "id": 1,
          "ruleId": 1,
          "enableDate": "2026-01-01 12:00:00",
          "totalStock": 0,
          "stock": 0,
          "version": 0,
          "createTime": "2026-01-01 12:00:00",
          "updateTime": "2026-01-01 12:00:00",
          "beginDayMin": "",
          "beginDayMax": ""
        }
      ],
      "createTime": "2026-01-01 12:00:00",
      "updateTime": "2026-01-01 12:00:00",
      "beginDayMin": "",
      "beginDayMax": ""
    },
    "nearbyScenicList": [
      {
        "scenicName": "",
        "grade": "",
        "openTime": "2026-01-01 12:00:00",
        "distance": 0,
        "price": 0,
        "mainPic": "https://example.com/x.png",
        "tags": "",
        "cardModelName": "",
        "preferential": "1",
        "discountPercentage": 0,
        "discountAmount": 0,
        "totalTimes": 0,
        "request": {
          "cardNum": "",
          "channel": "1",
          "scenicId": "",
          "thirdId": "",
          "mobile": "13800000000"
        }
      }
    ],
    "shopNotice": {
      "id": 1,
      "shopId": 1,
      "title": "",
      "content": "",
      "isDisplay": false,
      "createdTime": "2026-01-01 12:00:00",
      "updatedTime": "2026-01-01 12:00:00"
    }
  }
}
处理逻辑
逻辑摘要见下方调用链
POST /cardBag/userCardList 在用质惠游 #
获取用户卡列表 · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#userCardList
所属模块质惠游 zhy
暴露渠道质惠游 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表membermember_relationcard_model_noticecard_modelcard_bind
ControllerCardBagController#userCardList
ServiceCardBagService#userCardList (CardBagServiceImpl)
ServiceMemberService#get (MemberServiceImpl)
MapperMemberMapper#selectById ⇒ 表 member
ServiceMemberService#queryList (MemberServiceImpl)
MapperMemberMapper#selectList ⇒ 表 member
ServiceMemberService#add (MemberServiceImpl)
MapperMemberMapper#insert ⇒ 表 member
ServiceMemberRelationService#queryList (MemberRelationServiceImpl)
MapperMemberRelationMapper#selectList ⇒ 表 member_relation
ServiceCardModelNoticeService#queryList (CardModelNoticeServiceImpl)
MapperCardModelNoticeMapper#selectList ⇒ 表 card_model_notice
ServiceCardModelService#get (CardModelServiceImpl)
MapperCardModelMapper#selectById ⇒ 表 card_model
ServiceCardBindService#get (CardBindServiceImpl)
MapperCardBindMapper#selectById ⇒ 表 card_bind
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
CardCheckHandlerCache.get

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/zhy-api/cardBag/userCardList
uathttps://dscp-uat.hn12301.net/zhy-api/cardBag/userCardList
prohttps://dscp-uat.hn12301.net/zhy-api/cardBag/userCardList (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagQueryCardRequest
字段类型必填取值/校验表 / 列说明
mobileStringmember.mobile
saleChannelString—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<CardBagBean> (list)
字段类型必填取值/校验表 / 列说明
[ ]array—列表,元素结构见下
cardModelIdLongcard_model_notice.card_model_id卡种编号
thirdIdStringmember.third_id第三方卡种编号
cardModelPicString—卡样图片url
cardModelNameStringcard_bind.card_model_name卡种名称
cardNoString—卡号
validityTimeDate—有效期
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8member.channel所属渠道,1北京卡管理系统,2三省卡系统,3数字平台,4质惠游
needFaceImgFlagBoolean—
cardModelNoticeListList<CardModelNotice>—卡种公告
cardModelNoticeList[].idLongmember.idid
cardModelNoticeList[].cardModelIdLongcard_model_notice.card_model_id商铺id
cardModelNoticeList[].titleStringcard_model_notice.title标题
cardModelNoticeList[].contentStringcard_model_notice.content内容
cardModelNoticeList[].isDisplayBooleancard_model_notice.is_display是否显示,0:否,1:是
cardModelNoticeList[].createdByLongcard_model_notice.created_by创建人id
cardModelNoticeList[].createdTimeDatemember.created_time创建时间
cardModelNoticeList[].updatedByLongcard_model_notice.updated_by更新人id
cardModelNoticeList[].updatedTimeDatemember.updated_time修改时间
示例
请求示例 (自动生成,仅结构参考)
POST /cardBag/userCardList
{
  "body": {
    "mobile": "13800000000",
    "saleChannel": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "cardModelId": 1,
      "thirdId": "",
      "cardModelPic": "https://example.com/x.png",
      "cardModelName": "",
      "cardNo": "",
      "validityTime": "2026-01-01 12:00:00",
      "channel": "1",
      "needFaceImgFlag": false,
      "cardModelNoticeList": [
        {
          "id": 1,
          "cardModelId": 1,
          "title": "",
          "content": "",
          "isDisplay": false,
          "createdBy": 0,
          "createdTime": "2026-01-01 12:00:00",
          "updatedBy": 0,
          "updatedTime": "2026-01-01 12:00:00"
        }
      ]
    }
  ]
}
处理逻辑
逻辑摘要列表查询(cardBagService.userCardList)
POST /cardBag/appointmentPrepay 未使用开放/回调 #
预约支付 · CardBagController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.CardBagController#appointmentPrepay
所属模块质惠游 zhy
暴露渠道开放/回调 (@Route 注解;免登录 auth=false)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerCardBagController#appointmentPrepay
ServicecardBagService#appointmentPrepay

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/open-api/cardBag/appointmentPrepay
uathttps://dscp-uat.hn12301.net/open-api/cardBag/appointmentPrepay
prohttps://dscp-uat.hn12301.net/open-api/cardBag/appointmentPrepay (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body CardBagAppointRequest
字段类型必填取值/校验表 / 列说明
scenicIdString—景区id
cardNumString—
channelChannelType—发卡渠道(1=北京;2=三省卡;3=数字平台;4=质惠游)
mobileString—
thirdIdString—卡种id
cardModelNameString—
appointDateDate—
timeIdString—场次id
nameString—
idNoString—
openIdString—
orderSourceOrderSource—
嵌套 ChannelType (ChannelType)
字段类型必填取值/校验表 / 列说明
valueInteger—ChannelType
descString—
嵌套 OrderSource (OrderSource)
字段类型必填取值/校验表 / 列说明
valueInteger—OrderSource
descString—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PrepayResponse (object)
字段类型必填取值/校验表 / 列说明
appIdString—appId
timeStampString—时间戳
nonceString—随机字符串
packString—预支付交易会话标识
signTypeString—签名类型
paySignString—签名
示例
请求示例
{
  "scenicId": "",
  "cardNum": "",
  "channel": {
    "value": 0,
    "desc": ""
  },
  "mobile": "",
  "thirdId": "",
  "cardModelName": "",
  "appointDate": "",
  "timeId": "",
  "name": "",
  "idNo": "",
  "openId": "",
  "orderSource": {
    "value": 0,
    "desc": ""
  }
}
响应示例
{
  "appId": "",
  "timeStamp": "",
  "nonce": "",
  "pack": "",
  "signType": "",
  "paySign": ""
}
处理逻辑
逻辑摘要cardBagService.appointmentPrepay;完整实现见源码 CardBagController#appointmentPrepay
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

MpContentController 1/2 在用

POST /mpContent/getDetail 未使用小程序 #
(无摘要) · MpContentController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpContentController#getDetail
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表mp_content
ControllerMpContentController#getDetail
ServiceMpContentService#getDetail (MpContentServiceImpl)
MapperMpContentMapper#selectById ⇒ 表 mp_content

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpContent/getDetail
uathttps://dscp-uat.hn12301.net/mp-api/mpContent/getDetail
prohttps://dscp-uat.hn12301.net/mp-api/mpContent/getDetail (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path
位置名称类型必填取值/校验表 / 列说明
queryidLong是mp_content.id
请求参数 · Body

请求体类型:—(未在仓库索引到该 DTO 源码,无法展开字段;可能位于依赖 jar 或为 Map/基础类型)

响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 MpContentResponse (object)
字段类型必填取值/校验表 / 列说明
idLongmp_content.id
channelStringmp_content.channel
typeStringmp_content.type
titleStringmp_content.title
contentStringmp_content.content
imageUrlStringmp_content.image_url
linkUrlStringmp_content.link_url
sortOrderIntegermp_content.sort_order
categoryStringmp_content.category
createdTimeDatemp_content.created_time
示例
请求示例 (自动生成,仅结构参考)
POST /mpContent/getDetail?id=…
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "id": 1,
    "channel": "",
    "type": "",
    "title": "",
    "content": "",
    "imageUrl": "https://example.com/x.png",
    "linkUrl": "https://example.com/x.png",
    "sortOrder": 0,
    "category": "",
    "createdTime": "2026-01-01 12:00:00"
  }
}
处理逻辑
逻辑摘要查询详情(mpContentService.getDetail)
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /mpContent/queryList 在用小程序 #
(无摘要) · MpContentController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpContentController#queryList
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表mp_content
ControllerMpContentController#queryList
ServiceMpContentService#queryList (MpContentServiceImpl)
MapperMpContentMapper#queryList ⇒ 表 mp_content

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpContent/queryList
uathttps://dscp-uat.hn12301.net/mp-api/mpContent/queryList
prohttps://dscp-uat.hn12301.net/mp-api/mpContent/queryList (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body MpContentQueryRequest
字段类型必填取值/校验表 / 列说明
channelStringmp_content.channelxuchao: 渠道标识
typeStringmp_content.type
categoryStringmp_content.category
cardModelIdLongmp_content.card_model_id
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<MpContentResponse> (list)
字段类型必填取值/校验表 / 列说明
[ ]array—列表,元素结构见下
idLongmp_content.id
channelStringmp_content.channel
typeStringmp_content.type
titleStringmp_content.title
contentStringmp_content.content
imageUrlStringmp_content.image_url
linkUrlStringmp_content.link_url
sortOrderIntegermp_content.sort_order
categoryStringmp_content.category
createdTimeDatemp_content.created_time
示例
请求示例 (自动生成,仅结构参考)
POST /mpContent/queryList
{
  "body": {
    "channel": "",
    "type": "",
    "category": "",
    "cardModelId": 1
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": 1,
      "channel": "",
      "type": "",
      "title": "",
      "content": "",
      "imageUrl": "https://example.com/x.png",
      "linkUrl": "https://example.com/x.png",
      "sortOrder": 0,
      "category": "",
      "createdTime": "2026-01-01 12:00:00"
    }
  ]
}
处理逻辑
逻辑摘要列表查询(mpContentService.queryList)
前端调用方

MpOrderController 2/2 在用

POST /mpOrder/getOrderDetail 在用小程序 #
(无摘要) · MpOrderController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpOrderController#getOrderDetail
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表openapi_channel_card
ControllerMpOrderController#getOrderDetail
ServiceMpOrderService#getOrderDetail (MpOrderServiceImpl)
MapperOpenapiChannelCardService.getMapper#selectOne ⇒ 表 openapi_channel_card
MapperMpOrderMapper#getOrderDetail

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpOrder/getOrderDetail
uathttps://dscp-uat.hn12301.net/mp-api/mpOrder/getOrderDetail
prohttps://dscp-uat.hn12301.net/mp-api/mpOrder/getOrderDetail (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body MpOrderDetailRequest
字段类型必填取值/校验表 / 列说明
phoneString是必填/正则:^1[3-9]\\d{9}$—
orderIdString是必填openapi_channel_card.order_id
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 MpOrderDetailResponse (object)
字段类型必填取值/校验表 / 列说明
idStringopenapi_channel_card.id
payStatusInteger—xuchao: 支付状态:1=待支付 2=已支付 3=已退款
orderStatusInteger—xuchao: 订单状态:1=待确认 2=待发货 3=已发货 4=已完成 5=已取消
cardNoStringopenapi_channel_card.card_noxuchao: 卡号(openapi_channel_card.card_no)
isBindIntegeropenapi_channel_card.is_bindxuchao: 是否绑定(openapi_channel_card.is_bind)
createTimeString—
payTimeString—
payAmountInteger—
redeemCodeString—
payChannelString—
activatedTimeString—
refundedTimeString—
bindNameStringopenapi_channel_card.bind_namexuchao: 绑定人姓名(openapi_channel_card.bind_name)
bindCertificateNoStringopenapi_channel_card.bind_certificate_noxuchao: 绑定证件号(openapi_channel_card.bind_certificate_no)
validStartDateStringopenapi_channel_card.valid_start_datexuchao: 有效期开始(openapi_channel_card.valid_start_date)
validEndDateStringopenapi_channel_card.valid_end_datexuchao: 有效期结束(openapi_channel_card.valid_end_date)
cardStatusIntegeropenapi_channel_card.card_statusxuchao: 卡状态(openapi_channel_card.card_status)
isActiveIntegeropenapi_channel_card.is_activexuchao: 是否激活(openapi_channel_card.is_active)
orderPhoneString—
cardStateInteger—
示例
请求示例 (自动生成,仅结构参考)
POST /mpOrder/getOrderDetail
{
  "body": {
    "phone": "13800000000",
    "orderId": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "id": "",
    "payStatus": 0,
    "orderStatus": 0,
    "cardNo": "",
    "isBind": 0,
    "createTime": "2026-01-01 12:00:00",
    "payTime": "2026-01-01 12:00:00",
    "payAmount": 0,
    "redeemCode": "",
    "payChannel": "",
    "activatedTime": "2026-01-01 12:00:00",
    "refundedTime": "2026-01-01 12:00:00",
    "bindName": "",
    "bindCertificateNo": "",
    "validStartDate": "2026-01-01 12:00:00",
    "validEndDate": "2026-01-01 12:00:00",
    "cardStatus": 0,
    "isActive": 0,
    "orderPhone": "13800000000",
    "cardState": 0
  }
}
处理逻辑
逻辑摘要查询详情(mpOrderService.getOrderDetail)
POST /mpOrder/queryOrderList 在用小程序 #
(无摘要) · MpOrderController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpOrderController#queryOrderList
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerMpOrderController#queryOrderList
ServiceMpOrderService#queryOrderList (MpOrderServiceImpl)
MapperMpOrderMapper#queryOrderList
MapperMpOrderMapper#countOrderList

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpOrder/queryOrderList
uathttps://dscp-uat.hn12301.net/mp-api/mpOrder/queryOrderList
prohttps://dscp-uat.hn12301.net/mp-api/mpOrder/queryOrderList (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body MpOrderListRequest
字段类型必填取值/校验表 / 列说明
pageNumInteger否—页码(继承自框架分页基类 PageParam)
pageSizeInteger否—每页条数(继承自框架分页基类 PageParam)
phoneString是必填/正则:^1[3-9]\\d{9}$—
payStatusInteger—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PageInfo<MpOrderListResponse> (page)
字段类型必填取值/校验表 / 列说明
list / recordsarray—分页列表,元素结构见下
totallong—总条数(PageInfo)
idString—
createTimeString—
payAmountInteger—
redeemCodeString—
payChannelString—
payStatusInteger—xuchao: 支付状态(PayStatus 枚举)1=待支付 2=已支付 3=已退款 4=退款失败 5=退款中 6=退款申请
cardStateInteger—xuchao: 卡状态(CardState 枚举)1=待销售 2=待激活 3=已激活 4=已绑定 5=禁用 6=过期 7=无效 8=锁定
示例
请求示例 (自动生成,仅结构参考)
POST /mpOrder/queryOrderList
{
  "body": {
    "pageNum": 0,
    "pageSize": 0,
    "phone": "13800000000",
    "payStatus": 0
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "records": [
      {
        "id": "",
        "createTime": "2026-01-01 12:00:00",
        "payAmount": 0,
        "redeemCode": "",
        "payChannel": "",
        "payStatus": 0,
        "cardState": 0
      }
    ],
    "total": 0
  }
}
处理逻辑
逻辑摘要列表查询(mpOrderService.queryOrderList)

MpReserveController 4/5 在用

POST /mpReserve/checkCardBind 在用小程序 #
(无摘要) · MpReserveController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpReserveController#checkCardBind
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表card_resource_rulecard_bind
ControllerMpReserveController#checkCardBind
ServiceMpReserveService#checkCardBind (MpReserveServiceImpl)
MapperCardResourceRuleService.getMapper#selectList ⇒ 表 card_resource_rule
MapperCardBindMapper#selectList ⇒ 表 card_bind

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpReserve/checkCardBind
uathttps://dscp-uat.hn12301.net/mp-api/mpReserve/checkCardBind
prohttps://dscp-uat.hn12301.net/mp-api/mpReserve/checkCardBind (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body MpCheckCardBindRequest
字段类型必填取值/校验表 / 列说明
phoneString是必填/正则:^1[3-9]\\d{9}$card_bind.phone
cardModelIdLong是必填card_resource_rule.card_model_id
resourceIdLong是必填—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 MpCheckCardBindResponse (object)
字段类型必填取值/校验表 / 列说明
hasValidCardBoolean—
cardNumberStringcard_bind.card_number
expiresTimeDatecard_bind.expires_time
resourceIdLong—xuchao: 匹配到的 card_resource_rule.id
示例
请求示例 (自动生成,仅结构参考)
POST /mpReserve/checkCardBind
{
  "body": {
    "phone": "13800000000",
    "cardModelId": 1,
    "resourceId": 1
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "hasValidCard": false,
    "cardNumber": "",
    "expiresTime": "2026-01-01 12:00:00",
    "resourceId": 1
  }
}
处理逻辑
逻辑摘要调用 checkCardBind(mpReserveService.checkCardBind)
POST /mpReserve/getAppointmentDetail 在用小程序 #
(无摘要) · MpReserveController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpReserveController#getAppointmentDetail
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerMpReserveController#getAppointmentDetail
ServiceMpReserveService#getAppointmentDetail (MpReserveServiceImpl)
MapperMpReserveMapper#getAppointmentDetailById

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpReserve/getAppointmentDetail
uathttps://dscp-uat.hn12301.net/mp-api/mpReserve/getAppointmentDetail
prohttps://dscp-uat.hn12301.net/mp-api/mpReserve/getAppointmentDetail (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body MpAppointmentDetailRequest
字段类型必填取值/校验表 / 列说明
phoneString是必填/正则:^1[3-9]\\d{9}$—
appointIdLong是必填—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 MpAppointmentDetailResponse (object)
字段类型必填取值/校验表 / 列说明
idLong—
cardModelNameString—
statusInteger—
resourceNameString—
appTimeDate—
nameString—
identityNoString—
resourceIdLong—
cardInstructionString—xuchao: card_resource_rule.card_instruction
示例
请求示例 (自动生成,仅结构参考)
POST /mpReserve/getAppointmentDetail
{
  "body": {
    "phone": "13800000000",
    "appointId": 1
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "id": 1,
    "cardModelName": "",
    "status": 0,
    "resourceName": "",
    "appTime": "2026-01-01 12:00:00",
    "name": "",
    "identityNo": "",
    "resourceId": 1,
    "cardInstruction": ""
  }
}
处理逻辑
逻辑摘要查询详情(mpReserveService.getAppointmentDetail)
POST /mpReserve/getUsageRecordDetail 未使用小程序 #
(无摘要) · MpReserveController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpReserveController#getUsageRecordDetail
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerMpReserveController#getUsageRecordDetail
ServiceMpReserveService#getUsageRecordDetail (MpReserveServiceImpl)
MapperMpReserveMapper#getCheckRecordDetail
MapperMpReserveMapper#getAppointmentDetail

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpReserve/getUsageRecordDetail
uathttps://dscp-uat.hn12301.net/mp-api/mpReserve/getUsageRecordDetail
prohttps://dscp-uat.hn12301.net/mp-api/mpReserve/getUsageRecordDetail (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body MpUsageRecordDetailRequest
字段类型必填取值/校验表 / 列说明
phoneString是必填/正则:^1[3-9]\\d{9}$—
idLong是必填—
recordTypeString是必填—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 MpUsageRecordResponse (object)
字段类型必填取值/校验表 / 列说明
idString—
scenicNameString—
dateString—
sessionString—
statusString—xuchao: pending / used / cancelled / auto_used
userNameString—
maskedIdString—
cardTypeString—
cardNoString—
cardModelIdLong—xuchao: 卡种 ID(card_model.id)
applyTimeString—
cancelTimeString—
verifyTimeString—
verifyPhotoString—
示例
请求示例 (自动生成,仅结构参考)
POST /mpReserve/getUsageRecordDetail
{
  "body": {
    "phone": "13800000000",
    "id": 1,
    "recordType": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "id": "",
    "scenicName": "",
    "date": "2026-01-01 12:00:00",
    "session": "",
    "status": "",
    "userName": "",
    "maskedId": "",
    "cardType": "",
    "cardNo": "",
    "cardModelId": 1,
    "applyTime": "2026-01-01 12:00:00",
    "cancelTime": "2026-01-01 12:00:00",
    "verifyTime": "2026-01-01 12:00:00",
    "verifyPhoto": ""
  }
}
处理逻辑
逻辑摘要查询详情(mpReserveService.getUsageRecordDetail)
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /mpReserve/queryReserveOptions 在用小程序 #
(无摘要) · MpReserveController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpReserveController#queryReserveOptions
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表card_resource_rulegoodsshopcard_modelopenapi_channel_ruleopenapi_channel_infocard_bind
ControllerMpReserveController#queryReserveOptions
ServiceMpReserveService#queryReserveOptions (MpReserveServiceImpl)
MapperCardResourceRuleService.getMapper#selectById ⇒ 表 card_resource_rule
MapperGoodsService.getMapper#selectById ⇒ 表 goods
MapperShopService.getMapper#selectById ⇒ 表 shop
MapperCardModelService.getMapper#selectById ⇒ 表 card_model
MapperOpenapiChannelRuleService.getMapper#selectList ⇒ 表 openapi_channel_rule
MapperOpenapiChannelInfoService.getMapper#selectById ⇒ 表 openapi_channel_info
MapperMpReserveMapper#batchCountAppointments
MapperCardBindMapper#get ⇒ 表 card_bind

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpReserve/queryReserveOptions
uathttps://dscp-uat.hn12301.net/mp-api/mpReserve/queryReserveOptions
prohttps://dscp-uat.hn12301.net/mp-api/mpReserve/queryReserveOptions (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body MpReserveOptionsRequest
字段类型必填取值/校验表 / 列说明
phoneStringcard_bind.phonexuchao: 用户手机号,用于获取实名信息
cardModelIdLongcard_resource_rule.card_model_id
resourceIdLong—
cardNumberStringcard_bind.card_numberxuchao: 用户卡号(来自 checkCardBind 返回)
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 MpReserveOptionsResponse (object)
字段类型必填取值/校验表 / 列说明
scenicNameString—
scenicImageString—
addressStringshop.address
hoursString—
datesList<DateOption>—
dates[].keyString—
dates[].weekString—
dates[].labelString—
dates[].stockInteger—
dates[].sessionsList<SessionOption>—
sessions[].idLongcard_resource_rule.id
sessions[].timeString—
sessions[].stockInteger—
sessions[].totalStockInteger—
dates[].disabledBoolean—xuchao: 是否不可用
dates[].reasonString—xuchao: 不可用原因
userNameString—
userIdCardString—
bookingNoticeString—xuchao: 预约须知(shop.tips)
channelStringcard_model.channelxuchao: 创建预约所需的字段
cardModelIdLongcard_resource_rule.card_model_id
cardNumString—
phoneStringcard_bind.phone
cardModelNameStringcard_bind.card_model_name
appointmentDaysIntegercard_resource_rule.appointment_daysxuchao: 可预约天数(card_resource_rule.appointment_days)
scenicIdString—xuchao: 景区 shop.id(String 类型,给预约接口用)
thirdIdStringgoods.third_idxuchao: 第三方 ID(card_model_id)
channelTypeInteger—xuchao: 发卡渠道枚举值(ChannelType 整数,给预约接口用)
示例
请求示例 (自动生成,仅结构参考)
POST /mpReserve/queryReserveOptions
{
  "body": {
    "phone": "13800000000",
    "cardModelId": 1,
    "resourceId": 1,
    "cardNumber": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "scenicName": "",
    "scenicImage": "",
    "address": "",
    "hours": "",
    "dates": [
      {
        "key": "",
        "week": "",
        "label": "",
        "stock": 0,
        "sessions": [
          {
            "id": 1,
            "time": "2026-01-01 12:00:00",
            "stock": 0,
            "totalStock": 0
          }
        ],
        "disabled": false,
        "reason": ""
      }
    ],
    "userName": "",
    "userIdCard": "",
    "bookingNotice": "",
    "channel": "",
    "cardModelId": 1,
    "cardNum": "",
    "phone": "13800000000",
    "cardModelName": "",
    "appointmentDays": 0,
    "scenicId": "",
    "thirdId": "",
    "channelType": 0
  }
}
处理逻辑
逻辑摘要调用 queryReserveOptions(mpReserveService.queryReserveOptions)
POST /mpReserve/queryUsageRecordList 在用小程序 #
(无摘要) · MpReserveController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpReserveController#queryUsageRecordList
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerMpReserveController#queryUsageRecordList
ServiceMpReserveService#queryUsageRecordList (MpReserveServiceImpl)
MapperMpReserveMapper#queryUsageRecordsMerged
MapperMpReserveMapper#countUsageRecordsMerged

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpReserve/queryUsageRecordList
uathttps://dscp-uat.hn12301.net/mp-api/mpReserve/queryUsageRecordList
prohttps://dscp-uat.hn12301.net/mp-api/mpReserve/queryUsageRecordList (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body MpUsageRecordListRequest
字段类型必填取值/校验表 / 列说明
pageNumInteger否—页码(继承自框架分页基类 PageParam)
pageSizeInteger否—每页条数(继承自框架分页基类 PageParam)
phoneString是必填/正则:^1[3-9]\\d{9}$—
statusString—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PageInfo<MpUsageRecordResponse> (page)
字段类型必填取值/校验表 / 列说明
list / recordsarray—分页列表,元素结构见下
totallong—总条数(PageInfo)
idString—
scenicNameString—
dateString—
sessionString—
statusString—xuchao: pending / used / cancelled / auto_used
userNameString—
maskedIdString—
cardTypeString—
cardNoString—
cardModelIdLong—xuchao: 卡种 ID(card_model.id)
applyTimeString—
cancelTimeString—
verifyTimeString—
verifyPhotoString—
示例
请求示例 (自动生成,仅结构参考)
POST /mpReserve/queryUsageRecordList
{
  "body": {
    "pageNum": 0,
    "pageSize": 0,
    "phone": "13800000000",
    "status": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "records": [
      {
        "id": "",
        "scenicName": "",
        "date": "2026-01-01 12:00:00",
        "session": "",
        "status": "",
        "userName": "",
        "maskedId": "",
        "cardType": "",
        "cardNo": "",
        "cardModelId": 1,
        "applyTime": "2026-01-01 12:00:00",
        "cancelTime": "2026-01-01 12:00:00",
        "verifyTime": "2026-01-01 12:00:00",
        "verifyPhoto": ""
      }
    ],
    "total": 0
  }
}
处理逻辑
逻辑摘要列表查询(mpReserveService.queryUsageRecordList)

MpScenicController 3/4 在用

POST /mpScenic/getScenicDetail 在用小程序 #
(无摘要) · MpScenicController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpScenicController#getScenicDetail
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerMpScenicController#getScenicDetail
ServiceMpScenicService#getScenicDetail (MpScenicServiceImpl)
MapperMpScenicMapper#getScenicDetail

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpScenic/getScenicDetail
uathttps://dscp-uat.hn12301.net/mp-api/mpScenic/getScenicDetail
prohttps://dscp-uat.hn12301.net/mp-api/mpScenic/getScenicDetail (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body MpScenicDetailRequest
字段类型必填取值/校验表 / 列说明
shopIdLong—xuchao: shop.id
channelString—xuchao: 渠道标识,用于筛选卡种
phoneString—xuchao: 用户手机号(可选,用于计算剩余次数)
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 MpScenicDetailResponse (object)
字段类型必填取值/校验表 / 列说明
shopIdLong—
nameString—
levelString—
hoursString—
statusInteger—
needReservationString—xuchao: 预约须知内容(直接返回 shop.propagate_content 原文)
phoneString—
addressString—
tagsList<String>—
imagesList<String>—
introductionString—
bookingNoticeList<NoticeItem>—
bookingNotice[].titleString—
bookingNotice[].contentString—
bookingNoticeHtmlString—
cardsList<CardBenefit>—
cards[].cardNameString—
cards[].cardModelIdLong—
cards[].resourceIdLong—
cards[].goodsIdLong—
cards[].freeCountInteger—
cards[].skuNameString—
cards[].needReservationBoolean—xuchao: 该卡种的预约规则
cards[].bookingDeadlineString—
cards[].remainingCountInteger—xuchao: 用户该卡种的剩余可用次数
cards[].advanceDaysInteger—
cards[].advanceHourInteger—
hasPhoneBoolean—
rawTagsString—
shopMainPicString—
shopPropagatePicString—
rawBookingNoticeString—
shopPropagateContentString—
shopStatusInteger—
示例
请求示例 (自动生成,仅结构参考)
POST /mpScenic/getScenicDetail
{
  "body": {
    "shopId": 1,
    "channel": "",
    "phone": "13800000000"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "shopId": 1,
    "name": "",
    "level": "",
    "hours": "",
    "status": 0,
    "needReservation": "",
    "phone": "13800000000",
    "address": "",
    "tags": "",
    "images": "",
    "introduction": "",
    "bookingNotice": [
      {
        "title": "",
        "content": ""
      }
    ],
    "bookingNoticeHtml": "",
    "cards": [
      {
        "cardName": "",
        "cardModelId": 1,
        "resourceId": 1,
        "goodsId": 1,
        "freeCount": 0,
        "skuName": "",
        "needReservation": false,
        "bookingDeadline": "",
        "remainingCount": 0,
        "advanceDays": 0,
        "advanceHour": 0
      }
    ],
    "hasPhone": false,
    "rawTags": "",
    "shopMainPic": "https://example.com/x.png",
    "shopPropagatePic": "https://example.com/x.png",
    "rawBookingNotice": "",
    "shopPropagateContent": "",
    "shopStatus": 0
  }
}
处理逻辑
逻辑摘要查询详情(mpScenicService.getScenicDetail)
前端调用方
POST /mpScenic/queryFilterOptions 在用小程序 #
(无摘要) · MpScenicController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpScenicController#queryFilterOptions
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerMpScenicController#queryFilterOptions
ServiceMpScenicService#queryFilterOptions (MpScenicServiceImpl)
MapperMpScenicMapper#queryDistinctLevels
MapperMpScenicMapper#countNullLevelScenics
MapperMpScenicMapper#queryDistinctCardTypes

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpScenic/queryFilterOptions
uathttps://dscp-uat.hn12301.net/mp-api/mpScenic/queryFilterOptions
prohttps://dscp-uat.hn12301.net/mp-api/mpScenic/queryFilterOptions (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body MpFilterOptionsRequest
字段类型必填取值/校验表 / 列说明
channelString—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 MpFilterOptionsResponse (object)
字段类型必填取值/校验表 / 列说明
regionsList<MpScenicRegionsResponse>—
regions[].idString—
regions[].nameString—
regions[].childrenList<MpScenicRegionsResponse>—
children[].…(循环引用,已折叠)—
levelsList<FilterOption>—
levels[].valueString—
levels[].labelString—
cardTypesList<CardTypeOption>—
示例
请求示例 (自动生成,仅结构参考)
POST /mpScenic/queryFilterOptions
{
  "body": {
    "channel": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "regions": [
      {
        "id": "",
        "name": "",
        "children": [
          {}
        ]
      }
    ],
    "levels": [
      {
        "value": "",
        "label": ""
      }
    ],
    "cardTypes": ""
  }
}
处理逻辑
逻辑摘要调用 queryFilterOptions(mpScenicService.queryFilterOptions)
POST /mpScenic/queryScenicList 在用小程序 #
(无摘要) · MpScenicController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpScenicController#queryScenicList
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表memberopenapi_channel_infoopenapi_channel_rulecard_bind
ControllerMpScenicController#queryScenicList
ServiceMpScenicService#queryScenicList (MpScenicServiceImpl)
MapperMemberService.getMapper#selectOne ⇒ 表 member
ServiceOpenapiChannelInfoService#get (OpenapiChannelInfoServiceImpl)
MapperOpenapiChannelInfoMapper#selectById ⇒ 表 openapi_channel_info
ServiceOpenapiChannelRuleService#queryList (OpenapiChannelRuleServiceImpl)
MapperOpenapiChannelRuleMapper#selectList ⇒ 表 openapi_channel_rule
ServiceCardBindService#queryList (CardBindServiceImpl)
MapperCardBindMapper#selectList ⇒ 表 card_bind
MapperMpScenicMapper#queryScenicList
MapperMpScenicMapper#countScenicList

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpScenic/queryScenicList
uathttps://dscp-uat.hn12301.net/mp-api/mpScenic/queryScenicList
prohttps://dscp-uat.hn12301.net/mp-api/mpScenic/queryScenicList (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body MpScenicListRequest
字段类型必填取值/校验表 / 列说明
pageNumInteger否—页码(继承自框架分页基类 AbstractPageRequest)
pageSizeInteger否—每页条数(继承自框架分页基类 AbstractPageRequest)
channelStringmember.channelxuchao: 渠道标识,对应 openapi_channel_info.app_name
phoneStringcard_bind.phonexuchao: 用户手机号,用于计算剩余可用次数
cardNumberStringcard_bind.card_numberxuchao: 用户卡号,通过卡号查卡种筛选资源
keywordString—
provinceIdString—xuchao: 省市区筛选(传对应级别的 region.id)
cityIdString—
districtIdString—
levelString—
cardModelIdLongopenapi_channel_rule.card_model_id
isHotBoolean—
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PageInfo<MpScenicListResponse> (page)
字段类型必填取值/校验表 / 列说明
list / recordsarray—分页列表,元素结构见下
totallong—总条数(PageInfo)
idLongmember.id
shopIdLong—
nameStringmember.name
imageString—
priceIntegeropenapi_channel_rule.price
freeCountInteger—
levelString—
statusIntegermember.status
hoursString—
needReservationBoolean—
tipsString—
typeString—xuchao: 景区类型(字典翻译后的中文名)
regionRegionInfo—xuchao: 省市区树形结构(district 级别)
region.idLongmember.id
region.nameStringmember.name
cardTypesString—xuchao: 适用卡种名称
remainingCountInteger—xuchao: 用户还可使用次数(仅传 phone 时计算)
hasPhoneBoolean—xuchao: 前端是否传了手机号
provinceIdString—
cityIdString—
districtIdString—
subTypeIdString—
cardModelIdLongopenapi_channel_rule.card_model_id
示例
请求示例 (自动生成,仅结构参考)
POST /mpScenic/queryScenicList
{
  "body": {
    "pageNum": 0,
    "pageSize": 0,
    "channel": "",
    "phone": "13800000000",
    "cardNumber": "",
    "keyword": "",
    "provinceId": "",
    "cityId": "",
    "districtId": "",
    "level": "",
    "cardModelId": 1,
    "isHot": false
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "records": [
      {
        "id": 1,
        "shopId": 1,
        "name": "",
        "image": "",
        "price": 0,
        "freeCount": 0,
        "level": "",
        "status": 0,
        "hours": "",
        "needReservation": false,
        "tips": "",
        "type": "",
        "region": {
          "id": 1,
          "name": ""
        },
        "cardTypes": "",
        "remainingCount": 0,
        "hasPhone": false,
        "provinceId": "",
        "cityId": "",
        "districtId": "",
        "subTypeId": "",
        "cardModelId": 1
      }
    ],
    "total": 0
  }
}
处理逻辑
逻辑摘要列表查询(mpScenicService.queryScenicList)
POST /mpScenic/queryScenicRegions 未使用小程序 #
(无摘要) · MpScenicController
基本信息
控制器com.jxxx.dscp.api.controller.zhy.mp.MpScenicController#queryScenicRegions
所属模块质惠游 zhy
暴露渠道小程序 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerMpScenicController#queryScenicRegions
ServiceMpScenicService#queryScenicRegions (MpScenicServiceImpl)
MapperMpScenicMapper#queryScenicRegions

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列;— 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/mp-api/mpScenic/queryScenicRegions
uathttps://dscp-uat.hn12301.net/mp-api/mpScenic/queryScenicRegions
prohttps://dscp-uat.hn12301.net/mp-api/mpScenic/queryScenicRegions (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body MpScenicRegionsRequest
字段类型必填取值/校验表 / 列说明
channelString—xuchao: 渠道标识,对应 openapi_channel_info.app_name
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<MpScenicRegionsResponse> (list)
字段类型必填取值/校验表 / 列说明
[ ]array—列表,元素结构见下
idString—
nameString—
childrenList<MpScenicRegionsResponse>—
children[].…(循环引用,已折叠)—
示例
请求示例 (自动生成,仅结构参考)
POST /mpScenic/queryScenicRegions
{
  "body": {
    "channel": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": "",
      "name": "",
      "children": [
        {}
      ]
    }
  ]
}
处理逻辑
逻辑摘要调用 queryScenicRegions(mpScenicService.queryScenicRegions)
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)