质惠游 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
位置名称类型必填取值/校验表 / 列说明
querycardNumStringcard_num_appoint_rule.card_num
querytypeIntegercard_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
queryTypeInteger1=所有 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[].detailFlagInteger1=有详情,需跳转 0=无详情,直接预约
list[].discountTypeInteger优惠类型(1无限次;2=总计免次数;3=每月免次数;4=每日免次数;5=原价折扣度;6=原价减额度
list[].appointFlagInteger1=需预约 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列表,元素结构见下
idIntegerID
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)
字段类型必填取值/校验表 / 列说明
qrTypeIntegerqrType=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列表,元素结构见下
idIntegerID
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.idLongID,主键
rule.cardModelIdLong旅游卡ID,关联旅游卡表id
rule.shopIdLong商铺id
rule.goodsIdLong资源ID,关联商品表id
rule.resourceNameString资源名称
rule.typeString资源类型
rule.skuIdLongskuid,关联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[].idLongID,主键
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.idLongid
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.priceSortInteger1为价格升序 2为降序
sskCardResource.introList<SskCardResourceIntro>类型:0:介绍,1:预约须知;2:温馨提示
intro[].idLongid
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.idLongid
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[].idLongid
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
shopNoticeShopNoticexuchao: 商铺公告(is_display=1 且 created_time 最新的一条,无则 null)
shopNotice.idLongid
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)
字段类型必填取值/校验表 / 列说明
valueIntegerChannelType
descString
嵌套 OrderSource (OrderSource)
字段类型必填取值/校验表 / 列说明
valueIntegerOrderSource
descString
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PrepayResponse (object)
字段类型必填取值/校验表 / 列说明
appIdStringappId
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
位置名称类型必填取值/校验表 / 列说明
queryidLongmp_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
payStatusIntegerxuchao: 支付状态:1=待支付 2=已支付 3=已退款
orderStatusIntegerxuchao: 订单状态: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
payStatusIntegerxuchao: 支付状态(PayStatus 枚举)1=待支付 2=已支付 3=已退款 4=退款失败 5=退款中 6=退款申请
cardStateIntegerxuchao: 卡状态(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
resourceIdLongxuchao: 匹配到的 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
cardInstructionStringxuchao: 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
statusStringxuchao: pending / used / cancelled / auto_used
userNameString
maskedIdString
cardTypeString
cardNoString
cardModelIdLongxuchao: 卡种 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[].disabledBooleanxuchao: 是否不可用
dates[].reasonStringxuchao: 不可用原因
userNameString
userIdCardString
bookingNoticeStringxuchao: 预约须知(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)
scenicIdStringxuchao: 景区 shop.id(String 类型,给预约接口用)
thirdIdStringgoods.third_idxuchao: 第三方 ID(card_model_id)
channelTypeIntegerxuchao: 发卡渠道枚举值(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
statusStringxuchao: pending / used / cancelled / auto_used
userNameString
maskedIdString
cardTypeString
cardNoString
cardModelIdLongxuchao: 卡种 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
字段类型必填取值/校验表 / 列说明
shopIdLongxuchao: shop.id
channelStringxuchao: 渠道标识,用于筛选卡种
phoneStringxuchao: 用户手机号(可选,用于计算剩余次数)
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 MpScenicDetailResponse (object)
字段类型必填取值/校验表 / 列说明
shopIdLong
nameString
levelString
hoursString
statusInteger
needReservationStringxuchao: 预约须知内容(直接返回 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[].needReservationBooleanxuchao: 该卡种的预约规则
cards[].bookingDeadlineString
cards[].remainingCountIntegerxuchao: 用户该卡种的剩余可用次数
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
provinceIdStringxuchao: 省市区筛选(传对应级别的 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
typeStringxuchao: 景区类型(字典翻译后的中文名)
regionRegionInfoxuchao: 省市区树形结构(district 级别)
region.idLongmember.id
region.nameStringmember.name
cardTypesStringxuchao: 适用卡种名称
remainingCountIntegerxuchao: 用户还可使用次数(仅传 phone 时计算)
hasPhoneBooleanxuchao: 前端是否传了手机号
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
字段类型必填取值/校验表 / 列说明
channelStringxuchao: 渠道标识,对应 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 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)