POST
/auth/checkerLoginApp权限-核销员登录
平台与系统 / 登录鉴权
基本信息
- 接口状态前端在用 免鉴权
- 接口URLPOST
https://dscp-dev.hn12301.net/app-api/auth/checkerLogin - 请求方式
POST - Content-Type
application/json - 暴露渠道App 前缀
/app-api - 名称来源源码注释
- 调用方已确认在用 · 景区核销(1 个前端)
- 需求上下文
- 维护人 / 最后改动liuxu 2024-02-27
- 读写数据表
checker、system_oauth2_access_token、checker_relation、sku、sku_entrance、checker_cqy_relation、checker_tickets_relation、tickets_sku、checker_config反查该表全部接口 → - 控制器
com.jxxx.dscp.api.controller.auth.AuthController#checkerLogin - 源码位置
jxxx-dscp/dscp-service-business/src/main/java/com/jxxx/dscp/api/controller/auth/AuthController.java:321 - 判定依据
请求参数
Header 请求参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 无(渠道统一鉴权头见《认证方式》) | ||||
Query 请求参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 无 | ||||
路径参数及说明
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 无 | ||||
Body 请求参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| mobile | … | 是 | String | 用户名 → checker.mobile |
| password | … | 是 | String | 密码 → checker.password |
认证方式
响应参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| userId | … | 否 | Long | 登录用户id → system_oauth2_access_token.user_id |
| checkerName | … | 否 | String | |
| accessToken | … | 否 | String | 访问令牌 → system_oauth2_access_token.access_token |
| refreshToken | … | 否 | String | 刷新令牌 → system_oauth2_access_token.refresh_token |
| expiresTime | … | 否 | Date | 过期时间 → system_oauth2_access_token.expires_time |
| shopName | … | 否 | String | |
| skuInfo | … | 否 | List<SkuEntranceDto> | |
| id | … | 否 | Long | → tickets_sku.id |
| skuName | … | 否 | String | sku名称 → tickets_sku.sku_name |
| cqySkuList | … | 否 | List<SkuEntranceDto> | |
| id | … | 否 | Long | → tickets_sku.id |
| skuName | … | 否 | String | sku名称 → tickets_sku.sku_name |
| ticketsSkuList | … | 否 | List<TicketsSku> | |
| id | … | 否 | Long | 商品id,主键 → tickets_sku.id |
| merchantId | … | 否 | Long | 所属商户id → tickets_sku.merchant_id |
| shopId | … | 否 | Long | 所属商铺id → tickets_sku.shop_id |
| ticketsId | … | 否 | Long | 单票ID,关联单票表id → tickets_sku.tickets_id |
| skuName | … | 否 | String | sku名称 → tickets_sku.sku_name |
| typeId | … | 否 | String | sku类型 → tickets_sku.type_id |
| typeInfo | … | 否 | String | 适用人群说明 → tickets_sku.type_info |
| stockNumType | … | 否 | Boolean | 是否无限库存 → tickets_sku.stock_num_type |
| stockDateType | … | 否 | Boolean | 库存形式:日历库存、时间段库存 → tickets_sku.stock_date_type |
| bookType | … | 否 | Integer | 预定时间:1=可订当天,0=可订明日 → tickets_sku.book_type |
| bookTimeLimit | … | 否 | LocalTime | 预订限制时间:订当天时,表示xx时间之前可订当天;订明日时,表示xx时间之前可订明日 → tickets_sku.book_time_limit |
| idLimitFlag | … | 否 | Boolean | 身份证是否限购 → tickets_sku.id_limit_flag |
| idLimitDays | … | 否 | Integer | 身份证限制天数 → tickets_sku.id_limit_days |
| idLimitNum | … | 否 | Integer | 身份证限制张数 → tickets_sku.id_limit_num |
| speedInfo | … | 否 | String | 出票速度 → tickets_sku.speed_info |
| basePrice | … | 否 | Integer | 默认价(分) → tickets_sku.base_price |
| contentWith | … | 否 | String | 费用包含 → tickets_sku.content_with |
| contentWithout | … | 否 | String | 费用不包含 → tickets_sku.content_without |
| enterDemand | … | 否 | String | 入园要求 → tickets_sku.enter_demand |
| enterType | … | 否 | String | 入园方式 → tickets_sku.enter_type |
| enterChangeFlag | … | 否 | Boolean | → tickets_sku.enter_change_flag |
| changePostion | … | 否 | String | 换票地点 → tickets_sku.change_postion |
| changeStart | … | 否 | LocalTime | 换票起始 → tickets_sku.change_start |
| changeEnd | … | 否 | LocalTime | 换票截止 → tickets_sku.change_end |
| enterPostion | … | 否 | String | 入园地点 → tickets_sku.enter_postion |
| enterStart | … | 否 | LocalTime | 入园起始 → tickets_sku.enter_start |
| enterEnd | … | 否 | LocalTime | 入园截止 → tickets_sku.enter_end |
| refundType | … | 否 | Integer | 退款规则 → tickets_sku.refund_type |
| refundDays | … | 否 | Integer | 可退款时间:选择天数和时间,在这之前的可退款。之后的不能退款。0天为使用当天 → tickets_sku.refund_days |
| refundTime | … | 否 | LocalTime | 可退款时间 → tickets_sku.refund_time |
| refundPolicy | … | 否 | String | 退款政策 → tickets_sku.refund_policy |
| remark | … | 否 | String | 补充说明 → tickets_sku.remark |
| receiptPolicy | … | 否 | String | 发票说明 → tickets_sku.receipt_policy |
| isDeleted | … | 否 | Boolean | 是否删除 → tickets_sku.is_deleted |
| status | … | 否 | TicketsStatus | → tickets_sku.status 1=已上架 2=编辑中 3=已下架 |
| createdBy | … | 否 | String | 创建人 → tickets_sku.created_by |
| createdTime | … | 否 | Date | 创建时间 → tickets_sku.created_time |
| updatedBy | … | 否 | String | 修改人 → tickets_sku.updated_by |
| updatedTime | … | 否 | Date | 修改时间 → tickets_sku.updated_time |
| merchantName | … | 否 | String | |
| sskFlag | … | 否 | boolean | |
| configList | … | 否 | List<CheckerConfig> | |
| id | … | 否 | Long | id → tickets_sku.id |
| checkerId | … | 否 | Long | 核销人员id → checker_cqy_relation.checker_id |
| configType | … | 否 | Integer | 类型 → checker_config.config_type |
| item | … | 否 | String | 配置项 → checker_config.item |
| value | … | 否 | String | 配置值 → checker_config.value |
| remark | … | 否 | String | 备注 → tickets_sku.remark |
| isDeleted | … | 否 | Boolean | 是否删除 → tickets_sku.is_deleted |
| createdTime | … | 否 | Date | 创建时间 → tickets_sku.created_time |
| relation | … | 否 | List<CheckerRelation> | |
| id | … | 否 | Long | id → tickets_sku.id |
| checkerId | … | 否 | Long | 核销人员id → checker_cqy_relation.checker_id |
| thirdId | … | 否 | String | 第三方id → checker.third_id |
| shopId | … | 否 | String | 景区id → tickets_sku.shop_id |
| channelType | … | 否 | ChannelType | 类型 → checker_cqy_relation.channel_type |
| goodsId | … | 否 | String | 门票id → checker_cqy_relation.goods_id |
| merchantId | … | 否 | String | 商户id → tickets_sku.merchant_id |
| skuId | … | 否 | String | skuId → checker_cqy_relation.sku_id |
| consumeFlag | … | 否 | Integer | → checker.consume_flag |
响应示例
成功响应示例
{
"errcode": 0,
"errmsg": "",
"data": {
"userId": "1",
"checkerName": "\"string\"",
"accessToken": "\"string\"",
"refreshToken": "\"string\"",
"expiresTime": "\"2026-01-01 00:00:00\"",
"shopName": "\"string\"",
"skuInfo": "[]",
"id": "1",
"skuName": "\"string\"",
"cqySkuList": "[]"
}
}失败响应示例
{
"data": null,
"可能返回": [
{
"errcode": "99999",
"errmsg": "服务内部错误"
}
]
}附录 · 实现细节
调用链 / 数据表 / 调用点证据 / 源码注释 / 逻辑摘要
涉及数据表:checker、system_oauth2_access_token、checker_relation、sku、sku_entrance、checker_cqy_relation、checker_tickets_relation、tickets_sku、checker_config 反查全部引用接口 →
- AuthController#checkerLogin
- BeanUtils.map → CheckerLoginResponse
其它依赖:Oauth2AccessTokenService.createAccessToken、Oauth2ClientService.mustGet、AuthService.setAuthAccId、MerchantCache.get、ShopCache.get、ZhyCardService.verifyLogin
逻辑摘要:查询详情(checkerService.get);调用 equals(StringUtils.equals);调用 date(DateUtil.date);入参与返回值经 BeanUtils 做对象/分页映射
源码内联注释(旧站解析结果)
- 查询用户信息
- 增加租户识别,防止查询出两条数据报错
- 创建token
- 获取景区信息
- skuList.addAll(tempSku);
- Merchant merchant = merchantCache.get(sku.getMerchantId());
- 设置商品关联
- 设置票种关联信息
旧站环境备注:pro:(仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
调用点证据
writeoff/common/http.api.js:2景区核销 · LoginUrl
可能抛出的业务码:99999 服务内部错误 错误码字典 →