营销/优惠 promotion

模块 promotion:共 37 个接口 —— 27 个被前端调用(在用),10 个未被调用(含 3 个开放/回调/内部)。用下方筛选可只看“在用/未使用”,或在右栏目录按名称过滤。

PromotionActivityController 5/6 在用

POST /promotion/addPromotionActivity 在用管理后台 #
活动表-新增 · PromotionActivityController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionActivityController#addPromotionActivity
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_activity
ControllerPromotionActivityController#addPromotionActivity
转换BeanUtils.map → PromotionActivity ⇒ 表 promotion_activity
ServicePromotionActivityService#add (PromotionActivityServiceImpl)
MapperPromotionActivityMapper#insert ⇒ 表 promotion_activity

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/addPromotionActivity
uathttps://dscp-uat.hn12301.net/manage-api/promotion/addPromotionActivity
prohttps://dscp-uat.hn12301.net/manage-api/promotion/addPromotionActivity (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionActivityAddRequest
字段类型必填取值/校验表 / 列说明
merchantIdLongpromotion_activity.merchant_id名称
shopIdLongpromotion_activity.shop_id主办方商铺Id
nameStringpromotion_activity.name活动名
validStartTimeDatepromotion_activity.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_activity.valid_end_time固定日期-生效结束时间
statusIntegerpromotion_activity.status状态
descriptionStringpromotion_activity.description活动规则
remarkStringpromotion_activity.remark备注信息
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/addPromotionActivity
{
  "body": {
    "merchantId": 1,
    "shopId": 1,
    "name": "",
    "validStartTime": "2026-01-01 12:00:00",
    "validEndTime": "2026-01-01 12:00:00",
    "status": 0,
    "description": "",
    "remark": ""
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 新增促销活动
逻辑摘要新增(promotionActivityService.add);入参与返回值经 BeanUtils 做对象/分页映射
POST /promotion/deletePromotionActivity 在用管理后台 #
活动表-删除 · PromotionActivityController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionActivityController#deletePromotionActivity
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_activity
ControllerPromotionActivityController#deletePromotionActivity
ServicePromotionActivityService#get (PromotionActivityServiceImpl)
MapperPromotionActivityMapper#selectById ⇒ 表 promotion_activity
ServicePromotionActivityService#update (PromotionActivityServiceImpl)
MapperPromotionActivityMapper#updateById ⇒ 表 promotion_activity
ServicePromotionActivityService#delete (PromotionActivityServiceImpl)
MapperPromotionActivityMapper#deleteById ⇒ 表 promotion_activity

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/deletePromotionActivity
uathttps://dscp-uat.hn12301.net/manage-api/promotion/deletePromotionActivity
prohttps://dscp-uat.hn12301.net/manage-api/promotion/deletePromotionActivity (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body IdRequest
字段类型必填取值/校验表 / 列说明
idLong必填promotion_activity.idid
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/deletePromotionActivity
{
  "body": {
    "id": 1
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 删除促销活动
逻辑摘要查询详情(promotionActivityService.get);更新(promotionActivityService.update);删除(promotionActivityService.delete)
POST /promotion/getPromotionActivity 在用管理后台 #
活动表-详情 · PromotionActivityController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionActivityController#getPromotionActivity
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_activity
ControllerPromotionActivityController#getPromotionActivity
ServicePromotionActivityService#get (PromotionActivityServiceImpl)
MapperPromotionActivityMapper#selectById ⇒ 表 promotion_activity

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/getPromotionActivity
uathttps://dscp-uat.hn12301.net/manage-api/promotion/getPromotionActivity
prohttps://dscp-uat.hn12301.net/manage-api/promotion/getPromotionActivity (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body IdRequest
字段类型必填取值/校验表 / 列说明
idLong必填promotion_activity.idid
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PromotionActivityResponse (object)
字段类型必填取值/校验表 / 列说明
idLongpromotion_activity.idid
merchantIdLongpromotion_activity.merchant_id商户id,关联merchant表id
shopIdLongpromotion_activity.shop_id主办方商铺Id
nameStringpromotion_activity.name活动名
validStartTimeDatepromotion_activity.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_activity.valid_end_time固定日期-生效结束时间
statusIntegerpromotion_activity.status状态
descriptionStringpromotion_activity.description活动规则
remarkStringpromotion_activity.remark备注信息
creatorStringpromotion_activity.creator创建者
createTimeDatepromotion_activity.create_time创建时间
updaterStringpromotion_activity.updater更新者
updateTimeDatepromotion_activity.update_time更新时间
deletedBooleanpromotion_activity.deleted是否删除
shopNameString
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/getPromotionActivity
{
  "body": {
    "id": 1
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "id": 1,
    "merchantId": 1,
    "shopId": 1,
    "name": "",
    "validStartTime": "2026-01-01 12:00:00",
    "validEndTime": "2026-01-01 12:00:00",
    "status": 0,
    "description": "",
    "remark": "",
    "creator": "",
    "createTime": "2026-01-01 12:00:00",
    "updater": "2026-01-01 12:00:00",
    "updateTime": "2026-01-01 12:00:00",
    "deleted": false,
    "shopName": ""
  }
}
处理逻辑
逻辑摘要查询详情(promotionActivityService.get);入参与返回值经 BeanUtils 做对象/分页映射
POST /promotion/queryPromotionActivityList 未使用管理后台 #
活动表-列表查询 · PromotionActivityController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionActivityController#queryPromotionActivityList
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_activity
ControllerPromotionActivityController#queryPromotionActivityList
转换BeanUtils.map → PromotionActivityQuery
ServicePromotionActivityService#queryList (PromotionActivityServiceImpl)
MapperPromotionActivityMapper#selectList ⇒ 表 promotion_activity

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/queryPromotionActivityList
uathttps://dscp-uat.hn12301.net/manage-api/promotion/queryPromotionActivityList
prohttps://dscp-uat.hn12301.net/manage-api/promotion/queryPromotionActivityList (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionActivityListRequest
字段类型必填取值/校验表 / 列说明
keywordsString可选(@MvcOptional)关键字
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<PromotionActivityResponse> (list)
字段类型必填取值/校验表 / 列说明
[ ]array列表,元素结构见下
idLongpromotion_activity.idid
merchantIdLongpromotion_activity.merchant_id商户id,关联merchant表id
shopIdLongpromotion_activity.shop_id主办方商铺Id
nameStringpromotion_activity.name活动名
validStartTimeDatepromotion_activity.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_activity.valid_end_time固定日期-生效结束时间
statusIntegerpromotion_activity.status状态
descriptionStringpromotion_activity.description活动规则
remarkStringpromotion_activity.remark备注信息
creatorStringpromotion_activity.creator创建者
createTimeDatepromotion_activity.create_time创建时间
updaterStringpromotion_activity.updater更新者
updateTimeDatepromotion_activity.update_time更新时间
deletedBooleanpromotion_activity.deleted是否删除
shopNameString
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/queryPromotionActivityList
{
  "body": {
    "keywords": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": 1,
      "merchantId": 1,
      "shopId": 1,
      "name": "",
      "validStartTime": "2026-01-01 12:00:00",
      "validEndTime": "2026-01-01 12:00:00",
      "status": 0,
      "description": "",
      "remark": "",
      "creator": "",
      "createTime": "2026-01-01 12:00:00",
      "updater": "2026-01-01 12:00:00",
      "updateTime": "2026-01-01 12:00:00",
      "deleted": false,
      "shopName": ""
    }
  ]
}
处理逻辑
逻辑摘要列表查询(promotionActivityService.queryList);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • 设置其他查询条件
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /promotion/queryPromotionActivityPage 在用管理后台 #
活动表-分页查询 · PromotionActivityController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionActivityController#queryPromotionActivityPage
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_activity
ControllerPromotionActivityController#queryPromotionActivityPage
转换BeanUtils.map → PromotionActivityQuery
ServicePromotionActivityService#queryPage (PromotionActivityServiceImpl)
MapperPromotionActivityMapper#selectPage ⇒ 表 promotion_activity
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
ShopCache.get

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/queryPromotionActivityPage
uathttps://dscp-uat.hn12301.net/manage-api/promotion/queryPromotionActivityPage
prohttps://dscp-uat.hn12301.net/manage-api/promotion/queryPromotionActivityPage (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionActivityPageRequest
字段类型必填取值/校验表 / 列说明
pageNumInteger页码(继承自框架分页基类 AbstractPageRequest)
pageSizeInteger每页条数(继承自框架分页基类 AbstractPageRequest)
keywordsString可选(@MvcOptional)关键字
nameStringpromotion_activity.name
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PageInfo<PromotionActivityResponse> (page)
字段类型必填取值/校验表 / 列说明
list / recordsarray分页列表,元素结构见下
totallong总条数(PageInfo)
idLongpromotion_activity.idid
merchantIdLongpromotion_activity.merchant_id商户id,关联merchant表id
shopIdLongpromotion_activity.shop_id主办方商铺Id
nameStringpromotion_activity.name活动名
validStartTimeDatepromotion_activity.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_activity.valid_end_time固定日期-生效结束时间
statusIntegerpromotion_activity.status状态
descriptionStringpromotion_activity.description活动规则
remarkStringpromotion_activity.remark备注信息
creatorStringpromotion_activity.creator创建者
createTimeDatepromotion_activity.create_time创建时间
updaterStringpromotion_activity.updater更新者
updateTimeDatepromotion_activity.update_time更新时间
deletedBooleanpromotion_activity.deleted是否删除
shopNameString
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/queryPromotionActivityPage
{
  "body": {
    "pageNum": 0,
    "pageSize": 0,
    "keywords": "",
    "name": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "records": [
      {
        "id": 1,
        "merchantId": 1,
        "shopId": 1,
        "name": "",
        "validStartTime": "2026-01-01 12:00:00",
        "validEndTime": "2026-01-01 12:00:00",
        "status": 0,
        "description": "",
        "remark": "",
        "creator": "",
        "createTime": "2026-01-01 12:00:00",
        "updater": "2026-01-01 12:00:00",
        "updateTime": "2026-01-01 12:00:00",
        "deleted": false,
        "shopName": ""
      }
    ],
    "total": 0
  }
}
处理逻辑
逻辑摘要分页查询(promotionActivityService.queryPage);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • 设置其他查询条件
POST /promotion/updatePromotionActivity 在用管理后台 #
活动表-更新 · PromotionActivityController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionActivityController#updatePromotionActivity
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_activity
ControllerPromotionActivityController#updatePromotionActivity
转换BeanUtils.map → PromotionActivity ⇒ 表 promotion_activity
ServicePromotionActivityService#update (PromotionActivityServiceImpl)
MapperPromotionActivityMapper#updateById ⇒ 表 promotion_activity

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/updatePromotionActivity
uathttps://dscp-uat.hn12301.net/manage-api/promotion/updatePromotionActivity
prohttps://dscp-uat.hn12301.net/manage-api/promotion/updatePromotionActivity (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionActivityUpdateRequest
字段类型必填取值/校验表 / 列说明
idLongpromotion_activity.id
merchantIdLongpromotion_activity.merchant_idid
shopIdLongpromotion_activity.shop_id主办方商铺Id
nameStringpromotion_activity.name活动名
validStartTimeDatepromotion_activity.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_activity.valid_end_time固定日期-生效结束时间
statusIntegerpromotion_activity.status状态
descriptionStringpromotion_activity.description活动规则
remarkStringpromotion_activity.remark备注信息
deletedBooleanpromotion_activity.deleted
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/updatePromotionActivity
{
  "body": {
    "id": 1,
    "merchantId": 1,
    "shopId": 1,
    "name": "",
    "validStartTime": "2026-01-01 12:00:00",
    "validEndTime": "2026-01-01 12:00:00",
    "status": 0,
    "description": "",
    "remark": "",
    "deleted": false
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 更新促销活动
逻辑摘要更新(promotionActivityService.update);入参与返回值经 BeanUtils 做对象/分页映射

PromotionActivityShopController 5/6 在用

POST /promotion/addPromotionActivityShop 在用管理后台 #
活动商铺表-新增 · PromotionActivityShopController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionActivityShopController#addPromotionActivityShop
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_activity_shop
ControllerPromotionActivityShopController#addPromotionActivityShop
转换BeanUtils.map → PromotionActivityShop ⇒ 表 promotion_activity_shop
ServicePromotionActivityShopService#add (PromotionActivityShopServiceImpl)
MapperPromotionActivityShopMapper#insert ⇒ 表 promotion_activity_shop

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/addPromotionActivityShop
uathttps://dscp-uat.hn12301.net/manage-api/promotion/addPromotionActivityShop
prohttps://dscp-uat.hn12301.net/manage-api/promotion/addPromotionActivityShop (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionActivityShopAddRequest
字段类型必填取值/校验表 / 列说明
activityIdLongpromotion_activity_shop.activity_id名称
merchantIdLongpromotion_activity_shop.merchant_id
shopIdLongpromotion_activity_shop.shop_id参与方商铺ID
joinTimeDatepromotion_activity_shop.join_time商铺加入时间
exitTimeDatepromotion_activity_shop.exit_time商铺退出时间
statusIntegerpromotion_activity_shop.status状态 1-已加入 0-已退出
remarkStringpromotion_activity_shop.remark
remark2Stringpromotion_activity_shop.remark2
shopTypeIntegerpromotion_activity_shop.shop_type
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/addPromotionActivityShop
{
  "body": {
    "activityId": 1,
    "merchantId": 1,
    "shopId": 1,
    "joinTime": "2026-01-01 12:00:00",
    "exitTime": "2026-01-01 12:00:00",
    "status": 0,
    "remark": "",
    "remark2": "",
    "shopType": 0
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 新增活动商铺
逻辑摘要新增(promotionActivityShopService.add);入参与返回值经 BeanUtils 做对象/分页映射
POST /promotion/deletePromotionActivityShop 在用管理后台 #
活动商铺表-删除 · PromotionActivityShopController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionActivityShopController#deletePromotionActivityShop
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_activity_shop
ControllerPromotionActivityShopController#deletePromotionActivityShop
ServicePromotionActivityShopService#get (PromotionActivityShopServiceImpl)
MapperPromotionActivityShopMapper#selectById ⇒ 表 promotion_activity_shop
ServicePromotionActivityShopService#update (PromotionActivityShopServiceImpl)
MapperPromotionActivityShopMapper#updateById ⇒ 表 promotion_activity_shop
ServicePromotionActivityShopService#delete (PromotionActivityShopServiceImpl)
MapperPromotionActivityShopMapper#deleteById ⇒ 表 promotion_activity_shop

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/deletePromotionActivityShop
uathttps://dscp-uat.hn12301.net/manage-api/promotion/deletePromotionActivityShop
prohttps://dscp-uat.hn12301.net/manage-api/promotion/deletePromotionActivityShop (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body IdRequest
字段类型必填取值/校验表 / 列说明
idLong必填promotion_activity_shop.idid
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/deletePromotionActivityShop
{
  "body": {
    "id": 1
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 删除活动商铺
逻辑摘要查询详情(promotionActivityShopService.get);更新(promotionActivityShopService.update);删除(promotionActivityShopService.delete)
POST /promotion/getPromotionActivityShop 在用管理后台 #
活动商铺表-详情 · PromotionActivityShopController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionActivityShopController#getPromotionActivityShop
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_activity_shop
ControllerPromotionActivityShopController#getPromotionActivityShop
ServicePromotionActivityShopService#get (PromotionActivityShopServiceImpl)
MapperPromotionActivityShopMapper#selectById ⇒ 表 promotion_activity_shop

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/getPromotionActivityShop
uathttps://dscp-uat.hn12301.net/manage-api/promotion/getPromotionActivityShop
prohttps://dscp-uat.hn12301.net/manage-api/promotion/getPromotionActivityShop (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body IdRequest
字段类型必填取值/校验表 / 列说明
idLong必填promotion_activity_shop.idid
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PromotionActivityShopResponse (object)
字段类型必填取值/校验表 / 列说明
idLongpromotion_activity_shop.idid
activityIdLongpromotion_activity_shop.activity_id活动id
merchantIdLongpromotion_activity_shop.merchant_id
shopIdLongpromotion_activity_shop.shop_id参与方商铺ID
joinTimeDatepromotion_activity_shop.join_time商铺加入时间
exitTimeDatepromotion_activity_shop.exit_time商铺退出时间
statusIntegerpromotion_activity_shop.status状态 1-已加入 0-已退出
creatorStringpromotion_activity_shop.creator创建者
createTimeDatepromotion_activity_shop.create_time创建时间
updaterStringpromotion_activity_shop.updater更新者
updateTimeDatepromotion_activity_shop.update_time更新时间
deletedBooleanpromotion_activity_shop.deleted是否删除
remarkStringpromotion_activity_shop.remark
remark2Stringpromotion_activity_shop.remark2
shopTypeIntegerpromotion_activity_shop.shop_type
shopNameString
imgUrlString
addressString
levelString
cityString
districtString
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/getPromotionActivityShop
{
  "body": {
    "id": 1
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "id": 1,
    "activityId": 1,
    "merchantId": 1,
    "shopId": 1,
    "joinTime": "2026-01-01 12:00:00",
    "exitTime": "2026-01-01 12:00:00",
    "status": 0,
    "creator": "",
    "createTime": "2026-01-01 12:00:00",
    "updater": "2026-01-01 12:00:00",
    "updateTime": "2026-01-01 12:00:00",
    "deleted": false,
    "remark": "",
    "remark2": "",
    "shopType": 0,
    "shopName": "",
    "imgUrl": "https://example.com/x.png",
    "address": "",
    "level": "",
    "city": "",
    "district": ""
  }
}
处理逻辑
逻辑摘要查询详情(promotionActivityShopService.get);入参与返回值经 BeanUtils 做对象/分页映射
POST /promotion/queryPromotionActivityShopList 未使用管理后台 #
活动商铺表-列表查询 · PromotionActivityShopController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionActivityShopController#queryPromotionActivityShopList
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_activity_shop
ControllerPromotionActivityShopController#queryPromotionActivityShopList
转换BeanUtils.map → PromotionActivityShopQuery
ServicePromotionActivityShopService#queryList (PromotionActivityShopServiceImpl)
MapperPromotionActivityShopMapper#selectList ⇒ 表 promotion_activity_shop

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/queryPromotionActivityShopList
uathttps://dscp-uat.hn12301.net/manage-api/promotion/queryPromotionActivityShopList
prohttps://dscp-uat.hn12301.net/manage-api/promotion/queryPromotionActivityShopList (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionActivityShopListRequest
字段类型必填取值/校验表 / 列说明
keywordsString可选(@MvcOptional)关键字
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<PromotionActivityShopResponse> (list)
字段类型必填取值/校验表 / 列说明
[ ]array列表,元素结构见下
idLongpromotion_activity_shop.idid
activityIdLongpromotion_activity_shop.activity_id活动id
merchantIdLongpromotion_activity_shop.merchant_id
shopIdLongpromotion_activity_shop.shop_id参与方商铺ID
joinTimeDatepromotion_activity_shop.join_time商铺加入时间
exitTimeDatepromotion_activity_shop.exit_time商铺退出时间
statusIntegerpromotion_activity_shop.status状态 1-已加入 0-已退出
creatorStringpromotion_activity_shop.creator创建者
createTimeDatepromotion_activity_shop.create_time创建时间
updaterStringpromotion_activity_shop.updater更新者
updateTimeDatepromotion_activity_shop.update_time更新时间
deletedBooleanpromotion_activity_shop.deleted是否删除
remarkStringpromotion_activity_shop.remark
remark2Stringpromotion_activity_shop.remark2
shopTypeIntegerpromotion_activity_shop.shop_type
shopNameString
imgUrlString
addressString
levelString
cityString
districtString
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/queryPromotionActivityShopList
{
  "body": {
    "keywords": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": 1,
      "activityId": 1,
      "merchantId": 1,
      "shopId": 1,
      "joinTime": "2026-01-01 12:00:00",
      "exitTime": "2026-01-01 12:00:00",
      "status": 0,
      "creator": "",
      "createTime": "2026-01-01 12:00:00",
      "updater": "2026-01-01 12:00:00",
      "updateTime": "2026-01-01 12:00:00",
      "deleted": false,
      "remark": "",
      "remark2": "",
      "shopType": 0,
      "shopName": "",
      "imgUrl": "https://example.com/x.png",
      "address": "",
      "level": "",
      "city": "",
      "district": ""
    }
  ]
}
处理逻辑
逻辑摘要列表查询(promotionActivityShopService.queryList);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • 设置其他查询条件
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /promotion/queryPromotionActivityShopPage 在用开放/回调 #
活动商铺表-分页查询 · PromotionActivityShopController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionActivityShopController#queryPromotionActivityShopPage
所属模块营销/优惠 promotion
暴露渠道开放/回调 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表shoppromotion_activity_shop
ControllerPromotionActivityShopController#queryPromotionActivityShopPage
转换BeanUtils.map → PromotionActivityShopQuery
ServiceShopService#queryList (ShopServiceImpl)
MapperShopMapper#selectList ⇒ 表 shop
ServicePromotionActivityShopService#queryPage (PromotionActivityShopServiceImpl)
MapperPromotionActivityShopMapper#selectPage ⇒ 表 promotion_activity_shop
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 2
ShopCache.getRegionCache.get

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/open-api/promotion/queryPromotionActivityShopPage
uathttps://dscp-uat.hn12301.net/open-api/promotion/queryPromotionActivityShopPage
prohttps://dscp-uat.hn12301.net/open-api/promotion/queryPromotionActivityShopPage (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionActivityShopPageRequest
字段类型必填取值/校验表 / 列说明
pageNumInteger页码(继承自框架分页基类 AbstractPageRequest)
pageSizeInteger每页条数(继承自框架分页基类 AbstractPageRequest)
keywordsString可选(@MvcOptional)关键字
activityIdLongpromotion_activity_shop.activity_id
nameStringshop.name
shopIdLongpromotion_activity_shop.shop_id参与方商铺ID
shopTypeIntegerpromotion_activity_shop.shop_type
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PageInfo<PromotionActivityShopResponse> (page)
字段类型必填取值/校验表 / 列说明
list / recordsarray分页列表,元素结构见下
totallong总条数(PageInfo)
idLongshop.idid
activityIdLongpromotion_activity_shop.activity_id活动id
merchantIdLongshop.merchant_id
shopIdLongpromotion_activity_shop.shop_id参与方商铺ID
joinTimeDatepromotion_activity_shop.join_time商铺加入时间
exitTimeDatepromotion_activity_shop.exit_time商铺退出时间
statusIntegershop.status状态 1-已加入 0-已退出
creatorStringpromotion_activity_shop.creator创建者
createTimeDatepromotion_activity_shop.create_time创建时间
updaterStringpromotion_activity_shop.updater更新者
updateTimeDatepromotion_activity_shop.update_time更新时间
deletedBooleanpromotion_activity_shop.deleted是否删除
remarkStringpromotion_activity_shop.remark
remark2Stringpromotion_activity_shop.remark2
shopTypeIntegerpromotion_activity_shop.shop_type
shopNameString
imgUrlString
addressStringshop.address
levelStringshop.level
cityString
districtString
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/queryPromotionActivityShopPage
{
  "body": {
    "pageNum": 0,
    "pageSize": 0,
    "keywords": "",
    "activityId": 1,
    "name": "",
    "shopId": 1,
    "shopType": 0
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "records": [
      {
        "id": 1,
        "activityId": 1,
        "merchantId": 1,
        "shopId": 1,
        "joinTime": "2026-01-01 12:00:00",
        "exitTime": "2026-01-01 12:00:00",
        "status": 0,
        "creator": "",
        "createTime": "2026-01-01 12:00:00",
        "updater": "2026-01-01 12:00:00",
        "updateTime": "2026-01-01 12:00:00",
        "deleted": false,
        "remark": "",
        "remark2": "",
        "shopType": 0,
        "shopName": "",
        "imgUrl": "https://example.com/x.png",
        "address": "",
        "level": "",
        "city": "",
        "district": ""
      }
    ],
    "total": 0
  }
}
处理逻辑
逻辑摘要调用 isNotEmpty(StrUtil.isNotEmpty);列表查询(shopService.queryList);分页查询(promotionActivityShopService.queryPage);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • 设置其他查询条件
POST /promotion/updatePromotionActivityShop 在用管理后台 #
活动商铺表-更新 · PromotionActivityShopController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionActivityShopController#updatePromotionActivityShop
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_activity_shop
ControllerPromotionActivityShopController#updatePromotionActivityShop
转换BeanUtils.map → PromotionActivityShop ⇒ 表 promotion_activity_shop
ServicePromotionActivityShopService#get (PromotionActivityShopServiceImpl)
MapperPromotionActivityShopMapper#selectById ⇒ 表 promotion_activity_shop
ServicePromotionActivityShopService#update (PromotionActivityShopServiceImpl)
MapperPromotionActivityShopMapper#updateById ⇒ 表 promotion_activity_shop

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/updatePromotionActivityShop
uathttps://dscp-uat.hn12301.net/manage-api/promotion/updatePromotionActivityShop
prohttps://dscp-uat.hn12301.net/manage-api/promotion/updatePromotionActivityShop (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionActivityShopUpdateRequest
字段类型必填取值/校验表 / 列说明
idLongpromotion_activity_shop.idid
activityIdLongpromotion_activity_shop.activity_id
merchantIdLongpromotion_activity_shop.merchant_id
shopIdLongpromotion_activity_shop.shop_id参与方商铺ID
joinTimeDatepromotion_activity_shop.join_time商铺加入时间
exitTimeDatepromotion_activity_shop.exit_time商铺退出时间
statusIntegerpromotion_activity_shop.status状态 1-已加入 0-已退出
remarkStringpromotion_activity_shop.remark
remark2Stringpromotion_activity_shop.remark2
shopTypeIntegerpromotion_activity_shop.shop_type
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/updatePromotionActivityShop
{
  "body": {
    "id": 1,
    "activityId": 1,
    "merchantId": 1,
    "shopId": 1,
    "joinTime": "2026-01-01 12:00:00",
    "exitTime": "2026-01-01 12:00:00",
    "status": 0,
    "remark": "",
    "remark2": "",
    "shopType": 0
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 更新活动商铺
逻辑摘要查询详情(promotionActivityShopService.get);更新(promotionActivityShopService.update);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • BeanUtils.map(request, PromotionActivityShop.class)

PromotionCouponController 8/12 在用

POST /promotion/coupon/addPromotionCoupon 未使用管理后台 #
优惠劵-新增 · PromotionCouponController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#addPromotionCoupon
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon
ControllerPromotionCouponController#addPromotionCoupon
转换BeanUtils.map → PromotionCoupon ⇒ 表 promotion_coupon
ServicePromotionCouponService#add (PromotionCouponServiceImpl)
MapperPromotionCouponMapper#insert ⇒ 表 promotion_coupon

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/coupon/addPromotionCoupon
uathttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/addPromotionCoupon
prohttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/addPromotionCoupon (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponAddRequest
字段类型必填取值/校验表 / 列说明
nameStringpromotion_coupon.name名称
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/coupon/addPromotionCoupon
{
  "body": {
    "name": ""
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 新增优惠券
逻辑摘要新增(promotionCouponService.add);入参与返回值经 BeanUtils 做对象/分页映射
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /promotion/coupon/couponPage 在用开放/回调 #
(无摘要) · PromotionCouponController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#CouponPage
所属模块营销/优惠 promotion
暴露渠道开放/回调 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表memberpromotion_coupon
ControllerPromotionCouponController#CouponPage
ServiceMemberService#get (MemberServiceImpl)
MapperMemberMapper#selectById ⇒ 表 member
ServicePromotionCouponService#getCouponPageApi (PromotionCouponServiceImpl)
MapperMemberService.getMapper#queryList ⇒ 表 member
MapperPromotionCouponMapper#selectPageApi ⇒ 表 promotion_coupon

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/open-api/promotion/coupon/couponPage
uathttps://dscp-uat.hn12301.net/open-api/promotion/coupon/couponPage
prohttps://dscp-uat.hn12301.net/open-api/promotion/coupon/couponPage (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponPageApiRequest
字段类型必填取值/校验表 / 列说明
pageNumInteger页码(继承自框架分页基类 AbstractPageRequest)
pageSizeInteger每页条数(继承自框架分页基类 AbstractPageRequest)
templateIdLongpromotion_coupon.template_id
statusIntegermember.status
createTimeRangeDate[]
nicknameStringmember.nickname
mobileStringmember.mobile
userIdsCollection<Long>
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8member.channel
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PageInfo<PromotionCouponResponse> (page)
字段类型必填取值/校验表 / 列说明
list / recordsarray分页列表,元素结构见下
totallong总条数(PageInfo)
idLongmember.idid
nicknameStringmember.nickname
mobileStringmember.mobile
createTimeDatepromotion_coupon.create_time
templateIdLongpromotion_coupon.template_id
nameStringmember.name
statusIntegermember.status
userIdLongpromotion_coupon.user_id
takeTypeIntegerpromotion_coupon.take_type
usePriceIntegerpromotion_coupon.use_price
validStartTimeDatepromotion_coupon.valid_start_time
validEndTimeDatepromotion_coupon.valid_end_time
productScopeIntegerpromotion_coupon.product_scope
productScopeValuesList<Long>promotion_coupon.product_scope_values
discountTypeIntegerpromotion_coupon.discount_type
discountPercentIntegerpromotion_coupon.discount_percent
discountPriceIntegerpromotion_coupon.discount_price
discountLimitPriceIntegerpromotion_coupon.discount_limit_price
useOrderIdLongpromotion_coupon.use_order_id
useTimeDatepromotion_coupon.use_time
matchBoolean是否匹配
mismatchReasonString不匹配的原因
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/coupon/couponPage
{
  "body": {
    "pageNum": 0,
    "pageSize": 0,
    "templateId": 1,
    "status": 0,
    "createTimeRange": "2026-01-01 12:00:00",
    "nickname": "",
    "mobile": "13800000000",
    "userIds": "",
    "channel": "1"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "records": [
      {
        "id": 1,
        "nickname": "",
        "mobile": "13800000000",
        "createTime": "2026-01-01 12:00:00",
        "templateId": 1,
        "name": "",
        "status": 0,
        "userId": 1,
        "takeType": 0,
        "usePrice": 0,
        "validStartTime": "2026-01-01 12:00:00",
        "validEndTime": "2026-01-01 12:00:00",
        "productScope": 0,
        "productScopeValues": "",
        "discountType": 0,
        "discountPercent": 0,
        "discountPrice": 0,
        "discountLimitPrice": 0,
        "useOrderId": 1,
        "useTime": "2026-01-01 12:00:00",
        "match": false,
        "mismatchReason": ""
      }
    ],
    "total": 0
  }
}
处理逻辑
逻辑摘要调用 isEmpty(StrUtil.isEmpty);调用 isEmpty(ObjUtil.isEmpty);查询详情(memberService.get);入参与返回值经 BeanUtils 做对象/分页映射
POST /promotion/coupon/deletePromotionCoupon 在用管理后台 #
优惠劵-回收 · PromotionCouponController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#deletePromotionCoupon
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_couponpromotion_coupon_template
ControllerPromotionCouponController#deletePromotionCoupon
ServicePromotionCouponService#deleteCoupon (PromotionCouponServiceImpl)
MapperPromotionCouponMapper#delete ⇒ 表 promotion_coupon
ServicePromotionCouponTemplateService#updateCouponTemplateTakeCount (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#updateTakeCount ⇒ 表 promotion_coupon_template

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/coupon/deletePromotionCoupon
uathttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/deletePromotionCoupon
prohttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/deletePromotionCoupon (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body IdRequest
字段类型必填取值/校验表 / 列说明
idLong必填promotion_coupon.idid
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/coupon/deletePromotionCoupon
{
  "body": {
    "id": 1
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 回收优惠券
逻辑摘要删除(promotionCouponService.deleteCoupon)
POST /promotion/coupon/getCoupon 在用开放/回调 #
(无摘要) · PromotionCouponController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#getCoupon
所属模块营销/优惠 promotion
暴露渠道开放/回调 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表memberpromotion_coupon
ControllerPromotionCouponController#getCoupon
转换BeanUtils.map → PromotionCouponResponse
ServiceMemberService#get (MemberServiceImpl)
MapperMemberMapper#selectById ⇒ 表 member
ServicePromotionCouponService#get (PromotionCouponServiceImpl)
MapperPromotionCouponMapper#selectById ⇒ 表 promotion_coupon

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/open-api/promotion/coupon/getCoupon
uathttps://dscp-uat.hn12301.net/open-api/promotion/coupon/getCoupon
prohttps://dscp-uat.hn12301.net/open-api/promotion/coupon/getCoupon (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponGetRequest
字段类型必填取值/校验表 / 列说明
idLongmember.idid
mobileStringmember.mobile
goodsIdLong
productScopeIntegerpromotion_coupon.product_scope
countInteger
idsSet<Long>
orderNumInteger商品数量
orderAmountInteger订单总金额
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8member.channel
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PromotionCouponResponse (object)
字段类型必填取值/校验表 / 列说明
idLongmember.idid
nicknameStringmember.nickname
mobileStringmember.mobile
createTimeDatepromotion_coupon.create_time
templateIdLongpromotion_coupon.template_id
nameStringmember.name
statusIntegermember.status
userIdLongpromotion_coupon.user_id
takeTypeIntegerpromotion_coupon.take_type
usePriceIntegerpromotion_coupon.use_price
validStartTimeDatepromotion_coupon.valid_start_time
validEndTimeDatepromotion_coupon.valid_end_time
productScopeIntegerpromotion_coupon.product_scope
productScopeValuesList<Long>promotion_coupon.product_scope_values
discountTypeIntegerpromotion_coupon.discount_type
discountPercentIntegerpromotion_coupon.discount_percent
discountPriceIntegerpromotion_coupon.discount_price
discountLimitPriceIntegerpromotion_coupon.discount_limit_price
useOrderIdLongpromotion_coupon.use_order_id
useTimeDatepromotion_coupon.use_time
matchBoolean是否匹配
mismatchReasonString不匹配的原因
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/coupon/getCoupon
{
  "body": {
    "id": 1,
    "mobile": "13800000000",
    "goodsId": 1,
    "productScope": 0,
    "count": 0,
    "ids": "",
    "orderNum": 0,
    "orderAmount": 0,
    "channel": "1"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "id": 1,
    "nickname": "",
    "mobile": "13800000000",
    "createTime": "2026-01-01 12:00:00",
    "templateId": 1,
    "name": "",
    "status": 0,
    "userId": 1,
    "takeType": 0,
    "usePrice": 0,
    "validStartTime": "2026-01-01 12:00:00",
    "validEndTime": "2026-01-01 12:00:00",
    "productScope": 0,
    "productScopeValues": "",
    "discountType": 0,
    "discountPercent": 0,
    "discountPrice": 0,
    "discountLimitPrice": 0,
    "useOrderId": 1,
    "useTime": "2026-01-01 12:00:00",
    "match": false,
    "mismatchReason": ""
  }
}
处理逻辑
逻辑摘要调用 isEmpty(StrUtil.isEmpty);调用 isEmpty(ObjUtil.isEmpty);查询详情(memberService.get);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • .getCoupon(userId, request.getId());
POST /promotion/coupon/getCouponByGoodsId 在用开放/回调 #
(无摘要) · PromotionCouponController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#getCouponByGoodsId
所属模块营销/优惠 promotion
暴露渠道开放/回调 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表membergoods
ControllerPromotionCouponController#getCouponByGoodsId
ServiceMemberService#get (MemberServiceImpl)
MapperMemberMapper#selectById ⇒ 表 member
ServiceGoodsService#get (GoodsServiceImpl)
MapperGoodsMapper#selectById ⇒ 表 goods
ServicePromotionCouponService#getCouponListByGoodsId (PromotionCouponServiceImpl)
转换BeanUtils.mapList → PromotionCouponResponse

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/open-api/promotion/coupon/getCouponByGoodsId
uathttps://dscp-uat.hn12301.net/open-api/promotion/coupon/getCouponByGoodsId
prohttps://dscp-uat.hn12301.net/open-api/promotion/coupon/getCouponByGoodsId (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponGetRequest
字段类型必填取值/校验表 / 列说明
idLongmember.idid
mobileStringmember.mobile
goodsIdLong
productScopeInteger
countInteger
idsSet<Long>
orderNumInteger商品数量
orderAmountInteger订单总金额
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8member.channel
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<PromotionCouponResponse> (list)
字段类型必填取值/校验表 / 列说明
[ ]array列表,元素结构见下
idLongmember.idid
nicknameStringmember.nickname
mobileStringmember.mobile
createTimeDate
templateIdLong
nameStringmember.name
statusIntegermember.status
userIdLong
takeTypeInteger
usePriceInteger
validStartTimeDate
validEndTimeDate
productScopeInteger
productScopeValuesList<Long>
discountTypeInteger
discountPercentInteger
discountPriceInteger
discountLimitPriceInteger
useOrderIdLong
useTimeDate
matchBoolean是否匹配
mismatchReasonString不匹配的原因
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/coupon/getCouponByGoodsId
{
  "body": {
    "id": 1,
    "mobile": "13800000000",
    "goodsId": 1,
    "productScope": 0,
    "count": 0,
    "ids": "",
    "orderNum": 0,
    "orderAmount": 0,
    "channel": "1"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": 1,
      "nickname": "",
      "mobile": "13800000000",
      "createTime": "2026-01-01 12:00:00",
      "templateId": 1,
      "name": "",
      "status": 0,
      "userId": 1,
      "takeType": 0,
      "usePrice": 0,
      "validStartTime": "2026-01-01 12:00:00",
      "validEndTime": "2026-01-01 12:00:00",
      "productScope": 0,
      "productScopeValues": "",
      "discountType": 0,
      "discountPercent": 0,
      "discountPrice": 0,
      "discountLimitPrice": 0,
      "useOrderId": 1,
      "useTime": "2026-01-01 12:00:00",
      "match": false,
      "mismatchReason": ""
    }
  ]
}
处理逻辑
逻辑摘要调用 isEmpty(StrUtil.isEmpty);调用 isEmpty(ObjUtil.isEmpty);查询详情(memberService.get)
内联注释
  • 获取商品信息
POST /promotion/coupon/getCouponPage 在用管理后台 #
优惠劵-分页查询 · PromotionCouponController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#getCouponPage
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表memberpromotion_coupon
ControllerPromotionCouponController#getCouponPage
MapperMemberService.getMapper#selectBatchIds ⇒ 表 member
ServicePromotionCouponService#getCouponPage (PromotionCouponServiceImpl)
MapperMemberService.getMapper#queryList ⇒ 表 member
MapperPromotionCouponMapper#selectPage ⇒ 表 promotion_coupon

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/coupon/getCouponPage
uathttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/getCouponPage
prohttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/getCouponPage (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponPageRequest
字段类型必填取值/校验表 / 列说明
pageNumInteger页码(继承自框架分页基类 AbstractPageRequest)
pageSizeInteger每页条数(继承自框架分页基类 AbstractPageRequest)
merchantIdLongpromotion_coupon.merchant_id所属商户id,关联merchant表id
shopIdLongpromotion_coupon.shop_id所属商铺id,关联shop表id
templateIdLongpromotion_coupon.template_id
statusIntegermember.status
createTimeRangeDate[]
nicknameStringmember.nickname
mobileStringmember.mobile
userIdsCollection<Long>
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PageInfo<PromotionCouponResponse> (page)
字段类型必填取值/校验表 / 列说明
list / recordsarray分页列表,元素结构见下
totallong总条数(PageInfo)
idLongmember.idid
nicknameStringmember.nickname
mobileStringmember.mobile
createTimeDatepromotion_coupon.create_time
templateIdLongpromotion_coupon.template_id
nameStringmember.name
statusIntegermember.status
userIdLongpromotion_coupon.user_id
takeTypeIntegerpromotion_coupon.take_type
usePriceIntegerpromotion_coupon.use_price
validStartTimeDatepromotion_coupon.valid_start_time
validEndTimeDatepromotion_coupon.valid_end_time
productScopeIntegerpromotion_coupon.product_scope
productScopeValuesList<Long>promotion_coupon.product_scope_values
discountTypeIntegerpromotion_coupon.discount_type
discountPercentIntegerpromotion_coupon.discount_percent
discountPriceIntegerpromotion_coupon.discount_price
discountLimitPriceIntegerpromotion_coupon.discount_limit_price
useOrderIdLongpromotion_coupon.use_order_id
useTimeDatepromotion_coupon.use_time
matchBoolean是否匹配
mismatchReasonString不匹配的原因
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/coupon/getCouponPage
{
  "body": {
    "pageNum": 0,
    "pageSize": 0,
    "merchantId": 1,
    "shopId": 1,
    "templateId": 1,
    "status": 0,
    "createTimeRange": "2026-01-01 12:00:00",
    "nickname": "",
    "mobile": "13800000000",
    "userIds": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "records": [
      {
        "id": 1,
        "nickname": "",
        "mobile": "13800000000",
        "createTime": "2026-01-01 12:00:00",
        "templateId": 1,
        "name": "",
        "status": 0,
        "userId": 1,
        "takeType": 0,
        "usePrice": 0,
        "validStartTime": "2026-01-01 12:00:00",
        "validEndTime": "2026-01-01 12:00:00",
        "productScope": 0,
        "productScopeValues": "",
        "discountType": 0,
        "discountPercent": 0,
        "discountPrice": 0,
        "discountLimitPrice": 0,
        "useOrderId": 1,
        "useTime": "2026-01-01 12:00:00",
        "match": false,
        "mismatchReason": ""
      }
    ],
    "total": 0
  }
}
处理逻辑
逻辑摘要分页查询(promotionCouponService.getCouponPage);调用 isEmpty(CollUtil.isEmpty);查询详情(memberService.getMapper);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • 读取用户信息,进行拼接
  • 新增:设置手机号
POST /promotion/coupon/getPromotionCoupon 在用管理后台 #
优惠劵-详情 · PromotionCouponController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#getPromotionCoupon
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon
ControllerPromotionCouponController#getPromotionCoupon
ServicePromotionCouponService#get (PromotionCouponServiceImpl)
MapperPromotionCouponMapper#selectById ⇒ 表 promotion_coupon

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/coupon/getPromotionCoupon
uathttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/getPromotionCoupon
prohttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/getPromotionCoupon (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body IdRequest
字段类型必填取值/校验表 / 列说明
idLong必填promotion_coupon.idid
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PromotionCouponResponse (object)
字段类型必填取值/校验表 / 列说明
idLongpromotion_coupon.idid
nicknameString
mobileString
createTimeDatepromotion_coupon.create_time
templateIdLongpromotion_coupon.template_id
nameStringpromotion_coupon.name
statusIntegerpromotion_coupon.status
userIdLongpromotion_coupon.user_id
takeTypeIntegerpromotion_coupon.take_type
usePriceIntegerpromotion_coupon.use_price
validStartTimeDatepromotion_coupon.valid_start_time
validEndTimeDatepromotion_coupon.valid_end_time
productScopeIntegerpromotion_coupon.product_scope
productScopeValuesList<Long>promotion_coupon.product_scope_values
discountTypeIntegerpromotion_coupon.discount_type
discountPercentIntegerpromotion_coupon.discount_percent
discountPriceIntegerpromotion_coupon.discount_price
discountLimitPriceIntegerpromotion_coupon.discount_limit_price
useOrderIdLongpromotion_coupon.use_order_id
useTimeDatepromotion_coupon.use_time
matchBoolean是否匹配
mismatchReasonString不匹配的原因
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/coupon/getPromotionCoupon
{
  "body": {
    "id": 1
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "id": 1,
    "nickname": "",
    "mobile": "13800000000",
    "createTime": "2026-01-01 12:00:00",
    "templateId": 1,
    "name": "",
    "status": 0,
    "userId": 1,
    "takeType": 0,
    "usePrice": 0,
    "validStartTime": "2026-01-01 12:00:00",
    "validEndTime": "2026-01-01 12:00:00",
    "productScope": 0,
    "productScopeValues": "",
    "discountType": 0,
    "discountPercent": 0,
    "discountPrice": 0,
    "discountLimitPrice": 0,
    "useOrderId": 1,
    "useTime": "2026-01-01 12:00:00",
    "match": false,
    "mismatchReason": ""
  }
}
处理逻辑
逻辑摘要查询详情(promotionCouponService.get);入参与返回值经 BeanUtils 做对象/分页映射
POST /promotion/coupon/queryPromotionCouponList 未使用管理后台 #
优惠劵-列表查询 · PromotionCouponController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#queryPromotionCouponList
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon
ControllerPromotionCouponController#queryPromotionCouponList
转换BeanUtils.map → PromotionCouponQuery
ServicePromotionCouponService#queryList (PromotionCouponServiceImpl)
MapperPromotionCouponMapper#selectList ⇒ 表 promotion_coupon

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/coupon/queryPromotionCouponList
uathttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/queryPromotionCouponList
prohttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/queryPromotionCouponList (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponListRequest
字段类型必填取值/校验表 / 列说明
keywordsString可选(@MvcOptional)关键字
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<PromotionCouponResponse> (list)
字段类型必填取值/校验表 / 列说明
[ ]array列表,元素结构见下
idLongpromotion_coupon.idid
nicknameString
mobileString
createTimeDatepromotion_coupon.create_time
templateIdLongpromotion_coupon.template_id
nameStringpromotion_coupon.name
statusIntegerpromotion_coupon.status
userIdLongpromotion_coupon.user_id
takeTypeIntegerpromotion_coupon.take_type
usePriceIntegerpromotion_coupon.use_price
validStartTimeDatepromotion_coupon.valid_start_time
validEndTimeDatepromotion_coupon.valid_end_time
productScopeIntegerpromotion_coupon.product_scope
productScopeValuesList<Long>promotion_coupon.product_scope_values
discountTypeIntegerpromotion_coupon.discount_type
discountPercentIntegerpromotion_coupon.discount_percent
discountPriceIntegerpromotion_coupon.discount_price
discountLimitPriceIntegerpromotion_coupon.discount_limit_price
useOrderIdLongpromotion_coupon.use_order_id
useTimeDatepromotion_coupon.use_time
matchBoolean是否匹配
mismatchReasonString不匹配的原因
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/coupon/queryPromotionCouponList
{
  "body": {
    "keywords": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": 1,
      "nickname": "",
      "mobile": "13800000000",
      "createTime": "2026-01-01 12:00:00",
      "templateId": 1,
      "name": "",
      "status": 0,
      "userId": 1,
      "takeType": 0,
      "usePrice": 0,
      "validStartTime": "2026-01-01 12:00:00",
      "validEndTime": "2026-01-01 12:00:00",
      "productScope": 0,
      "productScopeValues": "",
      "discountType": 0,
      "discountPercent": 0,
      "discountPrice": 0,
      "discountLimitPrice": 0,
      "useOrderId": 1,
      "useTime": "2026-01-01 12:00:00",
      "match": false,
      "mismatchReason": ""
    }
  ]
}
处理逻辑
逻辑摘要列表查询(promotionCouponService.queryList);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • 设置其他查询条件
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /promotion/coupon/queryPromotionCouponPage 未使用管理后台 #
优惠劵-分页查询 · PromotionCouponController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#queryPromotionCouponPage
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon
ControllerPromotionCouponController#queryPromotionCouponPage
转换BeanUtils.map → PromotionCouponQuery
ServicePromotionCouponService#queryPage (PromotionCouponServiceImpl)
MapperPromotionCouponMapper#selectPage ⇒ 表 promotion_coupon

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/coupon/queryPromotionCouponPage
uathttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/queryPromotionCouponPage
prohttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/queryPromotionCouponPage (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponPageRequest
字段类型必填取值/校验表 / 列说明
pageNumInteger页码(继承自框架分页基类 AbstractPageRequest)
pageSizeInteger每页条数(继承自框架分页基类 AbstractPageRequest)
merchantIdLongpromotion_coupon.merchant_id所属商户id,关联merchant表id
shopIdLongpromotion_coupon.shop_id所属商铺id,关联shop表id
templateIdLongpromotion_coupon.template_id
statusIntegerpromotion_coupon.status
createTimeRangeDate[]
nicknameString
mobileString
userIdsCollection<Long>
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PageInfo<PromotionCouponResponse> (page)
字段类型必填取值/校验表 / 列说明
list / recordsarray分页列表,元素结构见下
totallong总条数(PageInfo)
idLongpromotion_coupon.idid
nicknameString
mobileString
createTimeDatepromotion_coupon.create_time
templateIdLongpromotion_coupon.template_id
nameStringpromotion_coupon.name
statusIntegerpromotion_coupon.status
userIdLongpromotion_coupon.user_id
takeTypeIntegerpromotion_coupon.take_type
usePriceIntegerpromotion_coupon.use_price
validStartTimeDatepromotion_coupon.valid_start_time
validEndTimeDatepromotion_coupon.valid_end_time
productScopeIntegerpromotion_coupon.product_scope
productScopeValuesList<Long>promotion_coupon.product_scope_values
discountTypeIntegerpromotion_coupon.discount_type
discountPercentIntegerpromotion_coupon.discount_percent
discountPriceIntegerpromotion_coupon.discount_price
discountLimitPriceIntegerpromotion_coupon.discount_limit_price
useOrderIdLongpromotion_coupon.use_order_id
useTimeDatepromotion_coupon.use_time
matchBoolean是否匹配
mismatchReasonString不匹配的原因
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/coupon/queryPromotionCouponPage
{
  "body": {
    "pageNum": 0,
    "pageSize": 0,
    "merchantId": 1,
    "shopId": 1,
    "templateId": 1,
    "status": 0,
    "createTimeRange": "2026-01-01 12:00:00",
    "nickname": "",
    "mobile": "13800000000",
    "userIds": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "records": [
      {
        "id": 1,
        "nickname": "",
        "mobile": "13800000000",
        "createTime": "2026-01-01 12:00:00",
        "templateId": 1,
        "name": "",
        "status": 0,
        "userId": 1,
        "takeType": 0,
        "usePrice": 0,
        "validStartTime": "2026-01-01 12:00:00",
        "validEndTime": "2026-01-01 12:00:00",
        "productScope": 0,
        "productScopeValues": "",
        "discountType": 0,
        "discountPercent": 0,
        "discountPrice": 0,
        "discountLimitPrice": 0,
        "useOrderId": 1,
        "useTime": "2026-01-01 12:00:00",
        "match": false,
        "mismatchReason": ""
      }
    ],
    "total": 0
  }
}
处理逻辑
逻辑摘要分页查询(promotionCouponService.queryPage);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • 设置其他查询条件
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /promotion/coupon/send 在用管理后台 #
优惠劵-发送 · PromotionCouponController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#send
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表(未解析到业务表:可能为纯校验/转发/缓存/外部接口)
ControllerPromotionCouponController#send
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
PromotionCouponService.takeCouponByAdmin

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/coupon/send
uathttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/send
prohttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/send (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponSendRequest
字段类型必填取值/校验表 / 列说明
templateIdLong必填
userIdsSet<Long>必填
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/coupon/send
{
  "body": {
    "templateId": 1,
    "userIds": ""
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 发送优惠券
逻辑摘要调用 takeCouponByAdmin(promotionCouponService.takeCouponByAdmin)
POST /promotion/coupon/take 在用开放/回调 #
优惠劵-领取 · PromotionCouponController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#takeCoupon
所属模块营销/优惠 promotion
暴露渠道开放/回调 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表memberpromotion_coupon_templatepromotion_coupon
ControllerPromotionCouponController#takeCoupon
ServiceMemberService#get (MemberServiceImpl)
MapperMemberMapper#selectById ⇒ 表 member
ServicePromotionCouponService#takeCoupon (PromotionCouponServiceImpl)
ServicePromotionCouponTemplateService#get (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#selectById ⇒ 表 promotion_coupon_template
MapperPromotionCouponMapper#add ⇒ 表 promotion_coupon
ServicePromotionCouponTemplateService#updateCouponTemplateTakeCount (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#updateTakeCount ⇒ 表 promotion_coupon_template
ServicePromotionCouponTemplateService#get (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#selectById ⇒ 表 promotion_coupon_template
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
PromotionCouponService.getTakeCount

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/open-api/promotion/coupon/take
uathttps://dscp-uat.hn12301.net/open-api/promotion/coupon/take
prohttps://dscp-uat.hn12301.net/open-api/promotion/coupon/take (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponTakeRequest
字段类型必填取值/校验表 / 列说明
templateIdLongpromotion_coupon.template_id
mobileStringmember.mobile
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8member.channel
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 Boolean (scalar)

标量/Map/外部类型:Boolean

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/coupon/take
{
  "body": {
    "templateId": 1,
    "mobile": "13800000000",
    "channel": "1"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": false
}
处理逻辑
操作日志promotion / 领取优惠券
逻辑摘要调用 isEmpty(StrUtil.isEmpty);调用 isEmpty(ObjUtil.isEmpty);查询详情(memberService.get)
内联注释
  • 1. 领取优惠劵
  • 2. 检查是否可以继续领取
POST /promotion/coupon/updatePromotionCoupon 未使用管理后台 #
优惠劵-更新 · PromotionCouponController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponController#updatePromotionCoupon
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon
ControllerPromotionCouponController#updatePromotionCoupon
转换BeanUtils.map → PromotionCoupon ⇒ 表 promotion_coupon
ServicePromotionCouponService#update (PromotionCouponServiceImpl)
MapperPromotionCouponMapper#updateById ⇒ 表 promotion_coupon

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/coupon/updatePromotionCoupon
uathttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/updatePromotionCoupon
prohttps://dscp-uat.hn12301.net/manage-api/promotion/coupon/updatePromotionCoupon (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponUpdateRequest
字段类型必填取值/校验表 / 列说明
idLongpromotion_coupon.idid
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/coupon/updatePromotionCoupon
{
  "body": {
    "id": 1
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 更新优惠券
逻辑摘要更新(promotionCouponService.update);入参与返回值经 BeanUtils 做对象/分页映射
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

PromotionCouponTemplateController 9/10 在用

POST /promotion/couponTemplate/addPromotionCouponTemplate 在用管理后台 #
优惠劵模板-新增 · PromotionCouponTemplateController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponTemplateController#addPromotionCouponTemplate
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon_templategoodshotel_info
ControllerPromotionCouponTemplateController#addPromotionCouponTemplate
ServicePromotionCouponTemplateService#addPromotionCouponTemplate (PromotionCouponTemplateServiceImpl)
转换BeanUtils.map → PromotionCouponTemplate ⇒ 表 promotion_coupon_template
ServiceGoodsService#validateGoodsList (GoodsServiceImpl)
MapperGoodsMapper#selectBatchIds ⇒ 表 goods
ServiceHotelInfoService#validateHotelsList (HotelInfoServiceImpl)
MapperHotelInfoMapper#selectBatchIds ⇒ 表 hotel_info
MapperPromotionCouponTemplateMapper#add ⇒ 表 promotion_coupon_template
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
SessionUserService.getSessionId

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/couponTemplate/addPromotionCouponTemplate
uathttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/addPromotionCouponTemplate
prohttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/addPromotionCouponTemplate (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponTemplateAddRequest
字段类型必填取值/校验表 / 列说明
merchantIdLongpromotion_coupon_template.merchant_id所属商户id,关联merchant表id
shopIdLongpromotion_coupon_template.shop_id所属商铺id
couponTypeIntegerpromotion_coupon_template.coupon_type优惠券种类
nameStringpromotion_coupon_template.name优惠劵名
descriptionStringpromotion_coupon_template.description优惠劵描述
statusIntegerpromotion_coupon_template.status状态
totalCountIntegerpromotion_coupon_template.total_count发放数量, -1 - 则表示不限制
takeLimitCountIntegerpromotion_coupon_template.take_limit_count每人限领个数, -1 - 则表示不限制
takeTypeIntegerpromotion_coupon_template.take_type领取方式
usePriceIntegerpromotion_coupon_template.use_price是否设置满多少金额可用,单位:分
productScopeIntegerpromotion_coupon_template.product_scope商品范围
productScopeValuesList<Long>promotion_coupon_template.product_scope_values商品范围编号的数组
validityTypeIntegerpromotion_coupon_template.validity_type生效日期类型
validStartTimeDatepromotion_coupon_template.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_coupon_template.valid_end_time固定日期-生效结束时间
fixedStartTermIntegerpromotion_coupon_template.fixed_start_term领取日期-开始天数
fixedEndTermIntegerpromotion_coupon_template.fixed_end_term领取日期-结束天数
discountTypeIntegerpromotion_coupon_template.discount_type优惠类型:1-代金卷;2-折扣卷
discountPercentIntegerpromotion_coupon_template.discount_percent折扣百分比
discountPriceIntegerpromotion_coupon_template.discount_price优惠金额,单位:分
discountLimitPriceIntegerpromotion_coupon_template.discount_limit_price折扣上限,仅在 discount_type 等于 2 时生效
takeCountIntegerpromotion_coupon_template.take_count领取优惠券的数量
useCountIntegerpromotion_coupon_template.use_count使用优惠券的次数
creatorLongpromotion_coupon_template.creator创建者
createTimeDatepromotion_coupon_template.create_time创建时间
updaterLongpromotion_coupon_template.updater更新者
updateTimeDatepromotion_coupon_template.update_time更新时间
deletedBooleanpromotion_coupon_template.deleted是否删除
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/couponTemplate/addPromotionCouponTemplate
{
  "body": {
    "merchantId": 1,
    "shopId": 1,
    "couponType": 0,
    "name": "",
    "description": "",
    "status": 0,
    "totalCount": 0,
    "takeLimitCount": 0,
    "takeType": 0,
    "usePrice": 0,
    "productScope": 0,
    "productScopeValues": "",
    "validityType": 1,
    "validStartTime": "2026-01-01 12:00:00",
    "validEndTime": "2026-01-01 12:00:00",
    "fixedStartTerm": 0,
    "fixedEndTerm": 0,
    "discountType": 0,
    "discountPercent": 0,
    "discountPrice": 0,
    "discountLimitPrice": 0,
    "takeCount": 0,
    "useCount": 0,
    "creator": 0,
    "createTime": "2026-01-01 12:00:00",
    "updater": 0,
    "updateTime": "2026-01-01 12:00:00",
    "deleted": false
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 新增优惠券模板
逻辑摘要新增(promotionCouponTemplateService.addPromotionCouponTemplate)
POST /promotion/couponTemplate/deletePromotionCouponTemplate 在用管理后台 #
优惠劵模板-删除 · PromotionCouponTemplateController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponTemplateController#deletePromotionCouponTemplate
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon_template
ControllerPromotionCouponTemplateController#deletePromotionCouponTemplate
ServicePromotionCouponTemplateService#delete (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#deleteById ⇒ 表 promotion_coupon_template

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/couponTemplate/deletePromotionCouponTemplate
uathttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/deletePromotionCouponTemplate
prohttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/deletePromotionCouponTemplate (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body IdRequest
字段类型必填取值/校验表 / 列说明
idLong必填promotion_coupon_template.idid
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/couponTemplate/deletePromotionCouponTemplate
{
  "body": {
    "id": 1
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 删除优惠券模板
逻辑摘要删除(promotionCouponTemplateService.delete);调用 builder(PromotionCouponTemplate.builder)
POST /promotion/couponTemplate/getCouponTemplate 在用开放/回调 #
优惠劵模板详情 · PromotionCouponTemplateController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponTemplateController#getCouponTemplate
所属模块营销/优惠 promotion
暴露渠道开放/回调 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon_templatememberpromotion_coupon
ControllerPromotionCouponTemplateController#getCouponTemplate
转换BeanUtils.map → PromotionCouponTemplateResponse
ServicePromotionCouponTemplateService#get (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#selectById ⇒ 表 promotion_coupon_template
ServicePromotionCouponService#getUserCanCanTakeMap (PromotionCouponServiceImpl)
ServiceMemberService#get (MemberServiceImpl)
MapperMemberMapper#selectById ⇒ 表 member
MapperPromotionCouponMapper#selectCountByUserIdAndTemplateIdIn ⇒ 表 promotion_coupon
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
PromotionCouponServiceImpl.getTakeCountMapByTemplateIds

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/open-api/promotion/couponTemplate/getCouponTemplate
uathttps://dscp-uat.hn12301.net/open-api/promotion/couponTemplate/getCouponTemplate
prohttps://dscp-uat.hn12301.net/open-api/promotion/couponTemplate/getCouponTemplate (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponTemplateGetRequest
字段类型必填取值/校验表 / 列说明
idLongpromotion_coupon_template.idid
mobileStringmember.mobile
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8member.channel
goodsIdLong
productScopeIntegerpromotion_coupon_template.product_scope
countInteger
idsSet<Long>
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PromotionCouponTemplateResponse (object)
字段类型必填取值/校验表 / 列说明
idLongpromotion_coupon_template.id
merchantIdLongpromotion_coupon_template.merchant_id所属商户id,关联merchant表id
shopIdLongpromotion_coupon_template.shop_id所属商铺id
couponTypeIntegerpromotion_coupon_template.coupon_type优惠券种类
nameStringpromotion_coupon_template.name优惠劵名
descriptionStringpromotion_coupon_template.description优惠劵描述
statusIntegerpromotion_coupon_template.status状态
totalCountIntegerpromotion_coupon_template.total_count发放数量, -1 - 则表示不限制
takeLimitCountIntegerpromotion_coupon_template.take_limit_count每人限领个数, -1 - 则表示不限制
takeTypeIntegerpromotion_coupon_template.take_type领取方式
usePriceIntegerpromotion_coupon_template.use_price是否设置满多少金额可用,单位:分
productScopeIntegerpromotion_coupon_template.product_scope商品范围
productScopeValuesList<Long>promotion_coupon_template.product_scope_values商品范围编号的数组
validityTypeIntegerpromotion_coupon_template.validity_type生效日期类型
validStartTimeDatepromotion_coupon_template.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_coupon_template.valid_end_time固定日期-生效结束时间
fixedStartTermIntegerpromotion_coupon_template.fixed_start_term领取日期-开始天数
fixedEndTermIntegerpromotion_coupon_template.fixed_end_term领取日期-结束天数
discountTypeIntegerpromotion_coupon_template.discount_type优惠类型:1-代金卷;2-折扣卷
discountPercentIntegerpromotion_coupon_template.discount_percent折扣百分比
discountPriceIntegerpromotion_coupon_template.discount_price优惠金额,单位:分
discountLimitPriceIntegerpromotion_coupon_template.discount_limit_price折扣上限,仅在 discount_type 等于 2 时生效
takeCountIntegerpromotion_coupon_template.take_count领取优惠券的数量
useCountIntegerpromotion_coupon_template.use_count使用优惠券的次数
creatorLongpromotion_coupon_template.creator创建者
createTimeDatepromotion_coupon_template.create_time创建时间
updaterLongpromotion_coupon_template.updater更新者
updateTimeDatepromotion_coupon_template.update_time更新时间
deletedBooleanpromotion_coupon_template.deleted是否删除
canTakeBoolean
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/couponTemplate/getCouponTemplate
{
  "body": {
    "id": 1,
    "mobile": "13800000000",
    "channel": "1",
    "goodsId": 1,
    "productScope": 0,
    "count": 0,
    "ids": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "id": 1,
    "merchantId": 1,
    "shopId": 1,
    "couponType": 0,
    "name": "",
    "description": "",
    "status": 0,
    "totalCount": 0,
    "takeLimitCount": 0,
    "takeType": 0,
    "usePrice": 0,
    "productScope": 0,
    "productScopeValues": "",
    "validityType": 1,
    "validStartTime": "2026-01-01 12:00:00",
    "validEndTime": "2026-01-01 12:00:00",
    "fixedStartTerm": 0,
    "fixedEndTerm": 0,
    "discountType": 0,
    "discountPercent": 0,
    "discountPrice": 0,
    "discountLimitPrice": 0,
    "takeCount": 0,
    "useCount": 0,
    "creator": 0,
    "createTime": "2026-01-01 12:00:00",
    "updater": 0,
    "updateTime": "2026-01-01 12:00:00",
    "deleted": false,
    "canTake": false
  }
}
处理逻辑
逻辑摘要查询详情(promotionCouponTemplateService.get);查询详情(promotionCouponService.getUserCanCanTakeMap);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • 处理是否可领取
POST /promotion/couponTemplate/getCouponTemplateList 在用开放/回调 #
优惠劵模板列表 · PromotionCouponTemplateController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponTemplateController#getCouponTemplateList
所属模块营销/优惠 promotion
暴露渠道开放/回调 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon_templatememberpromotion_coupon
ControllerPromotionCouponTemplateController#getCouponTemplateList
转换BeanUtils.mapList → PromotionCouponTemplateResponse
ServicePromotionCouponTemplateService#getCouponTemplateList (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#selectList ⇒ 表 promotion_coupon_template
ServicePromotionCouponService#getUserCanCanTakeMap (PromotionCouponServiceImpl)
ServiceMemberService#get (MemberServiceImpl)
MapperMemberMapper#selectById ⇒ 表 member
MapperPromotionCouponMapper#selectCountByUserIdAndTemplateIdIn ⇒ 表 promotion_coupon
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
PromotionCouponServiceImpl.getTakeCountMapByTemplateIds

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/open-api/promotion/couponTemplate/getCouponTemplateList
uathttps://dscp-uat.hn12301.net/open-api/promotion/couponTemplate/getCouponTemplateList
prohttps://dscp-uat.hn12301.net/open-api/promotion/couponTemplate/getCouponTemplateList (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponTemplateGetRequest
字段类型必填取值/校验表 / 列说明
idLongpromotion_coupon_template.idid
mobileStringmember.mobile
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8member.channel
goodsIdLong
productScopeIntegerpromotion_coupon_template.product_scope
countInteger
idsSet<Long>
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<PromotionCouponTemplateResponse> (list)
字段类型必填取值/校验表 / 列说明
[ ]array列表,元素结构见下
idLongpromotion_coupon_template.id
merchantIdLongpromotion_coupon_template.merchant_id所属商户id,关联merchant表id
shopIdLongpromotion_coupon_template.shop_id所属商铺id
couponTypeIntegerpromotion_coupon_template.coupon_type优惠券种类
nameStringpromotion_coupon_template.name优惠劵名
descriptionStringpromotion_coupon_template.description优惠劵描述
statusIntegerpromotion_coupon_template.status状态
totalCountIntegerpromotion_coupon_template.total_count发放数量, -1 - 则表示不限制
takeLimitCountIntegerpromotion_coupon_template.take_limit_count每人限领个数, -1 - 则表示不限制
takeTypeIntegerpromotion_coupon_template.take_type领取方式
usePriceIntegerpromotion_coupon_template.use_price是否设置满多少金额可用,单位:分
productScopeIntegerpromotion_coupon_template.product_scope商品范围
productScopeValuesList<Long>promotion_coupon_template.product_scope_values商品范围编号的数组
validityTypeIntegerpromotion_coupon_template.validity_type生效日期类型
validStartTimeDatepromotion_coupon_template.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_coupon_template.valid_end_time固定日期-生效结束时间
fixedStartTermIntegerpromotion_coupon_template.fixed_start_term领取日期-开始天数
fixedEndTermIntegerpromotion_coupon_template.fixed_end_term领取日期-结束天数
discountTypeIntegerpromotion_coupon_template.discount_type优惠类型:1-代金卷;2-折扣卷
discountPercentIntegerpromotion_coupon_template.discount_percent折扣百分比
discountPriceIntegerpromotion_coupon_template.discount_price优惠金额,单位:分
discountLimitPriceIntegerpromotion_coupon_template.discount_limit_price折扣上限,仅在 discount_type 等于 2 时生效
takeCountIntegerpromotion_coupon_template.take_count领取优惠券的数量
useCountIntegerpromotion_coupon_template.use_count使用优惠券的次数
creatorLongpromotion_coupon_template.creator创建者
createTimeDatepromotion_coupon_template.create_time创建时间
updaterLongpromotion_coupon_template.updater更新者
updateTimeDatepromotion_coupon_template.update_time更新时间
deletedBooleanpromotion_coupon_template.deleted是否删除
canTakeBoolean
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/couponTemplate/getCouponTemplateList
{
  "body": {
    "id": 1,
    "mobile": "13800000000",
    "channel": "1",
    "goodsId": 1,
    "productScope": 0,
    "count": 0,
    "ids": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": 1,
      "merchantId": 1,
      "shopId": 1,
      "couponType": 0,
      "name": "",
      "description": "",
      "status": 0,
      "totalCount": 0,
      "takeLimitCount": 0,
      "takeType": 0,
      "usePrice": 0,
      "productScope": 0,
      "productScopeValues": "",
      "validityType": 1,
      "validStartTime": "2026-01-01 12:00:00",
      "validEndTime": "2026-01-01 12:00:00",
      "fixedStartTerm": 0,
      "fixedEndTerm": 0,
      "discountType": 0,
      "discountPercent": 0,
      "discountPrice": 0,
      "discountLimitPrice": 0,
      "takeCount": 0,
      "useCount": 0,
      "creator": 0,
      "createTime": "2026-01-01 12:00:00",
      "updater": 0,
      "updateTime": "2026-01-01 12:00:00",
      "deleted": false,
      "canTake": false
    }
  ]
}
处理逻辑
逻辑摘要列表查询(promotionCouponTemplateService.getCouponTemplateList);查询详情(promotionCouponService.getUserCanCanTakeMap);查询详情(MapUtil.getBool);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • 1.1 处理查询条件:商品范围编号
  • 1.2 处理查询条件:领取方式 = 直接领取
  • 2. 查询
  • 3.1 领取数量
  • 3.2 拼接返回
  • 检查已领取数量是否超过限领数量
POST /promotion/couponTemplate/getCouponTemplatePage 在用管理后台 #
优惠劵模板-分页查询 · PromotionCouponTemplateController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponTemplateController#getCouponTemplatePage
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon_template
ControllerPromotionCouponTemplateController#getCouponTemplatePage
ServicePromotionCouponTemplateService#getCouponTemplatePage (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#selectPage ⇒ 表 promotion_coupon_template

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/couponTemplate/getCouponTemplatePage
uathttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/getCouponTemplatePage
prohttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/getCouponTemplatePage (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponTemplatePageRequest
字段类型必填取值/校验表 / 列说明
pageNumInteger页码(继承自框架分页基类 AbstractPageRequest)
pageSizeInteger每页条数(继承自框架分页基类 AbstractPageRequest)
merchantIdLongpromotion_coupon_template.merchant_id所属商户id,关联merchant表id
shopIdLongpromotion_coupon_template.shop_id所属商铺id,关联shop表id
couponTypeIntegerpromotion_coupon_template.coupon_type
nameStringpromotion_coupon_template.name
statusIntegerpromotion_coupon_template.status
discountTypeIntegerpromotion_coupon_template.discount_type
createTimeRangeDate[]
canTakeTypesList<Integer>
productScopeIntegerpromotion_coupon_template.product_scope
productScopeValueLong
goodsIdLong
mobileString
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PageInfo<PromotionCouponTemplateResponse> (page)
字段类型必填取值/校验表 / 列说明
list / recordsarray分页列表,元素结构见下
totallong总条数(PageInfo)
idLongpromotion_coupon_template.id
merchantIdLongpromotion_coupon_template.merchant_id所属商户id,关联merchant表id
shopIdLongpromotion_coupon_template.shop_id所属商铺id
couponTypeIntegerpromotion_coupon_template.coupon_type优惠券种类
nameStringpromotion_coupon_template.name优惠劵名
descriptionStringpromotion_coupon_template.description优惠劵描述
statusIntegerpromotion_coupon_template.status状态
totalCountIntegerpromotion_coupon_template.total_count发放数量, -1 - 则表示不限制
takeLimitCountIntegerpromotion_coupon_template.take_limit_count每人限领个数, -1 - 则表示不限制
takeTypeIntegerpromotion_coupon_template.take_type领取方式
usePriceIntegerpromotion_coupon_template.use_price是否设置满多少金额可用,单位:分
productScopeIntegerpromotion_coupon_template.product_scope商品范围
productScopeValuesList<Long>promotion_coupon_template.product_scope_values商品范围编号的数组
validityTypeIntegerpromotion_coupon_template.validity_type生效日期类型
validStartTimeDatepromotion_coupon_template.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_coupon_template.valid_end_time固定日期-生效结束时间
fixedStartTermIntegerpromotion_coupon_template.fixed_start_term领取日期-开始天数
fixedEndTermIntegerpromotion_coupon_template.fixed_end_term领取日期-结束天数
discountTypeIntegerpromotion_coupon_template.discount_type优惠类型:1-代金卷;2-折扣卷
discountPercentIntegerpromotion_coupon_template.discount_percent折扣百分比
discountPriceIntegerpromotion_coupon_template.discount_price优惠金额,单位:分
discountLimitPriceIntegerpromotion_coupon_template.discount_limit_price折扣上限,仅在 discount_type 等于 2 时生效
takeCountIntegerpromotion_coupon_template.take_count领取优惠券的数量
useCountIntegerpromotion_coupon_template.use_count使用优惠券的次数
creatorLongpromotion_coupon_template.creator创建者
createTimeDatepromotion_coupon_template.create_time创建时间
updaterLongpromotion_coupon_template.updater更新者
updateTimeDatepromotion_coupon_template.update_time更新时间
deletedBooleanpromotion_coupon_template.deleted是否删除
canTakeBoolean
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/couponTemplate/getCouponTemplatePage
{
  "body": {
    "pageNum": 0,
    "pageSize": 0,
    "merchantId": 1,
    "shopId": 1,
    "couponType": 0,
    "name": "",
    "status": 0,
    "discountType": 0,
    "createTimeRange": "2026-01-01 12:00:00",
    "canTakeTypes": "",
    "productScope": 0,
    "productScopeValue": 0,
    "goodsId": 1,
    "mobile": "13800000000",
    "channel": "1"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "records": [
      {
        "id": 1,
        "merchantId": 1,
        "shopId": 1,
        "couponType": 0,
        "name": "",
        "description": "",
        "status": 0,
        "totalCount": 0,
        "takeLimitCount": 0,
        "takeType": 0,
        "usePrice": 0,
        "productScope": 0,
        "productScopeValues": "",
        "validityType": 1,
        "validStartTime": "2026-01-01 12:00:00",
        "validEndTime": "2026-01-01 12:00:00",
        "fixedStartTerm": 0,
        "fixedEndTerm": 0,
        "discountType": 0,
        "discountPercent": 0,
        "discountPrice": 0,
        "discountLimitPrice": 0,
        "takeCount": 0,
        "useCount": 0,
        "creator": 0,
        "createTime": "2026-01-01 12:00:00",
        "updater": 0,
        "updateTime": "2026-01-01 12:00:00",
        "deleted": false,
        "canTake": false
      }
    ],
    "total": 0
  }
}
处理逻辑
逻辑摘要分页查询(promotionCouponTemplateService.getCouponTemplatePage);入参与返回值经 BeanUtils 做对象/分页映射
POST /promotion/couponTemplate/getPromotionCouponTemplate 在用管理后台 #
优惠劵模板-详情 · PromotionCouponTemplateController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponTemplateController#getPromotionCouponTemplate
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon_template
ControllerPromotionCouponTemplateController#getPromotionCouponTemplate
ServicePromotionCouponTemplateService#get (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#selectById ⇒ 表 promotion_coupon_template

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/couponTemplate/getPromotionCouponTemplate
uathttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/getPromotionCouponTemplate
prohttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/getPromotionCouponTemplate (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body IdRequest
字段类型必填取值/校验表 / 列说明
idLong必填promotion_coupon_template.idid
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PromotionCouponTemplateResponse (object)
字段类型必填取值/校验表 / 列说明
idLongpromotion_coupon_template.id
merchantIdLongpromotion_coupon_template.merchant_id所属商户id,关联merchant表id
shopIdLongpromotion_coupon_template.shop_id所属商铺id
couponTypeIntegerpromotion_coupon_template.coupon_type优惠券种类
nameStringpromotion_coupon_template.name优惠劵名
descriptionStringpromotion_coupon_template.description优惠劵描述
statusIntegerpromotion_coupon_template.status状态
totalCountIntegerpromotion_coupon_template.total_count发放数量, -1 - 则表示不限制
takeLimitCountIntegerpromotion_coupon_template.take_limit_count每人限领个数, -1 - 则表示不限制
takeTypeIntegerpromotion_coupon_template.take_type领取方式
usePriceIntegerpromotion_coupon_template.use_price是否设置满多少金额可用,单位:分
productScopeIntegerpromotion_coupon_template.product_scope商品范围
productScopeValuesList<Long>promotion_coupon_template.product_scope_values商品范围编号的数组
validityTypeIntegerpromotion_coupon_template.validity_type生效日期类型
validStartTimeDatepromotion_coupon_template.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_coupon_template.valid_end_time固定日期-生效结束时间
fixedStartTermIntegerpromotion_coupon_template.fixed_start_term领取日期-开始天数
fixedEndTermIntegerpromotion_coupon_template.fixed_end_term领取日期-结束天数
discountTypeIntegerpromotion_coupon_template.discount_type优惠类型:1-代金卷;2-折扣卷
discountPercentIntegerpromotion_coupon_template.discount_percent折扣百分比
discountPriceIntegerpromotion_coupon_template.discount_price优惠金额,单位:分
discountLimitPriceIntegerpromotion_coupon_template.discount_limit_price折扣上限,仅在 discount_type 等于 2 时生效
takeCountIntegerpromotion_coupon_template.take_count领取优惠券的数量
useCountIntegerpromotion_coupon_template.use_count使用优惠券的次数
creatorLongpromotion_coupon_template.creator创建者
createTimeDatepromotion_coupon_template.create_time创建时间
updaterLongpromotion_coupon_template.updater更新者
updateTimeDatepromotion_coupon_template.update_time更新时间
deletedBooleanpromotion_coupon_template.deleted是否删除
canTakeBoolean
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/couponTemplate/getPromotionCouponTemplate
{
  "body": {
    "id": 1
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "id": 1,
    "merchantId": 1,
    "shopId": 1,
    "couponType": 0,
    "name": "",
    "description": "",
    "status": 0,
    "totalCount": 0,
    "takeLimitCount": 0,
    "takeType": 0,
    "usePrice": 0,
    "productScope": 0,
    "productScopeValues": "",
    "validityType": 1,
    "validStartTime": "2026-01-01 12:00:00",
    "validEndTime": "2026-01-01 12:00:00",
    "fixedStartTerm": 0,
    "fixedEndTerm": 0,
    "discountType": 0,
    "discountPercent": 0,
    "discountPrice": 0,
    "discountLimitPrice": 0,
    "takeCount": 0,
    "useCount": 0,
    "creator": 0,
    "createTime": "2026-01-01 12:00:00",
    "updater": 0,
    "updateTime": "2026-01-01 12:00:00",
    "deleted": false,
    "canTake": false
  }
}
处理逻辑
逻辑摘要查询详情(promotionCouponTemplateService.get);入参与返回值经 BeanUtils 做对象/分页映射
POST /promotion/couponTemplate/queryPromotionCouponTemplateList 未使用管理后台 #
优惠劵模板-列表查询 · PromotionCouponTemplateController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponTemplateController#queryPromotionCouponTemplateList
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon_template
ControllerPromotionCouponTemplateController#queryPromotionCouponTemplateList
转换BeanUtils.map → PromotionCouponTemplateQuery
ServicePromotionCouponTemplateService#queryList (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#selectList ⇒ 表 promotion_coupon_template

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/couponTemplate/queryPromotionCouponTemplateList
uathttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/queryPromotionCouponTemplateList
prohttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/queryPromotionCouponTemplateList (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponTemplateListRequest
字段类型必填取值/校验表 / 列说明
keywordsString可选(@MvcOptional)关键字
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 List<PromotionCouponTemplateResponse> (list)
字段类型必填取值/校验表 / 列说明
[ ]array列表,元素结构见下
idLongpromotion_coupon_template.id
merchantIdLongpromotion_coupon_template.merchant_id所属商户id,关联merchant表id
shopIdLongpromotion_coupon_template.shop_id所属商铺id
couponTypeIntegerpromotion_coupon_template.coupon_type优惠券种类
nameStringpromotion_coupon_template.name优惠劵名
descriptionStringpromotion_coupon_template.description优惠劵描述
statusIntegerpromotion_coupon_template.status状态
totalCountIntegerpromotion_coupon_template.total_count发放数量, -1 - 则表示不限制
takeLimitCountIntegerpromotion_coupon_template.take_limit_count每人限领个数, -1 - 则表示不限制
takeTypeIntegerpromotion_coupon_template.take_type领取方式
usePriceIntegerpromotion_coupon_template.use_price是否设置满多少金额可用,单位:分
productScopeIntegerpromotion_coupon_template.product_scope商品范围
productScopeValuesList<Long>promotion_coupon_template.product_scope_values商品范围编号的数组
validityTypeIntegerpromotion_coupon_template.validity_type生效日期类型
validStartTimeDatepromotion_coupon_template.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_coupon_template.valid_end_time固定日期-生效结束时间
fixedStartTermIntegerpromotion_coupon_template.fixed_start_term领取日期-开始天数
fixedEndTermIntegerpromotion_coupon_template.fixed_end_term领取日期-结束天数
discountTypeIntegerpromotion_coupon_template.discount_type优惠类型:1-代金卷;2-折扣卷
discountPercentIntegerpromotion_coupon_template.discount_percent折扣百分比
discountPriceIntegerpromotion_coupon_template.discount_price优惠金额,单位:分
discountLimitPriceIntegerpromotion_coupon_template.discount_limit_price折扣上限,仅在 discount_type 等于 2 时生效
takeCountIntegerpromotion_coupon_template.take_count领取优惠券的数量
useCountIntegerpromotion_coupon_template.use_count使用优惠券的次数
creatorLongpromotion_coupon_template.creator创建者
createTimeDatepromotion_coupon_template.create_time创建时间
updaterLongpromotion_coupon_template.updater更新者
updateTimeDatepromotion_coupon_template.update_time更新时间
deletedBooleanpromotion_coupon_template.deleted是否删除
canTakeBoolean
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/couponTemplate/queryPromotionCouponTemplateList
{
  "body": {
    "keywords": ""
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": [
    {
      "id": 1,
      "merchantId": 1,
      "shopId": 1,
      "couponType": 0,
      "name": "",
      "description": "",
      "status": 0,
      "totalCount": 0,
      "takeLimitCount": 0,
      "takeType": 0,
      "usePrice": 0,
      "productScope": 0,
      "productScopeValues": "",
      "validityType": 1,
      "validStartTime": "2026-01-01 12:00:00",
      "validEndTime": "2026-01-01 12:00:00",
      "fixedStartTerm": 0,
      "fixedEndTerm": 0,
      "discountType": 0,
      "discountPercent": 0,
      "discountPrice": 0,
      "discountLimitPrice": 0,
      "takeCount": 0,
      "useCount": 0,
      "creator": 0,
      "createTime": "2026-01-01 12:00:00",
      "updater": 0,
      "updateTime": "2026-01-01 12:00:00",
      "deleted": false,
      "canTake": false
    }
  ]
}
处理逻辑
逻辑摘要列表查询(promotionCouponTemplateService.queryList);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • 设置其他查询条件
前端调用方

源码扫描未发现 7 个前端对该接口的调用(可能为开放回调/内部/未上线/管理端动态调用)

POST /promotion/couponTemplate/queryPromotionCouponTemplatePage 在用管理后台 #
优惠劵模板-分页查询 · PromotionCouponTemplateController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponTemplateController#queryPromotionCouponTemplatePage
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon_template
ControllerPromotionCouponTemplateController#queryPromotionCouponTemplatePage
转换BeanUtils.map → PromotionCouponTemplateQuery
ServicePromotionCouponTemplateService#queryPage (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#selectPage ⇒ 表 promotion_coupon_template

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/couponTemplate/queryPromotionCouponTemplatePage
uathttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/queryPromotionCouponTemplatePage
prohttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/queryPromotionCouponTemplatePage (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponTemplatePageRequest
字段类型必填取值/校验表 / 列说明
pageNumInteger页码(继承自框架分页基类 AbstractPageRequest)
pageSizeInteger每页条数(继承自框架分页基类 AbstractPageRequest)
merchantIdLongpromotion_coupon_template.merchant_id所属商户id,关联merchant表id
shopIdLongpromotion_coupon_template.shop_id所属商铺id,关联shop表id
couponTypeIntegerpromotion_coupon_template.coupon_type
nameStringpromotion_coupon_template.name
statusIntegerpromotion_coupon_template.status
discountTypeIntegerpromotion_coupon_template.discount_type
createTimeRangeDate[]
canTakeTypesList<Integer>
productScopeIntegerpromotion_coupon_template.product_scope
productScopeValueLong
goodsIdLong
mobileString
channelChannelType1北京卡管理系统2三省卡系统3数字平台4质惠游5支付宝6兴业银行7湘工惠8湘约码+8
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构 PageInfo<PromotionCouponTemplateResponse> (page)
字段类型必填取值/校验表 / 列说明
list / recordsarray分页列表,元素结构见下
totallong总条数(PageInfo)
idLongpromotion_coupon_template.id
merchantIdLongpromotion_coupon_template.merchant_id所属商户id,关联merchant表id
shopIdLongpromotion_coupon_template.shop_id所属商铺id
couponTypeIntegerpromotion_coupon_template.coupon_type优惠券种类
nameStringpromotion_coupon_template.name优惠劵名
descriptionStringpromotion_coupon_template.description优惠劵描述
statusIntegerpromotion_coupon_template.status状态
totalCountIntegerpromotion_coupon_template.total_count发放数量, -1 - 则表示不限制
takeLimitCountIntegerpromotion_coupon_template.take_limit_count每人限领个数, -1 - 则表示不限制
takeTypeIntegerpromotion_coupon_template.take_type领取方式
usePriceIntegerpromotion_coupon_template.use_price是否设置满多少金额可用,单位:分
productScopeIntegerpromotion_coupon_template.product_scope商品范围
productScopeValuesList<Long>promotion_coupon_template.product_scope_values商品范围编号的数组
validityTypeIntegerpromotion_coupon_template.validity_type生效日期类型
validStartTimeDatepromotion_coupon_template.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_coupon_template.valid_end_time固定日期-生效结束时间
fixedStartTermIntegerpromotion_coupon_template.fixed_start_term领取日期-开始天数
fixedEndTermIntegerpromotion_coupon_template.fixed_end_term领取日期-结束天数
discountTypeIntegerpromotion_coupon_template.discount_type优惠类型:1-代金卷;2-折扣卷
discountPercentIntegerpromotion_coupon_template.discount_percent折扣百分比
discountPriceIntegerpromotion_coupon_template.discount_price优惠金额,单位:分
discountLimitPriceIntegerpromotion_coupon_template.discount_limit_price折扣上限,仅在 discount_type 等于 2 时生效
takeCountIntegerpromotion_coupon_template.take_count领取优惠券的数量
useCountIntegerpromotion_coupon_template.use_count使用优惠券的次数
creatorLongpromotion_coupon_template.creator创建者
createTimeDatepromotion_coupon_template.create_time创建时间
updaterLongpromotion_coupon_template.updater更新者
updateTimeDatepromotion_coupon_template.update_time更新时间
deletedBooleanpromotion_coupon_template.deleted是否删除
canTakeBoolean
示例
请求示例 (自动生成,仅结构参考)
POST /promotion/couponTemplate/queryPromotionCouponTemplatePage
{
  "body": {
    "pageNum": 0,
    "pageSize": 0,
    "merchantId": 1,
    "shopId": 1,
    "couponType": 0,
    "name": "",
    "status": 0,
    "discountType": 0,
    "createTimeRange": "2026-01-01 12:00:00",
    "canTakeTypes": "",
    "productScope": 0,
    "productScopeValue": 0,
    "goodsId": 1,
    "mobile": "13800000000",
    "channel": "1"
  }
}
响应示例
{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "records": [
      {
        "id": 1,
        "merchantId": 1,
        "shopId": 1,
        "couponType": 0,
        "name": "",
        "description": "",
        "status": 0,
        "totalCount": 0,
        "takeLimitCount": 0,
        "takeType": 0,
        "usePrice": 0,
        "productScope": 0,
        "productScopeValues": "",
        "validityType": 1,
        "validStartTime": "2026-01-01 12:00:00",
        "validEndTime": "2026-01-01 12:00:00",
        "fixedStartTerm": 0,
        "fixedEndTerm": 0,
        "discountType": 0,
        "discountPercent": 0,
        "discountPrice": 0,
        "discountLimitPrice": 0,
        "takeCount": 0,
        "useCount": 0,
        "creator": 0,
        "createTime": "2026-01-01 12:00:00",
        "updater": 0,
        "updateTime": "2026-01-01 12:00:00",
        "deleted": false,
        "canTake": false
      }
    ],
    "total": 0
  }
}
处理逻辑
逻辑摘要分页查询(promotionCouponTemplateService.queryPage);入参与返回值经 BeanUtils 做对象/分页映射
内联注释
  • 设置其他查询条件
POST /promotion/couponTemplate/setPromotionCouponTemplateStatus 在用管理后台 #
设置优惠券模板状态 · PromotionCouponTemplateController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponTemplateController#setPromotionCouponTemplateStatus
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon_template
ControllerPromotionCouponTemplateController#setPromotionCouponTemplateStatus
ServicePromotionCouponTemplateService#get (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#selectById ⇒ 表 promotion_coupon_template
ServicePromotionCouponTemplateService#update (PromotionCouponTemplateServiceImpl)
MapperPromotionCouponTemplateMapper#updateById ⇒ 表 promotion_coupon_template

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/couponTemplate/setPromotionCouponTemplateStatus
uathttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/setPromotionCouponTemplateStatus
prohttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/setPromotionCouponTemplateStatus (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body IdRequest
字段类型必填取值/校验表 / 列说明
idLong必填promotion_coupon_template.idid
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/couponTemplate/setPromotionCouponTemplateStatus
{
  "body": {
    "id": 1
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 设置优惠券模板状态
逻辑摘要查询详情(promotionCouponTemplateService.get);查询详情(couponTemplate.getStatus);调用 setStatus(couponTemplate.setStatus)
内联注释
  • 禁用
  • 启用
POST /promotion/couponTemplate/updatePromotionCouponTemplate 在用管理后台 #
优惠劵模板-更新 · PromotionCouponTemplateController
基本信息
控制器com.jxxx.dscp.api.controller.promotion.PromotionCouponTemplateController#updatePromotionCouponTemplate
所属模块营销/优惠 promotion
暴露渠道管理后台 (@Route 注解;决定 URL 前缀与可访问端)
请求方法POST
调用链路 & 涉及数据表
涉及数据表promotion_coupon_templategoodshotel_info
ControllerPromotionCouponTemplateController#updatePromotionCouponTemplate
ServicePromotionCouponTemplateService#updatePromotionCouponTemplate (PromotionCouponTemplateServiceImpl)
转换BeanUtils.map → PromotionCouponTemplate ⇒ 表 promotion_coupon_template
ServiceGoodsService#validateGoodsList (GoodsServiceImpl)
MapperGoodsMapper#selectBatchIds ⇒ 表 goods
ServiceHotelInfoService#validateHotelsList (HotelInfoServiceImpl)
MapperHotelInfoMapper#selectBatchIds ⇒ 表 hotel_info
MapperPromotionCouponTemplateMapper#updateById ⇒ 表 promotion_coupon_template
其它依赖(权限 / 会话 / 缓存 / 校验等,不直接读写业务表)· 1
SessionUserService.getSessionId

链路按 Controller → Service(Impl) → Mapper → 表 逐层追踪;字段对应的「表.列」见下方请求/响应表新增列,按字段同名映射到涉及的实体表列; 表示该字段为查询条件 / 计算 / 转换 / 包装字段,未直接对应单一列。

环境 URL
环境完整 URL(主机 + 渠道前缀 + 路径)备注
devhttps://dscp-dev.hn12301.net/manage-api/promotion/couponTemplate/updatePromotionCouponTemplate
uathttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/updatePromotionCouponTemplate
prohttps://dscp-uat.hn12301.net/manage-api/promotion/couponTemplate/updatePromotionCouponTemplate (仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
请求参数 · Header / Query / Path

无(该接口无 Query/Path/Header 显式参数;入参见 Body)

请求参数 · Body PromotionCouponTemplateUpdateRequest
字段类型必填取值/校验表 / 列说明
idLongpromotion_coupon_template.idid
couponTypeIntegerpromotion_coupon_template.coupon_type优惠券种类
nameStringpromotion_coupon_template.name优惠劵名
descriptionStringpromotion_coupon_template.description优惠劵描述
statusIntegerpromotion_coupon_template.status状态
totalCountIntegerpromotion_coupon_template.total_count发放数量, -1 - 则表示不限制
takeLimitCountIntegerpromotion_coupon_template.take_limit_count每人限领个数, -1 - 则表示不限制
takeTypeIntegerpromotion_coupon_template.take_type领取方式
usePriceIntegerpromotion_coupon_template.use_price是否设置满多少金额可用,单位:分
productScopeIntegerpromotion_coupon_template.product_scope商品范围
productScopeValuesList<Long>promotion_coupon_template.product_scope_values商品范围编号的数组
validityTypeIntegerpromotion_coupon_template.validity_type生效日期类型
validStartTimeDatepromotion_coupon_template.valid_start_time固定日期-生效开始时间
validEndTimeDatepromotion_coupon_template.valid_end_time固定日期-生效结束时间
fixedStartTermIntegerpromotion_coupon_template.fixed_start_term领取日期-开始天数
fixedEndTermIntegerpromotion_coupon_template.fixed_end_term领取日期-结束天数
discountTypeIntegerpromotion_coupon_template.discount_type优惠类型:1-代金卷;2-折扣卷
discountPercentIntegerpromotion_coupon_template.discount_percent折扣百分比
discountPriceIntegerpromotion_coupon_template.discount_price优惠金额,单位:分
discountLimitPriceIntegerpromotion_coupon_template.discount_limit_price折扣上限,仅在 discount_type 等于 2 时生效
takeCountIntegerpromotion_coupon_template.take_count领取优惠券的数量
useCountIntegerpromotion_coupon_template.use_count使用优惠券的次数
creatorLongpromotion_coupon_template.creator创建者
createTimeDatepromotion_coupon_template.create_time创建时间
updaterLongpromotion_coupon_template.updater更新者
updateTimeDatepromotion_coupon_template.update_time更新时间
deletedBooleanpromotion_coupon_template.deleted是否删除
响应参数
外层包装(chaos 框架自动;前端同时兼容 code/msg)
errcodeint业务码,0=成功
errmsgstring提示信息
dataT下方“data 结构”
data 结构

void —— 无返回数据

示例
请求示例 (自动生成,仅结构参考)
POST /promotion/couponTemplate/updatePromotionCouponTemplate
{
  "body": {
    "id": 1,
    "couponType": 0,
    "name": "",
    "description": "",
    "status": 0,
    "totalCount": 0,
    "takeLimitCount": 0,
    "takeType": 0,
    "usePrice": 0,
    "productScope": 0,
    "productScopeValues": "",
    "validityType": 1,
    "validStartTime": "2026-01-01 12:00:00",
    "validEndTime": "2026-01-01 12:00:00",
    "fixedStartTerm": 0,
    "fixedEndTerm": 0,
    "discountType": 0,
    "discountPercent": 0,
    "discountPrice": 0,
    "discountLimitPrice": 0,
    "takeCount": 0,
    "useCount": 0,
    "creator": 0,
    "createTime": "2026-01-01 12:00:00",
    "updater": 0,
    "updateTime": "2026-01-01 12:00:00",
    "deleted": false
  }
}
响应示例
(void,无响应体)
处理逻辑
操作日志promotion / 更新优惠券模板
逻辑摘要更新(promotionCouponTemplateService.updatePromotionCouponTemplate)
开放/回调/内部接口(3,精简表 · 均未被前端调用)
方法路径渠道摘要调用方
POST/promotion/coupon/getUnusedCouponCount开放/回调
POST/promotion/couponTemplate/getCouponTemplateByPage开放/回调优惠劵模板-分页查询
POST/promotion/couponTemplate/getCouponTemplateListByIds开放/回调优惠劵模板列表(Ids)