POST/checker/unifiedConsumeApp

统一核销接口

核销 / 核销(主表)· CheckerController#unifiedConsume

基本信息

  • 接口状态前端在用 置信度 高 免鉴权
  • 接口URLPOSThttps://dscp-dev.hn12301.net/app-api/checker/unifiedConsume
  • 请求方式POST
  • Content-Typeapplication/json
  • 暴露渠道App 前缀 /app-api
  • 名称来源源码注释
  • 调用方已确认在用 · 景区核销(1 个前端)
  • 需求上下文统一核销接口
  • 维护人 / 最后改动liuxu 2024-02-27 最近提交:统一核销接口
  • 读写数据表checker 反查该表全部接口 →
  • 控制器com.jxxx.dscp.api.controller.checker.CheckerController#unifiedConsume
  • 源码位置jxxx-dscp/dscp-service-business/src/main/java/com/jxxx/dscp/api/controller/checker/CheckerController.java:238
  • 判定依据1 个调用点:writeoff/common/http.api.js

请求参数

Header 请求参数

参数名参数值是否必填参数类型描述说明
无(渠道统一鉴权头见《认证方式》)

Query 请求参数

参数名参数值是否必填参数类型描述说明
无

路径参数及说明

参数名参数值是否必填参数类型描述说明
无

Body 请求参数

Body 类型 CheckerConsumeRequest
参数名参数值是否必填参数类型描述说明
cardNo…是String卡号
userId…是Long核销人员id → system_operate_log.user_id
channel…是Integer核销渠道
skuId…是StringskuId
entranceId…是String入口id
timestamp…否Long
remark…否String
platform…否Integer核销小程序=1 核销app=2

认证方式

免鉴权:@Route(auth = false) —— 该接口不校验登录态,改动前确认调用方与签名校验。

响应参数

data 类型 CheckerConsumeResponse
参数名参数值是否必填参数类型描述说明
data…否Object核销数据
cardModelName…否String卡种名称
cardNumber…否String卡号
touristName…否String游客姓名
touristMobile…否String游客手机号
touristCertType…否String证件类型
touristIdCardNo…否String证件号码
touristPhotoUrl…否String游客照片
isVerify…否Boolean是否已核销
remainTimes…否Integer本景区剩余使用次数
checkedTimes…否Integer本景区已使用次数
touristCheckList…否List<TouristCheckerConsumeRecordBean>核销记录列表
mcName…否String景区名称
checkTime…否Date核销时间
checkerName…否String核销人姓名
checkerRecordId…否Long

响应示例

成功响应示例 code=0

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "data": "…",
    "cardModelName": "\"string\"",
    "cardNumber": "\"string\"",
    "touristName": "\"string\"",
    "touristMobile": "\"string\"",
    "touristCertType": "\"string\"",
    "touristIdCardNo": "\"string\"",
    "touristPhotoUrl": "\"string\"",
    "isVerify": "false",
    "remainTimes": "1",
    "checkedTimes": "1",
    "touristCheckList": "[]"
  }
}

失败响应示例

{
  "data": null,
  "可能返回": [
    {
      "errcode": "99999",
      "errmsg": "服务内部错误"
    }
  ]
}
示例来自源码/导出内容,仅结构参考,非线上真实数据。

附录 · 实现细节

调用链 / 数据表 / 调用点证据 / 源码注释 / 逻辑摘要
涉及数据表:checker 反查全部引用接口 →
  • CheckerController#unifiedConsume
  • LockService#tryLock
  • CheckerService#unifiedConsume(CheckerServiceImpl)
  • LockService#unlock
其它依赖:LockService.tryLock、RedisCacheService.get、CardCheckHandlerCache.get、LockService.unlock
逻辑摘要:调用 tryLock(lockService.tryLock);调用 isSskConsume(CardChannelUtil.isSskConsume);查询详情(redisCacheService.get)
旧站环境备注:pro:(仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
调用点证据
  • writeoff/common/http.api.js:3 景区核销 · ConsumeUrl
可能抛出的业务码:99999 服务内部错误 错误码字典 →
由 tools/build.py 从 data/apis.json 生成 · 生成时间 2026-09-12 19:49 · 数据口径见说明 · 本页数字非手写,均来自同一份数据