@be-link/ecommerce-promotion-service-node-sdk 0.1.57 → 0.1.59

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.
package/enum.d.ts CHANGED
@@ -498,6 +498,24 @@ export declare namespace ENUM {
498
498
  SUCCESS = "\u53D1\u653E\u6210\u529F",
499
499
  FAILED = "\u53D1\u653E\u5931\u8D25"
500
500
  }
501
+ /** 会员权益领取状态(前端展示口径) */
502
+ enum BENEFIT_CLAIM_STATUS {
503
+ /** 未领取 */
504
+ UNCLAIMED = "UNCLAIMED",
505
+ /** 已领取未使用 */
506
+ UNUSED = "UNUSED",
507
+ /** 已使用 */
508
+ USED = "USED",
509
+ /** 已失效 */
510
+ INVALID = "INVALID"
511
+ }
512
+ /** 会员权益领取状态中文 */
513
+ enum BENEFIT_CLAIM_STATUS_CHINESE {
514
+ UNCLAIMED = "\u672A\u9886\u53D6",
515
+ UNUSED = "\u672A\u4F7F\u7528",
516
+ USED = "\u5DF2\u4F7F\u7528",
517
+ INVALID = "\u5DF2\u5931\u6548"
518
+ }
501
519
  /** 权益回收状态 */
502
520
  enum RECOVERY_STATUS {
503
521
  /** 待回收 */
package/enum.js CHANGED
@@ -565,6 +565,26 @@ var ENUM;
565
565
  BENEFIT_RECORD_STATUS_CHINESE["SUCCESS"] = "\u53D1\u653E\u6210\u529F";
566
566
  BENEFIT_RECORD_STATUS_CHINESE["FAILED"] = "\u53D1\u653E\u5931\u8D25";
567
567
  })(BENEFIT_RECORD_STATUS_CHINESE = MEMBER_ENUM.BENEFIT_RECORD_STATUS_CHINESE || (MEMBER_ENUM.BENEFIT_RECORD_STATUS_CHINESE = {}));
568
+ /** 会员权益领取状态(前端展示口径) */
569
+ let BENEFIT_CLAIM_STATUS;
570
+ (function (BENEFIT_CLAIM_STATUS) {
571
+ /** 未领取 */
572
+ BENEFIT_CLAIM_STATUS["UNCLAIMED"] = "UNCLAIMED";
573
+ /** 已领取未使用 */
574
+ BENEFIT_CLAIM_STATUS["UNUSED"] = "UNUSED";
575
+ /** 已使用 */
576
+ BENEFIT_CLAIM_STATUS["USED"] = "USED";
577
+ /** 已失效 */
578
+ BENEFIT_CLAIM_STATUS["INVALID"] = "INVALID";
579
+ })(BENEFIT_CLAIM_STATUS = MEMBER_ENUM.BENEFIT_CLAIM_STATUS || (MEMBER_ENUM.BENEFIT_CLAIM_STATUS = {}));
580
+ /** 会员权益领取状态中文 */
581
+ let BENEFIT_CLAIM_STATUS_CHINESE;
582
+ (function (BENEFIT_CLAIM_STATUS_CHINESE) {
583
+ BENEFIT_CLAIM_STATUS_CHINESE["UNCLAIMED"] = "\u672A\u9886\u53D6";
584
+ BENEFIT_CLAIM_STATUS_CHINESE["UNUSED"] = "\u672A\u4F7F\u7528";
585
+ BENEFIT_CLAIM_STATUS_CHINESE["USED"] = "\u5DF2\u4F7F\u7528";
586
+ BENEFIT_CLAIM_STATUS_CHINESE["INVALID"] = "\u5DF2\u5931\u6548";
587
+ })(BENEFIT_CLAIM_STATUS_CHINESE = MEMBER_ENUM.BENEFIT_CLAIM_STATUS_CHINESE || (MEMBER_ENUM.BENEFIT_CLAIM_STATUS_CHINESE = {}));
568
588
  /** 权益回收状态 */
569
589
  let RECOVERY_STATUS;
570
590
  (function (RECOVERY_STATUS) {
@@ -12,6 +12,7 @@ declare class BenefitService extends BaseService implements Service.BenefitContr
12
12
  deleteConfig(request: Service.Request.deleteConfig): Promise<Service.Response.deleteConfig>;
13
13
  listConfigsByTemplate(request: Service.Request.listConfigsByTemplate): Promise<Service.Response.listConfigsByTemplate>;
14
14
  getBenefitStatus(request: Service.Request.getBenefitStatus): Promise<Service.Response.getBenefitStatus>;
15
+ getBenefitStatusByUserId(request: Service.Request.getBenefitStatusByUserId): Promise<Service.Response.getBenefitStatusByUserId>;
15
16
  getBlackDiamondTemplateIdByCity(request: Service.Request.getBlackDiamondTemplateIdByCity): Promise<Service.Response.getBlackDiamondTemplateIdByCity>;
16
17
  }
17
18
  export declare const benefitService: BenefitService;
@@ -51,6 +51,9 @@ let BenefitService = class BenefitService extends BaseService_1.default {
51
51
  getBenefitStatus(request) {
52
52
  return (0, http_1.callApi)(this.getApiUrl(this.getBenefitStatus), request);
53
53
  }
54
+ getBenefitStatusByUserId(request) {
55
+ return (0, http_1.callApi)(this.getApiUrl(this.getBenefitStatusByUserId), request);
56
+ }
54
57
  getBlackDiamondTemplateIdByCity(request) {
55
58
  return (0, http_1.callApi)(this.getApiUrl(this.getBlackDiamondTemplateIdByCity), request);
56
59
  }
@@ -105,6 +108,11 @@ __decorate([
105
108
  (0, tsoa_1.Post)('get-benefit-status'),
106
109
  __param(0, (0, tsoa_1.Body)())
107
110
  ], BenefitService.prototype, "getBenefitStatus", null);
111
+ __decorate([
112
+ (0, tsoa_1.OperationId)('按用户查询当前会员权益状态'),
113
+ (0, tsoa_1.Post)('get-benefit-status-by-user-id'),
114
+ __param(0, (0, tsoa_1.Body)())
115
+ ], BenefitService.prototype, "getBenefitStatusByUserId", null);
108
116
  __decorate([
109
117
  (0, tsoa_1.OperationId)('按城市查询黑钻模板ID'),
110
118
  (0, tsoa_1.Post)('get-black-diamond-template-id-by-city'),
@@ -48,8 +48,8 @@ export declare namespace Service {
48
48
  triggerType: string;
49
49
  /** 生命周期最多领取次数,null 为不限 */
50
50
  maxReceiveCount: number | null;
51
- /** 关联券模板ID(券权益时使用) */
52
- couponTemplateId: string;
51
+ /** 券候选ID集合(N选1,最多3个) */
52
+ couponCandidateIds: string[];
53
53
  /** 发放数量(券权益时生效) */
54
54
  quantity: number;
55
55
  /** 发放积分数量 */
@@ -74,14 +74,23 @@ export declare namespace Service {
74
74
  status: string;
75
75
  amount?: number;
76
76
  };
77
- /** 券权益状态 */
78
- coupon?: {
79
- status: string;
80
- };
77
+ /**
78
+ * 券权益状态:与定价/用户券 {@link ENUM.PRICING_CALCULATION_ENUM.COUPON_STATUS} 一致;
79
+ * 中文仅取自 {@link ENUM.PRICING_CALCULATION_ENUM.COUPON_STATUS_CHINESE},不做业务侧再映射。
80
+ */
81
+ couponStatus?: ENUM.PRICING_CALCULATION_ENUM.COUPON_STATUS;
82
+ couponStatusChinese?: ENUM.PRICING_CALCULATION_ENUM.COUPON_STATUS_CHINESE;
81
83
  /** 酒旅权益状态 */
82
84
  hotelTravel?: {
83
85
  status: string;
84
86
  };
87
+ /** 权益领取态列表 */
88
+ benefitClaims?: Array<{
89
+ benefitId: string;
90
+ benefitSubType: ENUM.MEMBER_ENUM.BENEFIT_SUB_TYPE;
91
+ claimStatus: ENUM.MEMBER_ENUM.BENEFIT_CLAIM_STATUS;
92
+ selectedCouponId?: string;
93
+ }>;
85
94
  }
86
95
  }
87
96
  namespace Request {
@@ -176,8 +185,8 @@ export declare namespace Service {
176
185
  triggerType: string;
177
186
  /** 生命周期最多领取次数,null 为不限 */
178
187
  maxReceiveCount?: number | null;
179
- /** 关联券模板ID(券权益时使用) */
180
- couponTemplateId?: string;
188
+ /** 券候选ID集合(N选1,最多3个) */
189
+ couponCandidateIds?: string[];
181
190
  /** 发放数量(券权益时生效) */
182
191
  quantity?: number;
183
192
  /** 发放积分数量 */
@@ -201,8 +210,8 @@ export declare namespace Service {
201
210
  triggerType?: string;
202
211
  /** 生命周期最多领取次数,null 为不限 */
203
212
  maxReceiveCount?: number | null;
204
- /** 关联券模板ID(券权益时使用) */
205
- couponTemplateId?: string;
213
+ /** 券候选ID集合(N选1,最多3个) */
214
+ couponCandidateIds?: string[];
206
215
  /** 发放数量(券权益时生效) */
207
216
  quantity?: number;
208
217
  /** 发放积分数量 */
@@ -229,6 +238,11 @@ export declare namespace Service {
229
238
  /** 会员订单号 */
230
239
  memberOrderId: string;
231
240
  }
241
+ /** 按用户查询当前会员权益状态 */
242
+ interface getBenefitStatusByUserId {
243
+ /** 用户ID */
244
+ userId: string;
245
+ }
232
246
  /** 按城市查询黑钻模板ID */
233
247
  interface getBlackDiamondTemplateIdByCity {
234
248
  /** 城市ID */
@@ -298,6 +312,8 @@ export declare namespace Service {
298
312
  type listConfigsByTemplate = Entity.BenefitConfig[];
299
313
  /** 会员订单权益状态 */
300
314
  type getBenefitStatus = Entity.BenefitStatus;
315
+ /** 按用户查询当前会员权益状态 */
316
+ type getBenefitStatusByUserId = Entity.BenefitStatus;
301
317
  /** 按城市查询黑钻模板ID */
302
318
  interface getBlackDiamondTemplateIdByCity {
303
319
  /** 模板ID */
@@ -315,6 +331,7 @@ export declare namespace Service {
315
331
  deleteConfig(request: Request.deleteConfig): Promise<Response.deleteConfig>;
316
332
  listConfigsByTemplate(request: Request.listConfigsByTemplate): Promise<Response.listConfigsByTemplate>;
317
333
  getBenefitStatus(request: Request.getBenefitStatus): Promise<Response.getBenefitStatus>;
334
+ getBenefitStatusByUserId(request: Request.getBenefitStatusByUserId): Promise<Response.getBenefitStatusByUserId>;
318
335
  getBlackDiamondTemplateIdByCity(request: Request.getBlackDiamondTemplateIdByCity): Promise<Response.getBlackDiamondTemplateIdByCity>;
319
336
  }
320
337
  }
@@ -5,6 +5,8 @@ declare class MemberService extends BaseService implements Service.MemberControl
5
5
  triggerMemberOrderPaid(request: Service.Request.triggerMemberOrderPaid): Promise<Service.Response.triggerMemberOrderPaid>;
6
6
  recoverMemberOrderRefund(request: Service.Request.recoverMemberOrderRefund): Promise<Service.Response.recoverMemberOrderRefund>;
7
7
  listBenefitOfficers(request: Service.Request.listBenefitOfficers): Promise<Service.Response.listBenefitOfficers>;
8
+ listClaimableBenefits(request: Service.Request.listClaimableBenefits): Promise<Service.Response.listClaimableBenefits>;
9
+ claimMemberBenefit(request: Service.Request.claimMemberBenefit): Promise<Service.Response.claimMemberBenefit>;
8
10
  }
9
11
  export declare const memberService: MemberService;
10
12
  export default memberService;
@@ -30,6 +30,12 @@ let MemberService = class MemberService extends BaseService_1.default {
30
30
  listBenefitOfficers(request) {
31
31
  return (0, http_1.callApi)(this.getApiUrl(this.listBenefitOfficers), request);
32
32
  }
33
+ listClaimableBenefits(request) {
34
+ return (0, http_1.callApi)(this.getApiUrl(this.listClaimableBenefits), request);
35
+ }
36
+ claimMemberBenefit(request) {
37
+ return (0, http_1.callApi)(this.getApiUrl(this.claimMemberBenefit), request);
38
+ }
33
39
  };
34
40
  __decorate([
35
41
  (0, tsoa_1.OperationId)('会员正向触发(mock trade)'),
@@ -46,6 +52,16 @@ __decorate([
46
52
  (0, tsoa_1.Post)('list-benefit-officers'),
47
53
  __param(0, (0, tsoa_1.Body)())
48
54
  ], MemberService.prototype, "listBenefitOfficers", null);
55
+ __decorate([
56
+ (0, tsoa_1.OperationId)('查询会员可领取权益列表'),
57
+ (0, tsoa_1.Post)('list-claimable-benefits'),
58
+ __param(0, (0, tsoa_1.Body)())
59
+ ], MemberService.prototype, "listClaimableBenefits", null);
60
+ __decorate([
61
+ (0, tsoa_1.OperationId)('手动领取会员权益'),
62
+ (0, tsoa_1.Post)('claim-member-benefit'),
63
+ __param(0, (0, tsoa_1.Body)())
64
+ ], MemberService.prototype, "claimMemberBenefit", null);
49
65
  MemberService = __decorate([
50
66
  (0, tsoa_1.Route)('member'),
51
67
  (0, tsoa_1.Tags)('Member')
@@ -1,3 +1,4 @@
1
+ import { ENUM } from '../../enum';
1
2
  export declare namespace Service {
2
3
  namespace Entity {
3
4
  /** 会员权益发放/回收记录 */
@@ -14,6 +15,18 @@ export declare namespace Service {
14
15
  membershipType: string;
15
16
  /** 权益类型 */
16
17
  benefitType: string;
18
+ /** 权益ID */
19
+ benefitId: string;
20
+ /** 领取状态 */
21
+ claimStatus: ENUM.MEMBER_ENUM.BENEFIT_CLAIM_STATUS;
22
+ /** 用户选择券ID */
23
+ selectedCouponId: string;
24
+ /** 权益模板ID */
25
+ templateId: string;
26
+ /** 券候选ID集合 */
27
+ couponCandidateIds: string[];
28
+ /** 过期时间 */
29
+ expireAt: number;
17
30
  /** 创建时间(时间戳,毫秒) */
18
31
  createdAt: number;
19
32
  /** 更新时间(时间戳,毫秒) */
@@ -44,17 +57,22 @@ export declare namespace Service {
44
57
  }
45
58
  /** 会员订单退款回收结果 */
46
59
  interface RecoverMemberOrderRefundResult {
47
- /** 券回收结果 */
60
+ /**
61
+ * 券回收结果:英文 + 中文。
62
+ * 正常为用户券 `COUPON_STATUS` / `COUPON_STATUS_CHINESE`;查询失败等兜底为 `RECOVERY_STATUS` / `RECOVERY_STATUS_CHINESE`。
63
+ */
48
64
  coupon: {
49
- status: string;
65
+ status: ENUM.PRICING_CALCULATION_ENUM.COUPON_STATUS | ENUM.MEMBER_ENUM.RECOVERY_STATUS;
66
+ statusChinese: ENUM.PRICING_CALCULATION_ENUM.COUPON_STATUS_CHINESE | ENUM.MEMBER_ENUM.RECOVERY_STATUS_CHINESE;
50
67
  };
51
68
  /** 积分回收结果 */
52
69
  points: {
53
70
  recoveredAmount: number;
54
71
  };
55
- /** 酒旅权益回收结果 */
72
+ /** 酒旅权益回收结果:英文 + 中文 */
56
73
  hotelTravel: {
57
- status: string;
74
+ status: ENUM.MEMBER_ENUM.RECOVERY_STATUS;
75
+ statusChinese: ENUM.MEMBER_ENUM.RECOVERY_STATUS_CHINESE;
58
76
  };
59
77
  }
60
78
  }
@@ -86,23 +104,52 @@ export declare namespace Service {
86
104
  userId: string;
87
105
  /** 逆向单号(退款单号) */
88
106
  reverseOrderId: string;
89
- /** 触发回收时交易侧感知的券状态(需与用户侧实时状态一致) */
90
- couponStatus: string;
107
+ /**
108
+ * 用户券状态英文枚举(`ENUM.PRICING_CALCULATION_ENUM.COUPON_STATUS`),须与用户服务返回的 `couponBenefitCouponStatus` 一致
109
+ */
110
+ couponStatus: ENUM.PRICING_CALCULATION_ENUM.COUPON_STATUS;
91
111
  }
92
112
  /** 查询用户所属福利官 */
93
113
  interface listBenefitOfficers {
94
114
  /** 用户ID */
95
115
  userId: string;
96
116
  }
117
+ /** 查询可领取权益列表 */
118
+ interface listClaimableBenefits {
119
+ /** 用户ID */
120
+ userId: string;
121
+ /** 会员订单号(不传默认最新) */
122
+ orderNo?: string;
123
+ }
124
+ /** 手动领取权益 */
125
+ interface claimMemberBenefit {
126
+ /** 用户ID */
127
+ userId: string;
128
+ /** 会员订单号 */
129
+ orderNo: string;
130
+ /** 权益ID */
131
+ benefitId: string;
132
+ /** 券权益选择的券ID */
133
+ couponId?: string;
134
+ }
97
135
  }
98
136
  namespace Response {
99
137
  type triggerMemberOrderPaid = void;
100
138
  type recoverMemberOrderRefund = Entity.RecoverMemberOrderRefundResult;
101
139
  type listBenefitOfficers = Entity.BenefitOfficerRelation[];
140
+ interface listClaimableBenefits {
141
+ orderNo: string;
142
+ list: Entity.MemberBenefitRecordDTO[];
143
+ }
144
+ interface claimMemberBenefit {
145
+ claimStatus: string;
146
+ }
102
147
  }
103
148
  interface MemberController {
104
149
  triggerMemberOrderPaid(request: Request.triggerMemberOrderPaid): Promise<Response.triggerMemberOrderPaid>;
105
150
  recoverMemberOrderRefund(request: Request.recoverMemberOrderRefund): Promise<Response.recoverMemberOrderRefund>;
106
151
  listBenefitOfficers(request: Request.listBenefitOfficers): Promise<Response.listBenefitOfficers>;
152
+ listClaimableBenefits(request: Request.listClaimableBenefits): Promise<Response.listClaimableBenefits>;
153
+ claimMemberBenefit(request: Request.claimMemberBenefit): Promise<Response.claimMemberBenefit>;
107
154
  }
108
155
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@be-link/ecommerce-promotion-service-node-sdk",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "EcommercePromotionService Node.js SDK",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",