POST
/card/queryCardPage管理后台卡池-分页查询
旅游卡 / 卡(主表)
基本信息
- 接口状态前端在用
- 接口URLPOST
https://dscp-dev.hn12301.net/manage-api/card/queryCardPage - 请求方式
POST - Content-Type
application/json - 暴露渠道管理后台 前缀
/manage-api - 名称来源源码注释
- 调用方已确认在用 · 管理后台(1 个前端)
- 需求上下文
- 维护人 / 最后改动AsiQue 2023-12-11
- 读写数据表
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 - 判定依据
请求参数
Header 请求参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 无(渠道统一鉴权头见《认证方式》) | ||||
Query 请求参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 无 | ||||
路径参数及说明
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 无 | ||||
Body 请求参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 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 |
认证方式
响应参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| list | … | 否 | List<T><CardPageResponse> | 分页数据集合(元素结构见下一行) |
| id | … | 否 | Long | ID,主键 → 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 | 数据总数 |
响应示例
成功响应示例
{
"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 服务内部错误 错误码字典 →