POST/promotion/coupon/couponPage开放/回调

优惠券-Coupon分页 · CouponPage 推断名·方法名推断

营销与触达 / 优惠券· PromotionCouponController#CouponPage

基本信息

  • 接口状态前端在用 置信度 高 免鉴权
  • 接口URLPOSThttps://dscp-dev.hn12301.net/open-api/promotion/coupon/couponPage
  • 请求方式POST
  • Content-Typeapplication/json
  • 暴露渠道开放/回调 前缀 /open-api
  • 名称来源方法名推断 补 javadoc 后自动转正
  • 调用方已确认在用 · 湘工惠商城(1 个前端)
  • 需求上下文1
  • 维护人 / 最后改动hao 2024-11-26 最近提交:1
  • 读写数据表promotion_coupon、member 反查该表全部接口 →
  • 控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#CouponPage
  • 源码位置jxxx-dscp/dscp-service-business/src/main/java/com/jxxx/dscp/api/controller/promotion/PromotionCouponController.java:216
  • 判定依据1 个调用点:xghmall/common/http.api.js

请求参数

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

Header 请求参数

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

Query 请求参数

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

路径参数及说明

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

Body 请求参数

Body 类型 PromotionCouponPageApiRequest
参数名参数值是否必填参数类型描述说明
pageNo…否Integer当前页面
pageSize…否Integer每页记录数
orderBy…否String排序语句
templateId…否Long → promotion_coupon.template_id
status…否Integer → promotion_coupon.status
createTimeRange…否Date[]
nickname…否String → member.nickname
mobile…否String → member.mobile
userIds…否Collection<Long>
channel…否ChannelType → member.channel 1=北京卡管理系统 2=三省卡系统 3=数字平台 4=质惠游 5=支付宝 6=兴业银行 7=湘工惠 8=湘约码

认证方式

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

响应参数

data 类型 PageInfo<PromotionCouponResponse>
参数名参数值是否必填参数类型描述说明
list…否List<T><PromotionCouponResponse>分页数据集合(元素结构见下一行)
id…否Longid → promotion_coupon.id
nickname…否String → member.nickname
mobile…否String → member.mobile
createTime…否Date → promotion_coupon.create_time
templateId…否Long → promotion_coupon.template_id
name…否String → promotion_coupon.name
status…否Integer → promotion_coupon.status
userId…否Long → promotion_coupon.user_id
takeType…否Integer → promotion_coupon.take_type
usePrice…否Integer → promotion_coupon.use_price
validStartTime…否Date → promotion_coupon.valid_start_time
validEndTime…否Date → promotion_coupon.valid_end_time
productScope…否Integer → promotion_coupon.product_scope
productScopeValues…否List<Long> → promotion_coupon.product_scope_values
discountType…否Integer → promotion_coupon.discount_type
discountPercent…否Integer → promotion_coupon.discount_percent
discountPrice…否Integer → promotion_coupon.discount_price
discountLimitPrice…否Integer → promotion_coupon.discount_limit_price
useOrderId…否Long → promotion_coupon.use_order_id
useTime…否Date → promotion_coupon.use_time
match…否Boolean是否匹配
mismatchReason…否String不匹配的原因
total…否Long数据总数

响应示例

成功响应示例 code=0

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "list": "[]",
    "id": "1",
    "nickname": "\"string\"",
    "mobile": "\"string\"",
    "createTime": "\"2026-01-01 00:00:00\"",
    "templateId": "1",
    "name": "\"string\"",
    "status": "1",
    "userId": "1",
    "takeType": "1",
    "usePrice": "1",
    "validStartTime": "\"2026-01-01 00:00:00\""
  }
}

失败响应示例

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

附录 · 实现细节

调用链 / 数据表 / 调用点证据 / 源码注释 / 逻辑摘要
涉及数据表:promotion_coupon、member 反查全部引用接口 →
  • PromotionCouponController#CouponPage
  • PromotionCouponService#getCouponPageApi(PromotionCouponServiceImpl)
  • PromotionCouponMapper#selectPageApi
  • BeanUtils.mapPage → PromotionCouponResponse
逻辑摘要:调用 isEmpty(StrUtil.isEmpty);调用 isEmpty(ObjUtil.isEmpty);查询详情(memberService.get);入参与返回值经 BeanUtils 做对象/分页映射
旧站环境备注:pro:(仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
调用点证据
  • xghmall/common/http.api.js:31 湘工惠商城 · couponPageUrl
可能抛出的业务码:99999 服务内部错误 错误码字典 →
由 tools/build.py 从 data/apis.json 生成 · 生成时间 2026-09-12 19:49 · 数据口径见说明 · 本页数字非手写,均来自同一份数据