POST/afterSales/refundH5小程序

售后管理 - 申请退款

订单·支付·售后 / 售后· AfterSalesController#refund

基本信息

  • 接口状态未见调用·长期未改动(待确认) 置信度 低
  • 接口URLPOSThttps://dscp-dev.hn12301.net/h5-api/afterSales/refund
  • 请求方式POST
  • Content-Typeapplication/json
  • 暴露渠道H5、小程序 前缀 /h5-api
  • 名称来源源码注释
  • 调用方本次扫描未发现调用 不等于可以下线
  • 需求上下文售后管理模块代码构建
  • 维护人 / 最后改动luoli 2024-03-07 最近提交:售后管理模块代码构建
  • 读写数据表after_sales 反查该表全部接口 →
  • 控制器com.jxxx.dscp.api.controller.after.AfterSalesController#refund
  • 源码位置jxxx-dscp/dscp-service-business/src/main/java/com/jxxx/dscp/api/controller/after/AfterSalesController.java:208
  • 判定依据无调用证据且最后改动已 919 天(售后管理模块代码构建)

请求参数

Header 请求参数

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

Query 请求参数

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

路径参数及说明

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

Body 请求参数

Body 类型 AfterSalesAddRequest
参数名参数值是否必填参数类型描述说明
orderId…是Long订单ID → after_sales.order_id
refundType…是RefundType售后类型(after.RefundType),1退款,2退款退货 → after_sales.refund_type 1=退款 2=退款退货
applyMoney…是Integer申请退款金额 → after_sales.apply_money
num…是Integer退货数量 → after_sales.num
logistics…是LogisticsStatus物流状态(after.LogisticsStatus),1未发货,2已发货 → after_sales.logistics 1=未发货 2=已发货
refundDesc…否String退款说明 → after_sales.refund_desc
refundPic…否String退款上传凭证图片 → after_sales.refund_pic

认证方式

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

响应参数

data 类型 AfterSalesResponse
参数名参数值是否必填参数类型描述说明
id…否Long售后ID,主键 → after_sales.id
orderId…否Long订单ID,关联订单表id → after_sales.order_id
applyMoney…否Integer申请退款金额 → after_sales.apply_money
refundMoney…否Integer实际退款金额 → after_sales.refund_money
num…否Integer退货数量 → after_sales.num
refundType…否RefundType售后类型(after.RefundType),1退款,2退款退货 → after_sales.refund_type 1=退款 2=退款退货
logistics…否LogisticsStatus物流状态(after.LogisticsStatus),1未发货,2已发货 → after_sales.logistics 1=未发货 2=已发货
status…否ApproveStatus售后订单状态(after.ApproveStatus),1待处理, 2已同意,3已拒绝 → after_sales.status 1=待处理 2=已同意 3=已拒绝 4=已取消
refundStatus…否RefundStatus退款状态(afterSales.RefundStatus),1退款成功,2退款成功 → after_sales.refund_status 0=待退款 1=退款中 2=退款成功 3=退款失败
refundDesc…否String退款说明 → after_sales.refund_desc
refundPic…否String退款上传凭证图片 → after_sales.refund_pic
remarks…否String备注 → after_sales.remarks
applyTime…否Date申请时间 → after_sales.apply_time
afterSalesOperationlog…否List<OrderAfterSalesOperationlog>售后操作日志
id…否Long售后ID,主键 → after_sales.id
afterSalesId…否Long售后订单Id,order_after_sales表id
content…否String记录内容
createdBy…否Long创建人id → after_sales.created_by
createdTime…否Date创建时间 → after_sales.created_time
updatedBy…否String更新人id → after_sales.updated_by
updatedTime…否Date更新时间 → after_sales.updated_time
createdBy…否Long创建人id → after_sales.created_by
createdTime…否Date创建时间 → after_sales.created_time
updatedBy…否Long更新人id → after_sales.updated_by
updatedTime…否Date修改时间 → after_sales.updated_time

响应示例

成功响应示例 code=0

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "id": "1",
    "orderId": "1",
    "applyMoney": "1",
    "refundMoney": "1",
    "num": "1",
    "refundType": "1",
    "logistics": "1",
    "status": "1",
    "refundStatus": "0",
    "refundDesc": "\"string\"",
    "refundPic": "\"string\"",
    "remarks": "\"string\""
  }
}

失败响应示例

{
  "data": null,
  "可能返回": [
    {
      "errcode": "20021",
      "errmsg": "订单不存在"
    },
    {
      "errcode": "20022",
      "errmsg": "支付状态错误"
    },
    {
      "errcode": "20023",
      "errmsg": "订单状态错误"
    }
  ]
}
示例来自源码/导出内容,仅结构参考,非线上真实数据。

附录 · 实现细节

调用链 / 数据表 / 调用点证据 / 源码注释 / 逻辑摘要
涉及数据表:after_sales 反查全部引用接口 →
  • AfterSalesController#refund
  • SessionMemberService#getSessionId
  • BeanUtils.map → AfterSales ⇒ 表 after_sales
  • BeanUtils.map → AfterSalesResponse
其它依赖:ChaosTransactionTemplate.execute
逻辑摘要:查询详情(orderService.get);调用 date(DateUtil.date);调用 execute(newTransactionTemplate.execute);入参与返回值经 BeanUtils 做对象/分页映射
操作日志:after / 售后退款
源码内联注释(旧站解析结果)
  • 支付状态错误
  • 订单状态错误
  • 保存售后申请
  • 售后日志
  • 回滚事务
  • 处理异常
旧站环境备注:pro:(仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
可能抛出的业务码:20021 订单不存在、20022 支付状态错误、20023 订单状态错误 错误码字典 →
由 tools/build.py 从 data/apis.json 生成 · 生成时间 2026-09-12 19:49 · 数据口径见说明 · 本页数字非手写,均来自同一份数据