POST/card/queryCardPage管理后台

卡池-分页查询

旅游卡 / 卡(主表)· CardController#queryCardPage

基本信息

  • 接口状态前端在用 置信度 高
  • 接口URLPOSThttps://dscp-dev.hn12301.net/manage-api/card/queryCardPage
  • 请求方式POST
  • Content-Typeapplication/json
  • 暴露渠道管理后台 前缀 /manage-api
  • 名称来源源码注释
  • 调用方已确认在用 · 管理后台(1 个前端)
  • 需求上下文feat:新增卡池基础服务
  • 维护人 / 最后改动AsiQue 2023-12-11 最近提交:feat:新增卡池基础服务
  • 读写数据表card_model、system_user_role、system_role、member 反查该表全部接口 →
  • 控制器com.jxxx.dscp.api.controller.card.CardController#queryCardPage
  • 源码位置jxxx-dscp/dscp-service-business/src/main/java/com/jxxx/dscp/api/controller/card/CardController.java:264
  • 判定依据1 个调用点:dscp-html-manage/src/api/card/index.ts

请求参数

分页字段来自 AbstractPageRequest:pageNo(不是 pageNum)· pageSize · orderBy

Header 请求参数

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

Query 请求参数

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

路径参数及说明

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

Body 请求参数

Body 类型 CardPageRequest
参数名参数值是否必填参数类型描述说明
pageNo…否Integer当前页面
pageSize…否Integer每页记录数
orderBy…否String排序语句
cardModelId…否Long旅游卡种ID,关联旅游卡种表ID → card.card_model_id
cardModelName…否String卡种名称,冗余字段 → card.card_model_name
cardGrade…否ModelGrade卡种等级,1一类卡,2二类卡,3公式卡 1=一类卡 2=二类卡 3=公式卡
cardNumber…否String卡号 → card.card_number
cardNumber2…否String
cardNumberLike…否String
activeCode…否String → card.active_code
cardType…否CardType卡类型,1电子卡,2实体卡(带芯片),3实体卡(不带芯片) → card.card_type 1=电子卡 2=实体卡(带芯片) 3=实体卡(不带芯片)
assignmentType…否AssignmentType分配对象类型,1商户,2商铺 → card.assignment_type 1=商户 2=商铺 3=个人
businessId…否Long分配对象(商户/商铺ID) → card.business_id
businessName…否String分配对象商户/商铺名称 → card.business_name
state…否CardState卡状态,1待售,2待绑定,3正常,4挂失,5过期,6损坏,7冻结 → card.state 1=待销售 2=待激活 3=已激活 4=已绑定 5=已禁用 6=已过期 7=已无效 8=已锁定
validityStart…否Date有效期起始 → card.validity_start
validityEnd…否Date有效期截止 → card.validity_end
isActive…否Boolean是否激活 → card.is_active
activeTime…否Date激活时间 → card.active_time
activeTimeRange…否Date[]
activeBy…否Long激活人,关联用户表id → card.active_by
isBind…否Boolean是否绑定 → card.is_bind
bindBy…否Long绑定人,关联用户表id → card.bind_by
bindTime…否Date绑定时间 → card.bind_time
isDonation…否Boolean是否赠送 → card.is_donation
phone…否String手机号码 → card.phone
buyerPhone…否String购买人手机号码 → card.buyer_phone
idList…否List<Long>id列表
keywords…否String关键字
cardFlag…否Integer → card.card_flag

认证方式

需登录态:Authorization: Bearer <token>(多租户另带 tenant-id);30002 会话失效需重登。详见全局公共参数。

响应参数

data 类型 PageInfo<CardPageResponse>
参数名参数值是否必填参数类型描述说明
list…否List<T><CardPageResponse>分页数据集合(元素结构见下一行)
id…否LongID,主键 → card_model.id
cardNumber…否String卡号,规则参照card_number_rule → card.card_number
activeCode…否String激活码规则:5 位随机激活码,包含大写字母和数字。··大写字母不包括 0 和1 → card.active_code
cardModelId…否Long旅游卡种ID,关联旅游卡种表ID → card.card_model_id
cardModelName…否String卡种名称,冗余字段 → card.card_model_name
cardType…否CardType卡类型,1电子卡,2实体卡(带芯片),3实体卡(不带芯片) → card.card_type 1=电子卡 2=实体卡(带芯片) 3=实体卡(不带芯片)
cardTypeValue…否String卡类型
assignmentType…否AssignmentType分配对象类型,1商户,2商铺 → card.assignment_type 1=商户 2=商铺 3=个人
businessId…否Long分配对象(商户/商铺ID) → card.business_id
businessName…否String分配对象 → card.business_name
state…否CardState卡状态,1待售,2待绑定,3正常,4挂失,5过期,6损坏,7冻结 → card.state 1=待销售 2=待激活 3=已激活 4=已绑定 5=已禁用 6=已过期 7=已无效 8=已锁定
cardState…否String卡状态名称
validityStart…否Date有效期起始 → card.validity_start
validityEnd…否Date有效期截止 → card.validity_end
isActive…否Boolean是否激活 → card.is_active
activeTime…否Date激活时间 → card.active_time
activeBy…否Long激活人,关联用户表id → card.active_by
activeByName…否String激活人
isBind…否Boolean是否绑定 → card.is_bind
bindBy…否Long操作绑定的人的id,关联用户表id → card.bind_by
bindByName…否String绑定人
memberId…否Long绑定人,关联用户表id → card_bind.member_id
memberIdName…否String绑定人
bindTime…否Date绑定时间 → card.bind_time
phone…否String手机号码 → card.phone
buyerPhone…否String购买人手机号码 → card.buyer_phone
identityNo…否String身份证号 → card.identity_no
cardGrade…否String卡种等级
isDonation…否Boolean是否赠送 → card.is_donation
cardFlag…否Integer → card.card_flag
total…否Long数据总数

响应示例

成功响应示例 code=0

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "list": "[]",
    "id": "1",
    "cardNumber": "\"string\"",
    "activeCode": "\"string\"",
    "cardModelId": "1",
    "cardModelName": "\"string\"",
    "cardType": "1",
    "cardTypeValue": "\"string\"",
    "assignmentType": "1",
    "businessId": "1",
    "businessName": "\"string\"",
    "state": "1"
  }
}

失败响应示例

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

附录 · 实现细节

调用链 / 数据表 / 调用点证据 / 源码注释 / 逻辑摘要
涉及数据表:card_model、system_user_role、system_role、member 反查全部引用接口 →
  • CardController#queryCardPage
  • CardModelService#queryList(CardModelServiceImpl)
  • CardModelMapper#queryList
  • SessionUserService#getSessionUser
  • UserRoleService#queryList(UserRoleServiceImpl)
  • UserRoleMapper#queryList
  • SessionUserService#isMerchant
  • SessionUserService#isShop
  • BeanUtils.map → CardQuery
  • BeanUtils.map → PageParam
其它依赖:CardService.applyWrapper、SessionUserService.getSessionUser、SessionUserService.isMerchant、SessionUserService.isShop、UserCache.get、CardModelCache.get
逻辑摘要:调用 isNotEmpty(StrUtil.isNotEmpty);查询详情(cardModelService.get);调用 applyWrapper(cardService.applyWrapper);入参与返回值经 BeanUtils 做对象/分页映射
源码内联注释(旧站解析结果)
  • query.setOrderby("id desc");
  • 卡表无等级字段,卡种等级过滤先查该等级的卡种,再按 card_model_id 过滤
  • 无匹配卡种时传 -1 保证查空,避免 MyBatis-Plus 忽略空 IN 集合返回全部数据
  • 夸商户商铺角色数据权限
  • 数据权限的两个条件必须放在同一个 AND 分组内,
  • 否则顶层 OR 会绕过卡种等搜索条件,导致商户账号搜索无效果
  • .isNull("shop_id")
  • 激活人名称
旧站环境备注:pro:(仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
调用点证据
  • dscp-html-manage/src/api/card/index.ts:88 管理后台 · request
可能抛出的业务码:99999 服务内部错误 错误码字典 →
由 tools/build.py 从 data/apis.json 生成 · 生成时间 2026-09-12 19:49 · 数据口径见说明 · 本页数字非手写,均来自同一份数据