@be-link/ecommerce-promotion-service-node-sdk 0.0.23 → 0.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,7 @@ declare class PointsMallService extends BaseService implements Service.PointsMal
8
8
  queryProducts(request: Service.Request.queryProducts): Promise<Service.Response.queryProducts>;
9
9
  getProductDetail(request: Service.Request.getProductDetail): Promise<Service.Response.getProductDetail>;
10
10
  queryEnabledAndOnlineProducts(request: Service.Request.queryEnabledAndOnlineProducts): Promise<Service.Response.queryEnabledAndOnlineProducts>;
11
+ getAvailableCouponCountForProduct(request: Service.Request.getAvailableCouponCountForProduct): Promise<Service.Response.getAvailableCouponCountForProduct>;
11
12
  }
12
13
  export declare const pointsMallService: PointsMallService;
13
14
  export default pointsMallService;
@@ -39,6 +39,9 @@ let PointsMallService = class PointsMallService extends BaseService_1.default {
39
39
  queryEnabledAndOnlineProducts(request) {
40
40
  return (0, http_1.callApi)(this.getApiUrl(this.queryEnabledAndOnlineProducts), request);
41
41
  }
42
+ getAvailableCouponCountForProduct(request) {
43
+ return (0, http_1.callApi)(this.getApiUrl(this.getAvailableCouponCountForProduct), request);
44
+ }
42
45
  };
43
46
  __decorate([
44
47
  (0, tsoa_1.OperationId)('批量创建积分商城商品'),
@@ -70,6 +73,11 @@ __decorate([
70
73
  (0, tsoa_1.Post)('query-enabled-and-online-products'),
71
74
  __param(0, (0, tsoa_1.Body)())
72
75
  ], PointsMallService.prototype, "queryEnabledAndOnlineProducts", null);
76
+ __decorate([
77
+ (0, tsoa_1.OperationId)('查询指定商品用户可用优惠券的数量'),
78
+ (0, tsoa_1.Post)('get-available-coupon-count-for-product'),
79
+ __param(0, (0, tsoa_1.Body)())
80
+ ], PointsMallService.prototype, "getAvailableCouponCountForProduct", null);
73
81
  PointsMallService = __decorate([
74
82
  (0, tsoa_1.Route)('points-mall'),
75
83
  (0, tsoa_1.Tags)('PointsMall')
@@ -102,6 +102,13 @@ export declare namespace Service {
102
102
  /** 每页数量 */
103
103
  pageSize?: number;
104
104
  }
105
+ /** 查询指定商品用户可用优惠券的数量 */
106
+ export interface getAvailableCouponCountForProduct {
107
+ /** 用户ID */
108
+ userId: string;
109
+ /** 商品ID */
110
+ productId: string;
111
+ }
105
112
  /** 根据商品ID查询商品详情 */
106
113
  export interface getProductDetail {
107
114
  /** 商品ID */
@@ -151,6 +158,11 @@ export declare namespace Service {
151
158
  /** 每页数量 */
152
159
  pageSize: number;
153
160
  }
161
+ /** 查询指定商品用户可用优惠券的数量响应 */
162
+ interface getAvailableCouponCountForProduct {
163
+ /** 可用优惠券数量 */
164
+ count: number;
165
+ }
154
166
  }
155
167
  interface PointsMallController {
156
168
  /** 批量创建积分商城商品 */
@@ -165,5 +177,7 @@ export declare namespace Service {
165
177
  getProductDetail(request: Service.Request.getProductDetail): Promise<Service.Response.getProductDetail>;
166
178
  /** 查询开启且上架的积分商城列表 */
167
179
  queryEnabledAndOnlineProducts(request: Service.Request.queryEnabledAndOnlineProducts): Promise<Service.Response.queryEnabledAndOnlineProducts>;
180
+ /** 查询指定商品用户可用优惠券的数量 */
181
+ getAvailableCouponCountForProduct(request: Service.Request.getAvailableCouponCountForProduct): Promise<Service.Response.getAvailableCouponCountForProduct>;
168
182
  }
169
183
  }
@@ -3,7 +3,7 @@ import BaseService from '../BaseService';
3
3
  declare class PricingCalculationService extends BaseService implements Service.PricingCalculationController {
4
4
  protected prefixUrl: string;
5
5
  calculateOrderPrice(request: Service.Request.calculateOrderPrice): Promise<Service.Response.calculateOrderPrice>;
6
- calculateWithSelectedDiscounts(request: Service.Request.calculateWithSelectedDiscounts): Promise<Service.Response.calculateWithSelectedDiscounts>;
6
+ calculateWithSelectedDiscounts(request: Service.Request.calculateWithSelectedDiscounts): Promise<Service.Response.calculateOrderPrice>;
7
7
  calculatePointsMallOrder(request: Service.Request.calculatePointsMallOrder): Promise<Service.Response.calculatePointsMallOrder>;
8
8
  recalculatePointsMallOrder(request: Service.Request.recalculatePointsMallOrder): Promise<Service.Response.recalculatePointsMallOrder>;
9
9
  }
@@ -77,8 +77,6 @@ export declare namespace Service {
77
77
  quantity: number;
78
78
  /** SKU ID */
79
79
  skuId: string;
80
- /** 订单来源 */
81
- source: ENUM.PRICING_CALCULATION_ENUM.ORDER_SOURCE;
82
80
  }
83
81
  /** 用户手动选择优惠后算价 */
84
82
  interface calculateWithSelectedDiscounts {
@@ -123,28 +121,6 @@ export declare namespace Service {
123
121
  }
124
122
  }
125
123
  namespace Response {
126
- /** 提单页算价响应 */
127
- interface calculateOrderPrice {
128
- /** 商品原价总计(分) */
129
- originalAmount: number;
130
- /** 总优惠金额(分) */
131
- totalDiscountAmount: number;
132
- /** 优惠后金额(分) */
133
- discountedAmount: number;
134
- /** 最高抵扣金额(分) */
135
- pointsMaxDeductionAmount: number;
136
- /** 剩余待支付金额(分) */
137
- remainingAmount: number;
138
- /** 最优优惠券组合 */
139
- optimalCoupons: {
140
- couponCode: string;
141
- discountAmount: number;
142
- }[];
143
- /** 可用优惠券模版 */
144
- availableCouponTemplates?: string[];
145
- /** 积分抵扣规则 */
146
- pointsDeductionRule?: Entity.PointsDeductionRule;
147
- }
148
124
  /** 优惠明细项 */
149
125
  interface DiscountDetailItem {
150
126
  /** 优惠类型(coupon-优惠券、points-积分) */
@@ -166,7 +142,7 @@ export declare namespace Service {
166
142
  invalidCoupons?: string[];
167
143
  }
168
144
  /** 用户手动选择优惠后算价响应 */
169
- interface calculateWithSelectedDiscounts {
145
+ interface calculateOrderPrice {
170
146
  /** 本单最多可用积分 */
171
147
  maxUsablePoints: number;
172
148
  /** 价格计算结果 */
@@ -182,7 +158,15 @@ export declare namespace Service {
182
158
  /** 剩余待支付金额(分) */
183
159
  remainingAmount: number;
184
160
  };
185
- validation: ValidateSelectedCouponResult;
161
+ /** 优惠券组合 */
162
+ selectedCoupons: {
163
+ couponCode: string;
164
+ discountAmount: number;
165
+ }[];
166
+ /** 可用优惠券模版 */
167
+ availableCouponTemplates: string[];
168
+ /** 校验结果 */
169
+ validation?: ValidateSelectedCouponResult;
186
170
  }
187
171
  /** 积分商城提单算价响应 */
188
172
  interface calculatePointsMallOrder {
@@ -231,7 +215,7 @@ export declare namespace Service {
231
215
  /** 提单页算价 */
232
216
  calculateOrderPrice(request: Service.Request.calculateOrderPrice, req: any): Promise<Service.Response.calculateOrderPrice>;
233
217
  /** 用户手动选择优惠后算价 */
234
- calculateWithSelectedDiscounts(request: Service.Request.calculateWithSelectedDiscounts, req: any): Promise<Service.Response.calculateWithSelectedDiscounts>;
218
+ calculateWithSelectedDiscounts(request: Service.Request.calculateWithSelectedDiscounts, req: any): Promise<Service.Response.calculateOrderPrice>;
235
219
  /** 积分商城提单算价 */
236
220
  calculatePointsMallOrder(request: Service.Request.calculatePointsMallOrder, req: any): Promise<Service.Response.calculatePointsMallOrder>;
237
221
  /** 积分商城用户选择后再次算价 */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@be-link/ecommerce-promotion-service-node-sdk",
3
- "version": "0.0.23",
3
+ "version": "0.0.25",
4
4
  "description": "EcommercePromotionService Node.js SDK",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
package/utils/http.d.ts CHANGED
@@ -2,6 +2,9 @@ declare module '@fastify/request-context' {
2
2
  interface RequestContextData {
3
3
  requestId?: string;
4
4
  traceMessageId?: string;
5
+ pandoraUserId?: string;
6
+ beLinkUserId?: string;
7
+ pandoraRoleId?: string;
5
8
  }
6
9
  }
7
10
  export declare function callApi<T extends (...args: any[]) => Promise<any>>(url: string, request?: Parameters<T>[0]): Promise<Awaited<ReturnType<T>>>;
package/utils/http.js CHANGED
@@ -56,10 +56,18 @@ const request_context_1 = require("@fastify/request-context");
56
56
  });
57
57
  async function callApi(url, request) {
58
58
  const requestId = request_context_1.requestContext.get('requestId') || request_context_1.requestContext.get('traceMessageId') || (0, uuid_1.v4)();
59
+ const pandoraUserId = request_context_1.requestContext.get('pandoraUserId') || '';
60
+ const beLinkUserId = request_context_1.requestContext.get('beLinkUserId') || '';
61
+ const pandoraRoleId = request_context_1.requestContext.get('pandoraRoleId') || '';
59
62
  try {
60
63
  console.info(`准备发起ecommerce-promotion-service请求[${requestId}]: ${url}, 参数: ${JSON.stringify(request)}`);
61
64
  const response = await axios_1.default.post(url, request || {}, {
62
- headers: { 'x-request-id': requestId },
65
+ headers: {
66
+ 'x-request-id': requestId,
67
+ 'x-belink-pandora-userid': pandoraUserId,
68
+ 'x-belink-userid': beLinkUserId,
69
+ 'x-belink-pandora-roleid': pandoraRoleId,
70
+ },
63
71
  });
64
72
  const responseData = response.data;
65
73
  return responseData.data;