POST
/xgh/createOrder开放/回调湘工惠-新增订单 · createOrder 推断名·方法名推断
开放与对接 / 湘工惠
基本信息
- 接口状态前端在用 免鉴权
- 接口URLPOST
https://dscp-dev.hn12301.net/open-api/xgh/createOrder - 请求方式
POST - Content-Type
application/json - 暴露渠道开放/回调 前缀
/open-api - 名称来源方法名推断
- 调用方已确认在用 · 湘工惠商城(1 个前端)
- 需求上下文
- 维护人 / 最后改动liuxu 2025-04-08
- 读写数据表
order_goods、member、card、promotion_coupon、order_operatelog、openapi_channel_rule、card_model_rule反查该表全部接口 → - 控制器
com.jxxx.dscp.api.controller.openapi.XghController#createOrder - 源码位置
jxxx-dscp/dscp-service-business/src/main/java/com/jxxx/dscp/api/controller/openapi/XghController.java:143 - 判定依据
请求参数
Header 请求参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 无(渠道统一鉴权头见《认证方式》) | ||||
Query 请求参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 无 | ||||
路径参数及说明
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| 无 | ||||
Body 请求参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| cardModleId | … | 是 | Long | |
| buyNum | … | 是 | Integer | 购买份数 → order.buy_num |
| skuId | … | 是 | Long | SKUID |
| mobile | … | 是 | String | → member.mobile |
| couponId | … | 否 | Long | 券id */ |
| userId | … | 否 | String | → promotion_coupon.user_id |
| certNo | … | 否 | String | |
| realName | … | 否 | String | |
| phone | … | 否 | String | → card.phone |
| certId | … | 否 | String |
认证方式
响应参数
| 参数名 | 参数值 | 是否必填 | 参数类型 | 描述说明 |
|---|---|---|---|---|
| outTradeNo | … | 否 | String | 我方交易号 |
| tradeNo | … | 否 | String | 第三方交易号 |
| flag | … | 否 | Boolean | |
| payUrl | … | 否 | String | |
| extendMap | … | 否 | Map<String, String> |
响应示例
成功响应示例
{
"errcode": 0,
"errmsg": "",
"data": {
"outTradeNo": "\"string\"",
"tradeNo": "\"string\"",
"flag": "false",
"payUrl": "\"string\"",
"extendMap": "…"
}
}失败响应示例
{
"data": null,
"可能返回": [
{
"errcode": "99999",
"errmsg": "服务内部错误"
},
{
"errcode": "20011",
"errmsg": "旅游卡已无分配资源"
}
]
}附录 · 实现细节
调用链 / 数据表 / 调用点证据 / 源码注释 / 逻辑摘要
涉及数据表:order_goods、member、card、promotion_coupon、order_operatelog、openapi_channel_rule、card_model_rule 反查全部引用接口 →
- XghController#createOrder
- XghService#createOrder(XghServiceImpl)
- OrderService#queryList(OrderServiceImpl)
- OrderMapper#queryList
- OrderGoodsService#queryList(OrderGoodsServiceImpl)
- OrderGoodsMapper#queryList
- MemberService#update(MemberServiceImpl)
- MemberMapper#update
- CardService#addCardOrder(CardServiceImpl)
- LockService#tryLock
- OrderService#maxOrderId(OrderServiceImpl)
- PromotionCouponService#getCoupon(PromotionCouponServiceImpl)
- PromotionCouponService#useCoupon(PromotionCouponServiceImpl)
- LockService#unlock
- BeanUtils.map → OrderOperatelog ⇒ 表 order_operatelog
- OrderService#update(OrderServiceImpl)
- OrderMapper#update
其它依赖:ChaosTransactionTemplate.execute
逻辑摘要:调用 canOrderOrOperate(DateUtils.canOrderOrOperate);调用 canOrderOrOperateMsg(DateUtils.canOrderOrOperateMsg);创建(xghService.createOrder)
源码内联注释(旧站解析结果)
- throw ChaosRes.SYS_FAIL.toException("制卡中");
- }
- if (!DateUtils.canOrderOrOperate()) {
- throw ChaosRes.SYS_FAIL.toException(DateUtils.canOrderOrOperateMsg());
- throw ChaosRes.SYS_FAIL.toException("系统升级中,预计22:00完成。请稍后再试!");
旧站环境备注:pro:(仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
调用点证据
xghmall/common/http.api.js:8湘工惠商城 · createOrderUrl
可能抛出的业务码:99999 服务内部错误、20011 旅游卡已无分配资源 错误码字典 →