# lwc-cloud-erp-discount-calculate API 接口文档

- 文档标题：product-discount-calculate
- 版本：3.0.0
- 描述：LWC Cloud API接口文档
- 数据来源：https://api.leadwaycloud.com/lwc-cloud-erp-discount-calculate/v3/api-docs
- 生成时间：2026-08-03T22:00:03.258Z
- 接口数量：30
- 分组数量：9
- 模型数量：49

## 服务地址

| 地址 | 说明 |
| --- | --- |
| http://localhost:8080 | 开发环境 |
| https://api.leadwaycloud.com | 测试环境 |

## 接口目录

### 折扣缓存

- [PUT /api/discount-cache/refresh - 指定折扣缓存刷新接口](#put-api-discount-cache-refresh-updatediscountcachedata)
- [PUT /api/discount-cache/refresh/config - 商户折扣配置缓存刷新接口](#put-api-discount-cache-refresh-config-updatemerchantdiscountconfigcachedata)
- [PUT /api/discount-cache/refresh/all - 折扣缓存全量刷新接口](#put-api-discount-cache-refresh-all-initmerchantcachedata)
- [GET /api/discount-cache/query - 查询折扣缓存接口](#get-api-discount-cache-query-removediscountcachedata)
- [DELETE /api/discount-cache/remove - 折扣缓存移除接口](#delete-api-discount-cache-remove-removediscountcachedata-1)

### 交易折扣试算

- [POST /api/discount-test-calculate/test-trade - 交易折试算接口](#post-api-discount-test-calculate-test-trade-calctesttradediscount)

### 交易折扣计算

- [POST /api/discount-calculate/trade - 计算交易接口](#post-api-discount-calculate-trade-calctrade)
- [POST /api/discount-calculate/trade-finish - 交易完成接口](#post-api-discount-calculate-trade-finish-tradefinish)
- [POST /api/discount-calculate/trade-finish/ - 交易完成接口](#post-api-discount-calculate-trade-finish-tradefinish-1)
- [POST /api/discount-calculate/trade-cancel - 交易取消接口](#post-api-discount-calculate-trade-cancel-tradecancel)

### 销售单折扣计算

- [POST /api/discount-calculate/sale-order/calculate - 销售单折扣计算接口](#post-api-discount-calculate-sale-order-calculate-calctrade-1)

### 优惠券发放

- [POST /api/coupon-grant - 导出优惠券接口](#post-api-coupon-grant-export)
- [POST /api/coupon-grant/system - 系统发放活动详情优惠券接口](#post-api-coupon-grant-system-grantcoupon)
- [POST /api/coupon-grant/receive - 领取活动详情优惠券接口](#post-api-coupon-grant-receive-grantcoupon-1)
- [POST /api/coupon-grant/import/{userId}/{id} - 导入优惠券接口](#post-api-coupon-grant-import-userid-id-importcoupon)
- [POST /api/coupon-grant/download/import-template/{userId} - 下载优惠券导入模版接口](#post-api-coupon-grant-download-import-template-userid-downloadimporttemplate)
- [POST /api/coupon-grant/bind - 绑定优惠券接口](#post-api-coupon-grant-bind-bindcoupon)

### 服务监控管理

- [GET /api/monitor/version - 获取服务版本信息](#get-api-monitor-version-version)
- [GET /api/monitor/health - 心跳检查](#get-api-monitor-health-health)

### 折扣结果查询

- [GET /api/discount-query/result - 查询折扣结果接口](#get-api-discount-query-result-querydiscountresult)
- [GET /api/discount-query/result-detail/{discountResultId} - 查询折扣结果详情接口](#get-api-discount-query-result-detail-discountresultid-querydiscountresultdetail)

### 优惠券查询

- [GET /api/coupon-query/query/member-join-marketing-coupon-active-detail - 查询会员可参与的优惠券活动详情接口](#get-api-coupon-query-query-member-join-marketing-coupon-active-detail-querydisco)
- [GET /api/coupon-query/query/member-coupon - 查询会员优惠券接口](#get-api-coupon-query-query-member-coupon-querydiscountresult-1)

### main-site-error-handler

- [GET /error ](#get-error-handleerror)
- [POST /error ](#post-error-handleerror-1)
- [PUT /error ](#put-error-handleerror-2)
- [DELETE /error ](#delete-error-handleerror-3)
- [PATCH /error ](#patch-error-handleerror-4)
- [OPTIONS /error ](#options-error-handleerror-6)
- [HEAD /error ](#head-error-handleerror-5)


## 接口详情

<a id="put-api-discount-cache-refresh-updatediscountcachedata"></a>

### PUT /api/discount-cache/refresh

- 分组：折扣缓存
- 名称：指定折扣缓存刷新接口
- OperationId：updateDiscountCacheData

#### 调用方法

`PUT /api/discount-cache/refresh`

#### 参数

无

#### 请求体


- Content-Type：`application/json`
- 必填：是
- 类型：DiscountChangeNoticeBO（com.leadwaycloud.discount.core.business.calculate.model.DiscountChangeNoticeBO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| discountUpdateType | string | 是 | 折扣变更类型  【 ALL : 全部   MASTER : 主数据变更   】 | "ALL" |
| discountList | integer(int64)[] | 是 | 更新的折扣 | [1] |

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Boolean（com.leadwaycloud.core.model.RJava.lang.Boolean）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | boolean | 否 | 返回数据 |  |

<a id="put-api-discount-cache-refresh-config-updatemerchantdiscountconfigcachedata"></a>

### PUT /api/discount-cache/refresh/config

- 分组：折扣缓存
- 名称：商户折扣配置缓存刷新接口
- OperationId：updateMerchantDiscountConfigCacheData

#### 调用方法

`PUT /api/discount-cache/refresh/config`

#### 参数

无

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Boolean（com.leadwaycloud.core.model.RJava.lang.Boolean）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | boolean | 否 | 返回数据 |  |

<a id="put-api-discount-cache-refresh-all-initmerchantcachedata"></a>

### PUT /api/discount-cache/refresh/all

- 分组：折扣缓存
- 名称：折扣缓存全量刷新接口
- OperationId：initMerchantCacheData

#### 调用方法

`PUT /api/discount-cache/refresh/all`

#### 参数

无

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Boolean（com.leadwaycloud.core.model.RJava.lang.Boolean）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | boolean | 否 | 返回数据 |  |

<a id="get-api-discount-cache-query-removediscountcachedata"></a>

### GET /api/discount-cache/query

- 分组：折扣缓存
- 名称：查询折扣缓存接口
- OperationId：removeDiscountCacheData

#### 调用方法

`GET /api/discount-cache/query`

#### 参数

| 名称 | 位置 | 必填 | 类型 | 说明 | 示例 |
| --- | --- | --- | --- | --- | --- |
| code | query | 否 | string | 编号 | 111111 |
| name | query | 否 | string | 名称 | "xxx" |
| status | query | 否 | string | 折扣状态 | "DRAFT" |
| date | query | 否 | string | 生效日期 | "2022-01-01" |

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Object（com.leadwaycloud.core.model.RJava.util.ListJava.util.MapJava.lang.StringJava.lang.Object）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object[] | 否 | 返回数据 |  |

<a id="delete-api-discount-cache-remove-removediscountcachedata-1"></a>

### DELETE /api/discount-cache/remove

- 分组：折扣缓存
- 名称：折扣缓存移除接口
- OperationId：removeDiscountCacheData_1

#### 调用方法

`DELETE /api/discount-cache/remove`

#### 参数

无

#### 请求体


- Content-Type：`application/json`
- 必填：是
- 类型：integer(int64)[]

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| (array) | integer(int64)[] |  |  |  |

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Boolean（com.leadwaycloud.core.model.RJava.lang.Boolean）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | boolean | 否 | 返回数据 |  |

<a id="post-api-discount-test-calculate-test-trade-calctesttradediscount"></a>

### POST /api/discount-test-calculate/test-trade

- 分组：交易折扣试算
- 名称：交易折试算接口
- OperationId：calcTestTradeDiscount

#### 调用方法

`POST /api/discount-test-calculate/test-trade`

#### 参数

无

#### 请求体


- Content-Type：`application/json`
- 必填：是
- 类型：TestDiscountDTO（com.leadwaycloud.discount.calculate.model.dto.TestDiscountDTO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| tradeDTO | TradeDTO | 是 |  |  |
| testDiscountList | integer(int64)[] | 否 | 测试折扣列表(未提供数据,则测试所有未过期且未删除的折扣) |  |

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：DiscResultVO（com.leadwaycloud.core.model.RCom.leadwaycloud.discount.calculate.model.vo.discount.DiscResultVO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | DiscResultVO | 否 |  |  |

<a id="post-api-discount-calculate-trade-calctrade"></a>

### POST /api/discount-calculate/trade

- 分组：交易折扣计算
- 名称：计算交易接口
- OperationId：calcTrade

#### 调用方法

`POST /api/discount-calculate/trade`

#### 参数

无

#### 请求体


- Content-Type：`application/json`
- 必填：是
- 类型：TradeDTO（com.leadwaycloud.discount.calculate.model.dto.TradeDTO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| merchantId | integer(int64) | 否 | 商户ID(商户ID和code二选一) | 574533689957248 |
| merchantCode | string | 否 | 商户编号(商户ID和code二选一) | "WATSONS" |
| companyId | integer(int64) | 否 | 门店ID(门店ID和code二选一) | 1 |
| companyCode | string | 否 | 门店编号(门店ID和code二选一) | "S001" |
| channel | string | 是 | 渠道 | "STORE_POS" |
| code | string | 是 | 订单号 | "241251244423123" |
| member | MemberDTO | 否 |  |  |
| useCouponList | UseCouponDTO[] | 否 | 预核销的优惠券 |  |
| itemList | ItemDTO[] | 是 | 商品 |  |
| businessTime | string | 是 | 交易时间 | "2022-03-16 13:09:11" |
| requestTime | string | 是 | 请求时间 | "2022-03-16 13:09:11.323" |
| discDynamicParamMap | object | 否 | 动态折扣参数(折扣编号,折扣值) |  |
| tags | string[] | 否 | 交易标签 | ["3242312313"] |
| scale | integer(int32) | 否 | 金额计算精度 | 2 |
| onlyAllowedDiscountList | integer(int64)[] | 否 | 仅允许参与的折扣 |  |
| trial | boolean | 否 | 是否为试算 |  |

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：DiscResultVO（com.leadwaycloud.core.model.RCom.leadwaycloud.discount.calculate.model.vo.discount.DiscResultVO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | DiscResultVO | 否 |  |  |

<a id="post-api-discount-calculate-trade-finish-tradefinish"></a>

### POST /api/discount-calculate/trade-finish

- 分组：交易折扣计算
- 名称：交易完成接口
- OperationId：tradeFinish

#### 调用方法

`POST /api/discount-calculate/trade-finish`

#### 参数

无

#### 请求体


- Content-Type：`application/json`
- 必填：是
- 类型：TradeFinishDTO（com.leadwaycloud.discount.calculate.model.dto.TradeFinishDTO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| merchantId | integer(int64) | 是 | 商户ID | 574533689957248 |
| companyId | string | 是 | 公司ID | "1" |
| code | string | 是 | 订单号 | "241251244423123" |

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Boolean（com.leadwaycloud.core.model.RJava.lang.Boolean）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | boolean | 否 | 返回数据 |  |

<a id="post-api-discount-calculate-trade-finish-tradefinish-1"></a>

### POST /api/discount-calculate/trade-finish/

- 分组：交易折扣计算
- 名称：交易完成接口
- OperationId：tradeFinish_1

#### 调用方法

`POST /api/discount-calculate/trade-finish/`

#### 参数

无

#### 请求体


- Content-Type：`application/json`
- 必填：是
- 类型：TradeDiscountResultBO（com.leadwaycloud.discount.calculate.model.bo.TradeDiscountResultBO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| tradeDTO | TradeDTO | 是 |  |  |
| discResultVO | DiscResultVO | 是 |  |  |

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Boolean（com.leadwaycloud.core.model.RJava.lang.Boolean）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | boolean | 否 | 返回数据 |  |

<a id="post-api-discount-calculate-trade-cancel-tradecancel"></a>

### POST /api/discount-calculate/trade-cancel

- 分组：交易折扣计算
- 名称：交易取消接口
- OperationId：tradeCancel
- 描述：根据实际情况调用(没有调用在交易中发生的优惠券核销则会在5分钟后解除锁定)

#### 调用方法

`POST /api/discount-calculate/trade-cancel`

#### 参数

无

#### 请求体


- Content-Type：`application/json`
- 必填：是
- 类型：TradeCancelDTO（com.leadwaycloud.discount.calculate.model.dto.TradeCancelDTO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| merchantId | integer(int64) | 是 | 商户ID | 574533689957248 |
| companyId | string | 是 | 公司ID | "1" |
| code | string | 是 | 订单号 | "241251244423123" |

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Void（com.leadwaycloud.core.model.RJava.lang.Void）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

<a id="post-api-discount-calculate-sale-order-calculate-calctrade-1"></a>

### POST /api/discount-calculate/sale-order/calculate

- 分组：销售单折扣计算
- 名称：销售单折扣计算接口
- OperationId：calcTrade_1

#### 调用方法

`POST /api/discount-calculate/sale-order/calculate`

#### 参数

无

#### 请求体


- Content-Type：`application/json`
- 必填：是
- 类型：SaleOrderDTO（com.leadwaycloud.discount.calculate.model.dto.sale.order.SaleOrderDTO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| merchantId | integer(int64) | 是 | 商户ID | 574533689957248 |
| companyId | string | 是 | 公司ID | "1" |
| channel | string | 是 | 渠道 | "STORE_POS" |
| code | string | 否 | 订单号 | "241251244423123" |
| member | CustomerDTO | 是 |  |  |
| itemList | ItemDTO[] | 是 | 商品 |  |
| businessTime | string | 是 | 交易时间 | "2022-03-16 13:09:11" |
| requestTime | string | 是 | 请求时间 | "2022-03-16 13:09:11.212" |
| onlyAllowedDiscountList | integer(int64)[] | 否 | 仅允许参与的折扣 |  |

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：DiscResultVO（com.leadwaycloud.core.model.RCom.leadwaycloud.discount.calculate.model.vo.discount.DiscResultVO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | DiscResultVO | 否 |  |  |

<a id="post-api-coupon-grant-export"></a>

### POST /api/coupon-grant

- 分组：优惠券发放
- 名称：导出优惠券接口
- OperationId：export

#### 调用方法

`POST /api/coupon-grant`

#### 参数

无

#### 请求体


- Content-Type：`application/json`
- 必填：是
- 类型：ExportCouponDTO（com.leadwaycloud.discount.calculate.model.dto.coupon.ExportCouponDTO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| couponActiveDetailId | integer(int64) | 是 | 优惠券活动详情ID | 1 |
| generateCount | integer(int64) | 是 | 导出数量 | 1 |

#### 响应


- 状态码：`200`
- 说明：OK

无

<a id="post-api-coupon-grant-system-grantcoupon"></a>

### POST /api/coupon-grant/system

- 分组：优惠券发放
- 名称：系统发放活动详情优惠券接口
- OperationId：grantCoupon

#### 调用方法

`POST /api/coupon-grant/system`

#### 参数

无

#### 请求体


- Content-Type：`application/json`
- 必填：是
- 类型：SystemGrantCouponDTO（com.leadwaycloud.discount.calculate.model.dto.coupon.SystemGrantCouponDTO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| couponActiveDetailId | integer(int64) | 是 | 优惠券活动详情ID | 1 |
| memberCode | string | 是 | 会员号 |  |

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Coupon（com.leadwaycloud.core.model.RCom.leadwaycloud.discount.core.model.po.entity.Coupon）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | Coupon | 否 |  |  |

<a id="post-api-coupon-grant-receive-grantcoupon-1"></a>

### POST /api/coupon-grant/receive

- 分组：优惠券发放
- 名称：领取活动详情优惠券接口
- OperationId：grantCoupon_1

#### 调用方法

`POST /api/coupon-grant/receive`

#### 参数

无

#### 请求体


- Content-Type：`application/json`
- 必填：是
- 类型：GrantMemberCouponDTO（com.leadwaycloud.discount.calculate.model.dto.coupon.GrantMemberCouponDTO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| channel | string | 是 | 渠道 |  |
| couponActiveDetailId | integer(int64) | 是 | 优惠券活动详情ID | 1 |
| member | MemberDTO | 是 |  |  |

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Coupon（com.leadwaycloud.core.model.RCom.leadwaycloud.discount.core.model.po.entity.Coupon）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | Coupon | 否 |  |  |

<a id="post-api-coupon-grant-import-userid-id-importcoupon"></a>

### POST /api/coupon-grant/import/{userId}/{id}

- 分组：优惠券发放
- 名称：导入优惠券接口
- OperationId：importCoupon

#### 调用方法

`POST /api/coupon-grant/import/{userId}/{id}`

#### 参数

| 名称 | 位置 | 必填 | 类型 | 说明 | 示例 |
| --- | --- | --- | --- | --- | --- |
| userId | path | 是 | integer(int64) | 操作人ID | 1 |
| id | path | 是 | integer(int64) | 优惠券活动详情ID | 1 |

#### 请求体


- Content-Type：`application/json`
- 必填：否
- 类型：object

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| file | string(binary) | 是 |  |  |

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Void（com.leadwaycloud.core.model.RJava.lang.Void）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

<a id="post-api-coupon-grant-download-import-template-userid-downloadimporttemplate"></a>

### POST /api/coupon-grant/download/import-template/{userId}

- 分组：优惠券发放
- 名称：下载优惠券导入模版接口
- OperationId：downloadImportTemplate

#### 调用方法

`POST /api/coupon-grant/download/import-template/{userId}`

#### 参数

| 名称 | 位置 | 必填 | 类型 | 说明 | 示例 |
| --- | --- | --- | --- | --- | --- |
| userId | path | 是 | integer(int64) | 操作人ID | 1 |

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK

无

<a id="post-api-coupon-grant-bind-bindcoupon"></a>

### POST /api/coupon-grant/bind

- 分组：优惠券发放
- 名称：绑定优惠券接口
- OperationId：bindCoupon

#### 调用方法

`POST /api/coupon-grant/bind`

#### 参数

无

#### 请求体


- Content-Type：`application/json`
- 必填：是
- 类型：MemberBindCouponDTO（com.leadwaycloud.discount.calculate.model.dto.coupon.MemberBindCouponDTO）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| merchantId | integer(int64) | 是 | 商户ID |  |
| memberCode | string | 是 | 会员号 |  |
| couponCode | string | 是 | 优惠券券号 | "1" |

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Coupon（com.leadwaycloud.core.model.RCom.leadwaycloud.discount.core.model.po.entity.Coupon）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | Coupon | 否 |  |  |

<a id="get-api-monitor-version-version"></a>

### GET /api/monitor/version

- 分组：服务监控管理
- 名称：获取服务版本信息
- OperationId：version

#### 调用方法

`GET /api/monitor/version`

#### 参数

无

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Object（com.leadwaycloud.core.model.RJava.lang.Object）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

<a id="get-api-monitor-health-health"></a>

### GET /api/monitor/health

- 分组：服务监控管理
- 名称：心跳检查
- OperationId：health

#### 调用方法

`GET /api/monitor/health`

#### 参数

无

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Object（com.leadwaycloud.core.model.RJava.lang.Object）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

<a id="get-api-discount-query-result-querydiscountresult"></a>

### GET /api/discount-query/result

- 分组：折扣结果查询
- 名称：查询折扣结果接口
- OperationId：queryDiscountResult

#### 调用方法

`GET /api/discount-query/result`

#### 参数

| 名称 | 位置 | 必填 | 类型 | 说明 | 示例 |
| --- | --- | --- | --- | --- | --- |
| page | query | 是 | integer(int32) | 查询页码 | 0 |
| size | query | 是 | integer(int32) | 查询页行数 | 10 |
| merchantId | query | 是 | long | 商户ID | 574533689957248 |
| companyId | query | 否 | string | 公司ID | 1 |
| discMasterId | query | 否 | long | 订单主数据ID | 1 |
| code | query | 否 | string | 订单号 | 241251244423123 |

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：DiscountResult（com.leadwaycloud.core.model.RCom.leadwaycloud.core.model.PCom.leadwaycloud.discount.core.model.po.entity.DiscountResult）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | DiscountResult | 否 |  |  |

<a id="get-api-discount-query-result-detail-discountresultid-querydiscountresultdetail"></a>

### GET /api/discount-query/result-detail/{discountResultId}

- 分组：折扣结果查询
- 名称：查询折扣结果详情接口
- OperationId：queryDiscountResultDetail

#### 调用方法

`GET /api/discount-query/result-detail/{discountResultId}`

#### 参数

| 名称 | 位置 | 必填 | 类型 | 说明 | 示例 |
| --- | --- | --- | --- | --- | --- |
| discountResultId | path | 是 | integer(int64) | 折扣结果ID | 1 |

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：DiscountResultMaster（com.leadwaycloud.core.model.RJava.util.ListCom.leadwaycloud.discount.core.model.po.entity.DiscountResultMaster）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | DiscountResultMaster[] | 否 | 返回数据 |  |

<a id="get-api-coupon-query-query-member-join-marketing-coupon-active-detail-querydisco"></a>

### GET /api/coupon-query/query/member-join-marketing-coupon-active-detail

- 分组：优惠券查询
- 名称：查询会员可参与的优惠券活动详情接口
- OperationId：queryDiscountResultDetail_1

#### 调用方法

`GET /api/coupon-query/query/member-join-marketing-coupon-active-detail`

#### 参数

| 名称 | 位置 | 必填 | 类型 | 说明 | 示例 |
| --- | --- | --- | --- | --- | --- |
| merchantId | query | 是 | long | 商户ID | 1 |
| channel | query | 是 | string | 渠道 |  |
| member.barcode | query | 是 | string | 会员编号 | "002391117577753472" |
| member.name | query | 是 | string | 会员名称 | "张三" |
| member.category | query | 是 | string | 会员分类 | "M01" |
| member.sex | query | 否 | string | 性别 | "男" |
| member.age | query | 否 | int | 年龄 | 20 |
| member.birthday | query | 否 | string | 生日 | "2020-09-01" |
| member.tags | query | 否 | list | 标签 | ["健身"] |
| member.accountList | query | 否 | list | 会员权益账户 |  |

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：CouponActiveDetail（com.leadwaycloud.core.model.RJava.util.ListCom.leadwaycloud.discount.core.model.po.entity.CouponActiveDetail）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | CouponActiveDetail[] | 否 | 返回数据 |  |

<a id="get-api-coupon-query-query-member-coupon-querydiscountresult-1"></a>

### GET /api/coupon-query/query/member-coupon

- 分组：优惠券查询
- 名称：查询会员优惠券接口
- OperationId：queryDiscountResult_1

#### 调用方法

`GET /api/coupon-query/query/member-coupon`

#### 参数

| 名称 | 位置 | 必填 | 类型 | 说明 | 示例 |
| --- | --- | --- | --- | --- | --- |
| merchantId | query | 是 | long | 商户ID | 1 |
| memberCode | query | 是 | string | 会员号 |  |

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：Coupon（com.leadwaycloud.core.model.RJava.util.ListCom.leadwaycloud.discount.core.model.po.entity.Coupon）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | Coupon[] | 否 | 返回数据 |  |

<a id="get-error-handleerror"></a>

### GET /error

- 分组：main-site-error-handler
- 名称：-
- OperationId：handleError

#### 调用方法

`GET /error`

#### 参数

无

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：R（com.leadwaycloud.core.model.R）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

<a id="post-error-handleerror-1"></a>

### POST /error

- 分组：main-site-error-handler
- 名称：-
- OperationId：handleError_1

#### 调用方法

`POST /error`

#### 参数

无

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：R（com.leadwaycloud.core.model.R）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

<a id="put-error-handleerror-2"></a>

### PUT /error

- 分组：main-site-error-handler
- 名称：-
- OperationId：handleError_2

#### 调用方法

`PUT /error`

#### 参数

无

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：R（com.leadwaycloud.core.model.R）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

<a id="delete-error-handleerror-3"></a>

### DELETE /error

- 分组：main-site-error-handler
- 名称：-
- OperationId：handleError_3

#### 调用方法

`DELETE /error`

#### 参数

无

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：R（com.leadwaycloud.core.model.R）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

<a id="patch-error-handleerror-4"></a>

### PATCH /error

- 分组：main-site-error-handler
- 名称：-
- OperationId：handleError_4

#### 调用方法

`PATCH /error`

#### 参数

无

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：R（com.leadwaycloud.core.model.R）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

<a id="options-error-handleerror-6"></a>

### OPTIONS /error

- 分组：main-site-error-handler
- 名称：-
- OperationId：handleError_6

#### 调用方法

`OPTIONS /error`

#### 参数

无

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：R（com.leadwaycloud.core.model.R）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

<a id="head-error-handleerror-5"></a>

### HEAD /error

- 分组：main-site-error-handler
- 名称：-
- OperationId：handleError_5

#### 调用方法

`HEAD /error`

#### 参数

无

#### 请求体

无

#### 响应


- 状态码：`200`
- 说明：OK
- Content-Type：`*/*`
- 类型：R（com.leadwaycloud.core.model.R）

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |


## 模型定义

### com.leadwaycloud.discount.core.business.calculate.model.DiscountChangeNoticeBO

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| discountUpdateType | string | 是 | 折扣变更类型  【 ALL : 全部   MASTER : 主数据变更   】 | "ALL" |
| discountList | integer(int64)[] | 是 | 更新的折扣 | [1] |

### com.leadwaycloud.core.model.RJava.lang.Boolean

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | boolean | 否 | 返回数据 |  |

### com.leadwaycloud.discount.calculate.model.dto.ItemDTO

商品

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| code | string | 是 | 商品编号 | "20808" |
| barcode | string | 是 | 商品条码 | "6914068029184" |
| name | string | 是 | 商品名称 | "清风面巾纸200抽*3层/包" |
| price | number(double) | 是 | 商品单价 | 100 |
| qty | integer(int32) | 是 | 商品数量 | 2 |
| amount | number(double) | 是 | 金额 | 200 |

### com.leadwaycloud.discount.calculate.model.dto.MemberAccountDTO

会员权益账户

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| accountType | string | 是 | 账户类型 | "JF" |
| accountVal | number(double) | 是 | 账户值 | 100 |
| exchangeVal | number(double) | 否 | 兑换值 | 100 |

### com.leadwaycloud.discount.calculate.model.dto.MemberDTO

会员

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| barcode | string | 是 | 会员编号 | "002391117577753472" |
| name | string | 是 | 会员名称 | "张三" |
| category | string | 是 | 会员分类 | "M01" |
| sex | string | 否 | 性别 | "男" |
| age | integer(int32) | 否 | 年龄 | 20 |
| birthday | string | 否 | 生日 | "2020-09-01" |
| tags | string[] | 否 | 标签 | ["健身"] |
| accountList | MemberAccountDTO[] | 否 | 会员权益账户 |  |

### com.leadwaycloud.discount.calculate.model.dto.TestDiscountDTO

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| tradeDTO | TradeDTO | 是 |  |  |
| testDiscountList | integer(int64)[] | 否 | 测试折扣列表(未提供数据,则测试所有未过期且未删除的折扣) |  |

### com.leadwaycloud.discount.calculate.model.dto.TradeDTO

测试交易

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| merchantId | integer(int64) | 否 | 商户ID(商户ID和code二选一) | 574533689957248 |
| merchantCode | string | 否 | 商户编号(商户ID和code二选一) | "WATSONS" |
| companyId | integer(int64) | 否 | 门店ID(门店ID和code二选一) | 1 |
| companyCode | string | 否 | 门店编号(门店ID和code二选一) | "S001" |
| channel | string | 是 | 渠道 | "STORE_POS" |
| code | string | 是 | 订单号 | "241251244423123" |
| member | MemberDTO | 否 |  |  |
| useCouponList | UseCouponDTO[] | 否 | 预核销的优惠券 |  |
| itemList | ItemDTO[] | 是 | 商品 |  |
| businessTime | string | 是 | 交易时间 | "2022-03-16 13:09:11" |
| requestTime | string | 是 | 请求时间 | "2022-03-16 13:09:11.323" |
| discDynamicParamMap | object | 否 | 动态折扣参数(折扣编号,折扣值) |  |
| tags | string[] | 否 | 交易标签 | ["3242312313"] |
| scale | integer(int32) | 否 | 金额计算精度 | 2 |
| onlyAllowedDiscountList | integer(int64)[] | 否 | 仅允许参与的折扣 |  |
| trial | boolean | 否 | 是否为试算 |  |

### com.leadwaycloud.discount.calculate.model.dto.UseCouponDTO

预核销的优惠券

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| couponActiveGroupCode | string | 是 | 优惠券活动分组编号(交易数据中订单编号没有或者订单编号不是从立威系统产生的必须提供) | "3242312313" |
| couponCode | string | 是 | 优惠券券号 |  |
| canTriggeringCount | integer(int32) | 是 | 可触发促销次数 |  |

### com.leadwaycloud.core.model.RCom.leadwaycloud.discount.calculate.model.vo.discount.DiscResultVO

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | DiscResultVO | 否 |  |  |

### com.leadwaycloud.discount.calculate.model.bo.CouponResultBO

优惠券核销结果

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| discId | integer(int64) | 是 | 折扣ID | 1 |
| itemCalcDataKey | string | 是 | 活动分组编号 |  |
| discCode | string | 是 | 折扣编号 | "#1" |
| discName | string | 是 | 折扣名称 | "#1直接扣减" |
| discDescription | string | 是 | 折扣描述 | "..." |
| calcIndex | integer(int32) | 是 | 计算顺序(数值越小越先计算) | 999999 |
| model | string | 是 | 模式 | "E" |
| discResultType | string | 是 | 折扣类型  【 A :    R :    C :    】 | "A" |
| couponActiveGroupCode | string | 是 | 优惠券活动分组编号 | "3242312313" |
| couponCode | string | 是 | 优惠券 | "3366991234567" |
| discVal | number(double) | 是 | 折扣值 | 10 |

### com.leadwaycloud.discount.calculate.model.bo.DiscountItemResultBO

单项折扣结果(itemCalcDataKey为key)

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| sortIndex | integer(int32) | 是 | 规则内分组排序(数值越小越先计算) | 999999 |
| itemCalcDataKey | string | 是 | 活动分组编号 |  |
| sumDiscCount | integer(int32) | 是 | 折扣次数统计值 |  |
| sumDiscVal | number(double) | 是 | 折扣结果统计值 |  |
| giftAccountType | string | 否 | 赠送权益会员账户类型(折扣类型=I时有) | "JF" |
| exchangeAccountType | string | 否 | 权益兑换的会员账户类型(折扣类型=E时有) | "JF" |
| exchangeAccountVal | number(double) | 否 | 权益兑换的会员账户权益扣除结果(折扣类型=E时有) | 100 |
| deductAccountResultMap | object | 是 | 会员账户权益扣除结果 |  |
| useCouponActiveGroupCodeSet | string[] | 否 | 用券优惠券活动分组编号 | ["3242312313"] |
| giftCouponActiveGroupCodeSet | string[] | 否 | 发券优惠券活动分组编号 | ["3242312313"] |
| stepItemDiscResultMap | object | 是 | 阶梯商品折扣结果 |  |

### com.leadwaycloud.discount.calculate.model.bo.DiscountResultBO

折扣结果详情

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| discId | integer(int64) | 是 | 折扣主数据ID | 1 |
| discCode | string | 是 | 折扣编号 | "#1" |
| discName | string | 是 | 折扣名称 | "#1直接扣减" |
| discDescription | string | 是 | 折扣描述 | "..." |
| calcIndex | integer(int32) | 是 | 计算顺序(数值越小越先计算) | 999999 |
| model | string | 是 | 模式 | "I" |
| pricingType | string | 否 | 计价方式  【 AVG_PC : 均价   FAC_PC : 票面价   】 | "AVERAGE" |
| openOverflow | boolean | 否 | 是否允许折扣值溢出 | false |
| openBest | boolean | 否 | 开启规则内最优 | false |
| baseType | string | 否 | 最优方式  【 MERCHANT : 商户最优   MEMBER : 顾客最优   】 | "MEMBER" |
| shareType | string | 否 | 分摊方式  【 NONE : 不分摊   GROUP : 组内参与商品分摊   ALL : 组合全部商品分摊   】 | "NONE" |
| discResultType | string | 是 | 折扣类型  【 A :    R :    C :    】 | "A" |
| sumDiscCount | integer(int32) | 是 | 折扣次数统计值/兑换的次数 |  |
| sumDiscVal | number(double) | 是 | 折扣结果统计值/兑换的金额 |  |
| itemDiscResultMap | object | 是 | 单项折扣结果(itemCalcDataKey为key) |  |

### com.leadwaycloud.discount.calculate.model.bo.ItemDiscountResultBO

阶梯商品折扣结果

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| discId | integer(int64) | 是 | 折扣ID | 1 |
| itemCalcDataKey | string | 是 | 活动分组编号 |  |
| stepSeq | integer(int32) | 是 | 阶梯序号 | 1 |
| itemCode | string | 是 | 商品 |  |
| target | boolean | 是 | 是否是目标商品 |  |
| discResultType | string | 是 | 折扣类型  【 A :    R :    C :    】 | "A" |
| itemDiscCount | integer(int32) | 是 | 商品折扣次数 | 1 |
| itemDiscVal | number(double) | 是 | 商品折扣值 | 10 |
| itemShareDiscVal | number(double) | 是 | 商品分摊的折扣值 | 10 |

### com.leadwaycloud.discount.calculate.model.bo.StepItemDiscountResultBO

阶梯商品折扣结果

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| discId | integer(int64) | 是 | 折扣ID | 1 |
| itemCalcDataKey | string | 是 | 活动分组编号 |  |
| stepSeq | integer(int32) | 是 | 阶梯序号 | 1 |
| giftAccountType | string | 否 | 赠送权益会员账户类型(折扣类型=I时有) | "JF" |
| exchangeAccountType | string | 否 | 权益兑换的会员账户类型(折扣类型=E时有) | "JF" |
| exchangeAccountVal | number(double) | 否 | 权益兑换的会员账户权益扣除结果(折扣类型=E时有) | 100 |
| deductAccountResultMap | object | 是 | 会员账户权益扣除结果 |  |
| itemDiscountResultList | ItemDiscountResultBO[] | 是 | 阶梯商品折扣结果 |  |

### com.leadwaycloud.discount.calculate.model.vo.discount.DiscResultVO

返回数据

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| tradeDiscResultMap | object | 是 | 交易折扣结果 |  |
| itemDiscResultMap | object | 是 | 商品折扣结果 |  |
| couponResultMap | object | 否 | 优惠券核销结果 |  |
| tradeDiscResultDetailMap | object | 是 | 折扣结果详情 |  |
| deductResultMap | object | 否 | 权益扣除结果 |  |
| giftResultMap | object | 否 | 权益赠送结果 |  |

### com.leadwaycloud.discount.calculate.model.vo.discount.ItemDiscResultVO

商品折扣结果

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| discResultType | string | 是 | 折扣类型  【 A :    R :    C :    】 | "A" |
| discVal | number(double) | 是 | 折扣值 | 10 |
| discShareVal | number(double) | 是 | 分摊折扣值 | 10 |

### com.leadwaycloud.discount.calculate.model.vo.discount.TradeDiscResultCouponVO

会员赠送优惠券(类型=C时有值)

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| couponActiveGroupCode | string | 是 | 优惠券活动分组编号 | "3242312313" |
| couponCount | integer(int64) | 是 | 发放优惠券张数 | 0 |

### com.leadwaycloud.discount.calculate.model.vo.discount.TradeDiscResultEquityVO

会员账户扣除权益(权益换购时有值)

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| accountType | string | 是 | 权益会员账户类型 | "JF" |
| equityVal | number(double) | 是 | 权益值 | 10 |

### com.leadwaycloud.discount.calculate.model.vo.discount.TradeDiscResultVO

交易折扣结果

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| discResultType | string | 是 | 折扣类型  【 A :    R :    C :    】 | "A" |
| discVal | number(double) | 是 | 折扣值 | 10 |
| giftEquityMap | object | 否 | 会员账户赠送权益(类型=I时有值) |  |
| deductEquityMap | object | 否 | 会员账户扣除权益(权益换购时有值) |  |
| giftCouponMap | object | 否 | 会员赠送优惠券(类型=C时有值) |  |

### com.leadwaycloud.discount.core.business.rule.model.DeductAccountBO

会员账户权益扣除结果

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| accountType | string | 是 | 会员账户类型 | "JF" |
| accountName | string | 是 | 会员账户名称 | "积分" |
| deductVal | number(double) | 是 | 扣除值 | 10 |

### com.leadwaycloud.discount.calculate.model.dto.TradeFinishDTO

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| merchantId | integer(int64) | 是 | 商户ID | 574533689957248 |
| companyId | string | 是 | 公司ID | "1" |
| code | string | 是 | 订单号 | "241251244423123" |

### com.leadwaycloud.discount.calculate.model.bo.TradeDiscountResultBO

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| tradeDTO | TradeDTO | 是 |  |  |
| discResultVO | DiscResultVO | 是 |  |  |

### com.leadwaycloud.discount.calculate.model.dto.TradeCancelDTO

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| merchantId | integer(int64) | 是 | 商户ID | 574533689957248 |
| companyId | string | 是 | 公司ID | "1" |
| code | string | 是 | 订单号 | "241251244423123" |

### com.leadwaycloud.core.model.RJava.lang.Void

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

### com.leadwaycloud.discount.calculate.model.dto.sale.order.CustomerDTO

客户

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| barcode | string | 是 | 会员编号 | "002391117577753472" |

### com.leadwaycloud.discount.calculate.model.dto.sale.order.SaleOrderDTO

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| merchantId | integer(int64) | 是 | 商户ID | 574533689957248 |
| companyId | string | 是 | 公司ID | "1" |
| channel | string | 是 | 渠道 | "STORE_POS" |
| code | string | 否 | 订单号 | "241251244423123" |
| member | CustomerDTO | 是 |  |  |
| itemList | ItemDTO[] | 是 | 商品 |  |
| businessTime | string | 是 | 交易时间 | "2022-03-16 13:09:11" |
| requestTime | string | 是 | 请求时间 | "2022-03-16 13:09:11.212" |
| onlyAllowedDiscountList | integer(int64)[] | 否 | 仅允许参与的折扣 |  |

### com.leadwaycloud.discount.calculate.model.dto.coupon.ExportCouponDTO

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| couponActiveDetailId | integer(int64) | 是 | 优惠券活动详情ID | 1 |
| generateCount | integer(int64) | 是 | 导出数量 | 1 |

### com.leadwaycloud.discount.calculate.model.dto.coupon.SystemGrantCouponDTO

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| couponActiveDetailId | integer(int64) | 是 | 优惠券活动详情ID | 1 |
| memberCode | string | 是 | 会员号 |  |

### com.leadwaycloud.core.model.RCom.leadwaycloud.discount.core.model.po.entity.Coupon

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | Coupon | 否 |  |  |

### com.leadwaycloud.discount.core.model.po.entity.Coupon

返回数据

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| id | integer(int64) | 是 | ID | 1 |
| merchantId | integer(int64) | 是 | 商户ID | 1 |
| code | string | 是 | 优惠券编号 | "1" |
| couponActiveId | integer(int64) | 是 | 优惠券活动ID | 1 |
| couponActiveDetailId | integer(int64) | 是 | 优惠券活动详情ID | 1 |
| couponActiveGroupCode | string | 是 | 优惠券活动分组编号 | "3242312313" |
| couponDesignId | integer(int64) | 是 | 优惠券设计ID | 1 |
| grantMethod | string | 是 | 发放方式  【 ORDER : 订单发放   RECEIVE : 自主领取   SYSTEM : 系统发放   IMPORT : 外部导入   】 | "ORDER" |
| status | string | 是 | 状态  【 VALID : 有效   VOID : 作废   USED : 已用   EXPIRED : 过期   】 | "VALID" |
| named | boolean | 是 | 是否为记名券 |  |
| triggeringCount | integer(int32) | 是 | 单次使用可触发折扣次数 | 1 |
| memberCode | string | 否 | 会员编号 |  |
| expireTime | string | 否 | 过期时间 | "2020-10-11 13:09:11" |
| issuer | integer(int64) | 否 | 发放人 |  |
| distributionTime | string | 否 | 发放时间 | "2020-10-11 13:09:11" |
| verificationTime | string | 否 | 核销时间 | "2020-10-11 13:09:11" |
| design | CouponDesign | 否 |  |  |

### com.leadwaycloud.discount.core.model.po.entity.CouponDesign

优惠券样式设计

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| id | integer(int64) | 否 |  |  |
| createBy | integer(int64) | 否 |  |  |
| createTime | string(date-time) | 否 |  |  |
| updateBy | integer(int64) | 否 |  |  |
| updateTime | string(date-time) | 否 |  |  |
| merchantId | integer(int64) | 是 | 商户ID | 1 |
| companyId | integer(int64) | 是 | 公司ID | 1 |
| couponActiveId | integer(int64) | 是 | 优惠券活动ID | 1 |
| config | string | 是 | 配置 | "xxx" |

### com.leadwaycloud.discount.calculate.model.dto.coupon.GrantMemberCouponDTO

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| channel | string | 是 | 渠道 |  |
| couponActiveDetailId | integer(int64) | 是 | 优惠券活动详情ID | 1 |
| member | MemberDTO | 是 |  |  |

### com.leadwaycloud.discount.calculate.model.dto.coupon.MemberBindCouponDTO

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| merchantId | integer(int64) | 是 | 商户ID |  |
| memberCode | string | 是 | 会员号 |  |
| couponCode | string | 是 | 优惠券券号 | "1" |

### com.leadwaycloud.core.model.RJava.lang.Object

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

### com.leadwaycloud.core.model.PCom.leadwaycloud.discount.core.model.po.entity.DiscountResult

返回数据

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| first | boolean | 是 | 是否是第一页 | true |
| last | boolean | 是 | 是否是最后一页 | true |
| totalPages | integer(int32) | 是 | 总页数 | 1 |
| totalElements | integer(int64) | 是 | 总数据条数 | 1 |
| size | integer(int32) | 是 | 每页条数 | 10 |
| number | integer(int32) | 是 | 当前页码 | 0 |
| numberOfElements | integer(int32) | 是 | 当前页数据条数 | 0 |
| dataList | DiscountResult[] | 否 | 当前页数据 |  |

### com.leadwaycloud.core.model.RCom.leadwaycloud.core.model.PCom.leadwaycloud.discount.core.model.po.entity.DiscountResult

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | DiscountResult | 否 |  |  |

### com.leadwaycloud.discount.core.model.po.entity.DiscountResult

当前页数据

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| id | integer(int64) | 否 |  |  |
| createBy | integer(int64) | 否 |  |  |
| createTime | string(date-time) | 否 |  |  |
| updateBy | integer(int64) | 否 |  |  |
| updateTime | string(date-time) | 否 |  |  |
| merchantId | integer(int64) | 是 | 商户ID | 1 |
| companyId | integer(int64) | 是 | 商户ID | 1 |
| orderCode | string | 是 | 订单号 | "241251244423123" |
| channel | string | 是 | 渠道 | "STORE_POS" |
| tradeData | string | 是 | 交易数据(折扣计算接口提交的交易json数据) |  |
| finish | boolean | 是 | 交易是否已经完成 |  |
| businessTime | string | 是 | 交易时间 | "2022-03-16 13:09:11" |
| requestTime | string | 是 | 请求时间 | "2022-03-16 13:09:11.121" |

### com.leadwaycloud.core.model.RJava.util.ListCom.leadwaycloud.discount.core.model.po.entity.DiscountResultMaster

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | DiscountResultMaster[] | 否 | 返回数据 |  |

### com.leadwaycloud.discount.core.model.po.entity.DiscountResultMaster

返回数据

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| id | integer(int64) | 否 |  |  |
| createBy | integer(int64) | 否 |  |  |
| createTime | string(date-time) | 否 |  |  |
| updateBy | integer(int64) | 否 |  |  |
| updateTime | string(date-time) | 否 |  |  |
| merchantId | integer(int64) | 否 | 商户ID | 1 |
| resultId | integer(int64) | 是 | 折扣结果ID | 1 |
| discMasterId | integer(int64) | 是 | 折扣主数据ID | 1 |
| discCode | string | 是 | 折扣编号 | "#1" |
| discName | string | 是 | 折扣名称 | "#1直接扣减" |
| discDescription | string | 是 | 折扣描述 | "..." |
| calcIndex | integer(int32) | 是 | 计算顺序(数值越小越先计算) | 999999 |
| model | string | 是 | 模式 | "I" |
| sortIndex | integer(int32) | 否 | 规则内分组排序(数值越小越先计算) | 999999 |
| openOverflow | boolean | 否 | 是否允许折扣值溢出 | false |
| baseType | string | 否 | 最优方式  【 MERCHANT : 商户最优   MEMBER : 顾客最优   】 | "MEMBER" |
| shareType | string | 否 | 折扣分摊方式  【 NONE : 不分摊   GROUP : 组内参与商品分摊   ALL : 组合全部商品分摊   】 | "NONE" |
| discResultType | string | 是 | 折扣类型  【 A :    R :    C :    】 | "A" |
| itemCalcDataKey | string | 是 | 活动分组编号 |  |
| sumDiscCount | integer(int64) | 是 | 折扣次数统计值 |  |
| sumDiscVal | number(double) | 是 | 折扣结果统计值 |  |
| useCouponSet | string[] | 否 | 使用的优惠券 | ["3366991234566"] |
| discountResultMasterDetailList | DiscountResultMasterDetail[] | 否 | 折扣结果主数据详情 |  |

### com.leadwaycloud.discount.core.model.po.entity.DiscountResultMasterDetail

折扣结果主数据详情

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| id | integer(int64) | 否 |  |  |
| createBy | integer(int64) | 否 |  |  |
| createTime | string(date-time) | 否 |  |  |
| updateBy | integer(int64) | 否 |  |  |
| updateTime | string(date-time) | 否 |  |  |
| merchantId | integer(int64) | 否 | 商户ID | 1 |
| resultId | integer(int64) | 是 | 折扣结果ID | 1 |
| resultMasterId | integer(int64) | 是 | 折扣结果主数据ID | 1 |
| discMasterId | integer(int64) | 是 | 折扣主数据ID | 1 |
| itemCode | string | 是 | 商品编号 |  |
| stepSeq | integer(int32) | 是 | 阶梯序号 | 1 |
| target | boolean | 是 | 是否是目标商品 |  |
| discResultType | string | 是 | 折扣类型  【 A :    R :    C :    】 | "A" |
| itemDiscCount | integer(int32) | 是 | 商品折扣次数 |  |
| itemDiscVal | number(double) | 是 | 商品折扣值 | 10 |
| itemShareDiscVal | number(double) | 是 | 商品分摊折扣值 |  |
| giftAccountType | string | 否 | 赠送权益会员账户类型(折扣类型=I时有) | "JF" |
| exchangeAccountType | string | 否 | 权益兑换的会员账户类型(折扣类型=E时有) | "JF" |
| exchangeAccountVal | number(double) | 否 | 权益兑换的会员账户权益扣除结果(折扣类型=E时有) | 100 |
| deductAccountList | DeductAccountBO[] | 否 | 会员账户扣除权益信息 | [] |
| useCouponActiveGroupCodeSet | string[] | 否 | 用券优惠券活动分组编号 | ["3242312313"] |
| giftCouponActiveGroupCodeSet | string[] | 否 | 发券优惠券活动分组编号 | ["3242312313"] |

### com.leadwaycloud.core.model.RJava.util.ListJava.util.MapJava.lang.StringJava.lang.Object

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object[] | 否 | 返回数据 |  |

### com.leadwaycloud.core.model.RJava.util.ListCom.leadwaycloud.discount.core.model.po.entity.CouponActiveDetail

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | CouponActiveDetail[] | 否 | 返回数据 |  |

### com.leadwaycloud.discount.core.business.rule.model.ChannelScopeFormatBO

渠道范围

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| exclude | string[] | 否 | 排除的渠道 |  |
| include | string[] | 否 | 包含的渠道(全部渠道可不设置) |  |

### com.leadwaycloud.discount.core.business.rule.model.MemberCategoryBO

允许的分类(全部分类可不设置)

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| id | string | 是 | 分类ID | "1" |
| code | string | 是 | 分类编号 | "1" |
| name | string | 是 | 分类名称 | "xxx" |

### com.leadwaycloud.discount.core.business.rule.model.MemberCodeBO

允许的会员(全部会员可不设置)

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| id | integer(int64) | 是 | 会员ID | 1 |
| code | string | 是 | 会员编号 | "1" |
| name | string | 是 | 会员名称 | "xxx" |

### com.leadwaycloud.discount.core.business.rule.model.MemberScopeFormatBO

会员范围

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| category | MemberCategoryBO[] | 否 | 允许的分类(全部分类可不设置) |  |
| sex | string[] | 否 | 允许的性别(全部性别可不设置) |  |
| age | integer(int32)[] | 否 | 允许的年龄(全部年龄可不设置) |  |
| tag | string[] | 否 | 允许的标签(全部标签可不设置) |  |
| member | MemberCodeBO[] | 否 | 允许的会员(全部会员可不设置) |  |
| birthdayTrigger | boolean | 否 | 生日触发 | true |

### com.leadwaycloud.discount.core.model.po.entity.CouponActiveDetail

返回数据

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| id | integer(int64) | 否 |  |  |
| createBy | integer(int64) | 否 |  |  |
| createTime | string(date-time) | 否 |  |  |
| updateBy | integer(int64) | 否 |  |  |
| updateTime | string(date-time) | 否 |  |  |
| merchantId | integer(int64) | 是 | 商户ID | 1 |
| couponActiveId | integer(int64) | 是 | 活动ID | 1 |
| itemGroupCode | string | 是 | 活动分组编号 |  |
| couponDesignId | integer(int64) | 是 | 优惠券设计ID | 12345 |
| named | boolean | 是 | 是否为记名券 |  |
| triggeringCount | integer(int32) | 是 | 单次使用可触发折扣次数 | 1 |
| maxGrantQty | integer(int64) | 是 | 最大发放张数 | 1000 |
| endUseTime | string | 否 | 优惠券有效截止时间 | "2020-10-11 13:09:11" |
| channelScope | ChannelScopeFormatBO | 否 |  |  |
| memberScope | MemberScopeFormatBO | 否 |  |  |
| startDate | string | 是 | 活动开始日期 | "2022-01-01" |
| endDate | string | 是 | 活动结束日期 | "2099-12-31" |
| monthDay | integer(int32) | 否 | 每月第几日 |  |
| w1 | boolean | 否 | 周一 |  |
| w2 | boolean | 否 | 周二 |  |
| w3 | boolean | 否 | 周三 |  |
| w4 | boolean | 否 | 周四 |  |
| w5 | boolean | 否 | 周五 |  |
| w6 | boolean | 否 | 周六 |  |
| w7 | boolean | 否 | 周日 |  |
| startTime1 | string | 是 | 折扣开始时间1 | "08:00:00" |
| endTime1 | string | 是 | 折扣结束时间1 | "10:00:00" |
| startTime2 | string | 否 | 折扣开始时间2 | "11:00:00" |
| endTime2 | string | 否 | 折扣结束时间2 | "14:00:00" |
| startTime3 | string | 否 | 折扣开始时间3 | "18:00:00" |
| endTime3 | string | 否 | 折扣结束时间3 | "20:00:00" |
| design | CouponDesign | 否 |  |  |

### com.leadwaycloud.core.model.RJava.util.ListCom.leadwaycloud.discount.core.model.po.entity.Coupon

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | Coupon[] | 否 | 返回数据 |  |

### com.leadwaycloud.core.model.R

| 名称 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| status | integer(int32) | 是 | 状态码 | 200 |
| code | string | 是 | 业务代码 | "000" |
| message | string | 是 | 消息描述 | "成功" |
| data | object | 否 | 返回数据 |  |

