@motionpicture/coa-service 9.4.0 → 9.5.0
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/example/couponTicket.js +30 -0
- package/example/findPerformances.js +4 -4
- package/example/salesTicket.js +4 -4
- package/lib/factory/master.d.ts +6 -0
- package/lib/factory/reserve.d.ts +134 -0
- package/lib/service/master.js +2 -2
- package/lib/service/reserve.d.ts +13 -9
- package/lib/service/reserve.js +47 -2
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 販売可能チケット抽出の例
|
|
3
|
+
*/
|
|
4
|
+
const COA = require('../');
|
|
5
|
+
const fs = require('fs');
|
|
6
|
+
|
|
7
|
+
const service = new COA.service.Reserve(
|
|
8
|
+
{
|
|
9
|
+
endpoint: process.env.COA_ENDPOINT,
|
|
10
|
+
auth: new COA.auth.RefreshToken({
|
|
11
|
+
endpoint: process.env.COA_ENDPOINT,
|
|
12
|
+
refreshToken: process.env.COA_REFRESH_TOKEN
|
|
13
|
+
})
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
service.couponTicket({
|
|
18
|
+
theaterCode: '120',
|
|
19
|
+
couponCode: '12345abcde',
|
|
20
|
+
dateJouei: '20240827',
|
|
21
|
+
titleCode: '99511',
|
|
22
|
+
titleBranchNum: '0',
|
|
23
|
+
timeBegin: '2200',
|
|
24
|
+
flgMember: '0'
|
|
25
|
+
}).then((result) => {
|
|
26
|
+
fs.writeFileSync(`${__dirname}/output/couponTicket.json`, JSON.stringify(result, null, ' '));
|
|
27
|
+
console.log(result);
|
|
28
|
+
}).catch((err) => {
|
|
29
|
+
console.error(err);
|
|
30
|
+
});
|
|
@@ -11,14 +11,14 @@ const service = new COA.service.Master(
|
|
|
11
11
|
endpoint: process.env.COA_ENDPOINT,
|
|
12
12
|
refreshToken: process.env.COA_REFRESH_TOKEN
|
|
13
13
|
})
|
|
14
|
-
}
|
|
14
|
+
}
|
|
15
15
|
// { timeout: 1000 }
|
|
16
16
|
);
|
|
17
17
|
|
|
18
18
|
service.schedule({
|
|
19
|
-
theaterCode: '
|
|
20
|
-
begin: '
|
|
21
|
-
end: '
|
|
19
|
+
theaterCode: '020',
|
|
20
|
+
begin: '20240426',
|
|
21
|
+
end: '20240428'
|
|
22
22
|
}).then((result) => {
|
|
23
23
|
fs.writeFileSync(`${__dirname}/output/schedule.json`, JSON.stringify(result, null, ' '));
|
|
24
24
|
console.log(result);
|
package/example/salesTicket.js
CHANGED
|
@@ -16,11 +16,11 @@ const service = new COA.service.Reserve(
|
|
|
16
16
|
|
|
17
17
|
service.salesTicket({
|
|
18
18
|
theaterCode: '120',
|
|
19
|
-
dateJouei: '
|
|
20
|
-
titleCode: '
|
|
19
|
+
dateJouei: '20240827',
|
|
20
|
+
titleCode: '99511',
|
|
21
21
|
titleBranchNum: '0',
|
|
22
|
-
timeBegin: '
|
|
23
|
-
flgMember: '
|
|
22
|
+
timeBegin: '2200',
|
|
23
|
+
flgMember: '0'
|
|
24
24
|
}).then((result) => {
|
|
25
25
|
fs.writeFileSync(`${__dirname}/output/salesTicket2.json`, JSON.stringify(result, null, ' '));
|
|
26
26
|
console.log(result);
|
package/lib/factory/master.d.ts
CHANGED
package/lib/factory/reserve.d.ts
CHANGED
|
@@ -670,3 +670,137 @@ export interface ISalesTicketResult {
|
|
|
670
670
|
*/
|
|
671
671
|
addGlasses: number;
|
|
672
672
|
}
|
|
673
|
+
/**
|
|
674
|
+
* クーポンチケット情報in
|
|
675
|
+
*/
|
|
676
|
+
export interface ICouponTicketArgs {
|
|
677
|
+
/**
|
|
678
|
+
* 施設コード
|
|
679
|
+
*/
|
|
680
|
+
theaterCode: string;
|
|
681
|
+
/**
|
|
682
|
+
* クーポンコード
|
|
683
|
+
* ※英数字10桁
|
|
684
|
+
*/
|
|
685
|
+
couponCode: string;
|
|
686
|
+
/**
|
|
687
|
+
* 上映日
|
|
688
|
+
*/
|
|
689
|
+
dateJouei: string;
|
|
690
|
+
/**
|
|
691
|
+
* 作品コード
|
|
692
|
+
*/
|
|
693
|
+
titleCode: string;
|
|
694
|
+
/**
|
|
695
|
+
* 作品枝番
|
|
696
|
+
*/
|
|
697
|
+
titleBranchNum: string;
|
|
698
|
+
/**
|
|
699
|
+
* 上映開始時刻
|
|
700
|
+
*/
|
|
701
|
+
timeBegin: string;
|
|
702
|
+
/**
|
|
703
|
+
* 会員用フラグ
|
|
704
|
+
* 1:会員専用チケットも表示する。会員以外の場合は0をセット
|
|
705
|
+
*/
|
|
706
|
+
flgMember: FlgMember;
|
|
707
|
+
}
|
|
708
|
+
export interface ICouponTicket {
|
|
709
|
+
/**
|
|
710
|
+
* チケットコード
|
|
711
|
+
*/
|
|
712
|
+
ticketCode: string;
|
|
713
|
+
/**
|
|
714
|
+
* チケット名
|
|
715
|
+
*/
|
|
716
|
+
ticketName: string;
|
|
717
|
+
/**
|
|
718
|
+
* チケット名(カナ)
|
|
719
|
+
*/
|
|
720
|
+
ticketNameKana: string;
|
|
721
|
+
/**
|
|
722
|
+
* チケット名(英)
|
|
723
|
+
*/
|
|
724
|
+
ticketNameEng: string;
|
|
725
|
+
/**
|
|
726
|
+
* 標準単価
|
|
727
|
+
*/
|
|
728
|
+
stdPrice: number;
|
|
729
|
+
/**
|
|
730
|
+
* 加算単価
|
|
731
|
+
* 3D,IMAX、4DX等の加算料金
|
|
732
|
+
*/
|
|
733
|
+
addPrice: number;
|
|
734
|
+
/**
|
|
735
|
+
* 割引金額
|
|
736
|
+
* 割引券区分=000(定額割引)の場合のみ、以外は0
|
|
737
|
+
* ※2024/08/22訂正
|
|
738
|
+
*/
|
|
739
|
+
disPrice: number;
|
|
740
|
+
/**
|
|
741
|
+
* 販売単価
|
|
742
|
+
* 標準単価+加算単価-割引金額
|
|
743
|
+
*/
|
|
744
|
+
salePrice: number;
|
|
745
|
+
/**
|
|
746
|
+
* 人数制限
|
|
747
|
+
* 制限が無い場合は1
|
|
748
|
+
*/
|
|
749
|
+
limitCount: number;
|
|
750
|
+
/**
|
|
751
|
+
* 制限単位
|
|
752
|
+
* 1:n人単位、2:n人以上
|
|
753
|
+
*/
|
|
754
|
+
limitUnit: string;
|
|
755
|
+
/**
|
|
756
|
+
* チケット備考
|
|
757
|
+
* 注意事項等
|
|
758
|
+
*/
|
|
759
|
+
ticketNote: string;
|
|
760
|
+
/**
|
|
761
|
+
* メガネ単価
|
|
762
|
+
* 3Dの場合、メガネ代をセット。それ以外は0をセット
|
|
763
|
+
*/
|
|
764
|
+
addGlasses: number;
|
|
765
|
+
}
|
|
766
|
+
/**
|
|
767
|
+
* クーポンチケット情報out
|
|
768
|
+
*/
|
|
769
|
+
export interface ICouponTicketResult {
|
|
770
|
+
/**
|
|
771
|
+
* ステータス
|
|
772
|
+
* 0:認証OK、0以外は認証失敗
|
|
773
|
+
*/
|
|
774
|
+
status: string;
|
|
775
|
+
/**
|
|
776
|
+
* メッセージ
|
|
777
|
+
* ステータスに対するメッセージ
|
|
778
|
+
*/
|
|
779
|
+
message?: string;
|
|
780
|
+
/**
|
|
781
|
+
* 回数制限
|
|
782
|
+
* 利用できる回数(0:制限なし)
|
|
783
|
+
* ※将来的な項目です。現時点では未使用(固定値「0」を返却)
|
|
784
|
+
*/
|
|
785
|
+
cntLimit: number;
|
|
786
|
+
/**
|
|
787
|
+
* 割引券区分
|
|
788
|
+
* 000:定額割引、001:額面割引
|
|
789
|
+
* ※2024/08/22訂正
|
|
790
|
+
*/
|
|
791
|
+
kbnDiscount: string;
|
|
792
|
+
/**
|
|
793
|
+
* 枚数制限
|
|
794
|
+
* 同時に利用できる枚数(0:制限なし)
|
|
795
|
+
*/
|
|
796
|
+
cntDiscount: number;
|
|
797
|
+
/**
|
|
798
|
+
* 有効期限
|
|
799
|
+
* ※日付は西暦8桁 "YYYYMMDD"、無期限の場合は日付なし
|
|
800
|
+
*/
|
|
801
|
+
dateExpiration: string;
|
|
802
|
+
/**
|
|
803
|
+
* 利用可能チケット情報リスト
|
|
804
|
+
*/
|
|
805
|
+
listTicket: ICouponTicket[];
|
|
806
|
+
}
|
package/lib/service/master.js
CHANGED
|
@@ -45,8 +45,8 @@ class MasterService extends service_1.Service {
|
|
|
45
45
|
method: 'GET'
|
|
46
46
|
}, [http_status_1.OK]);
|
|
47
47
|
return (Array.isArray(body.list_title))
|
|
48
|
-
? body.list_title.map(({ title_code, title_branch_num, title_name, title_name_kana, title_name_eng, title_name_short, title_name_orig, kbn_eirin, kbn_eizou, kbn_joueihousiki, kbn_jimakufukikae, show_time, date_begin, date_end, flg_mvtk_use, date_mvtk_begin, flg_mgtk_use, date_mgtk_begin }) => {
|
|
49
|
-
return Object.assign(Object.assign({ titleCode: title_code, titleBranchNum: title_branch_num, titleName: title_name, titleNameKana: title_name_kana, titleNameEng: title_name_eng, titleNameShort: title_name_short, titleNameOrig: title_name_orig, kbnEirin: kbn_eirin, kbnEizou: kbn_eizou, kbnJoueihousiki: kbn_joueihousiki, kbnJimakufukikae: kbn_jimakufukikae, showTime: show_time, dateBegin: date_begin, dateEnd: date_end, flgMvtkUse: flg_mvtk_use, dateMvtkBegin: date_mvtk_begin }, (typeof flg_mgtk_use === 'string') ? { flgMgtkUse: flg_mgtk_use } : /* istanbul ignore next */ undefined), (typeof date_mgtk_begin === 'string') ? { dateMgtkBegin: date_mgtk_begin } : /* istanbul ignore next */ undefined);
|
|
48
|
+
? body.list_title.map(({ title_code, title_branch_num, title_name, title_name_kana, title_name_eng, title_name_short, title_name_orig, kbn_eirin, kbn_eizou, kbn_joueihousiki, kbn_jimakufukikae, show_time, date_begin, date_end, flg_mvtk_use, date_mvtk_begin, flg_mgtk_use, date_mgtk_begin, flg_not_discount }) => {
|
|
49
|
+
return Object.assign(Object.assign(Object.assign({ titleCode: title_code, titleBranchNum: title_branch_num, titleName: title_name, titleNameKana: title_name_kana, titleNameEng: title_name_eng, titleNameShort: title_name_short, titleNameOrig: title_name_orig, kbnEirin: kbn_eirin, kbnEizou: kbn_eizou, kbnJoueihousiki: kbn_joueihousiki, kbnJimakufukikae: kbn_jimakufukikae, showTime: show_time, dateBegin: date_begin, dateEnd: date_end, flgMvtkUse: flg_mvtk_use, dateMvtkBegin: date_mvtk_begin }, (typeof flg_mgtk_use === 'string') ? { flgMgtkUse: flg_mgtk_use } : /* istanbul ignore next */ undefined), (typeof date_mgtk_begin === 'string') ? { dateMgtkBegin: date_mgtk_begin } : /* istanbul ignore next */ undefined), (typeof flg_not_discount === 'string') ? { flgNotDiscount: flg_not_discount } : /* istanbul ignore next */ undefined);
|
|
50
50
|
})
|
|
51
51
|
: /* istanbul ignore next */ [];
|
|
52
52
|
});
|
package/lib/service/reserve.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ICountFreeSeatArgs, ICountFreeSeatResult, ICouponTicketArgs, ICouponTicketResult, IDelReserveArgs, IDelTmpReserveArgs, ISalesTicketArgs, ISalesTicketResult, IStateReserveArgs, IStateReserveResult, IStateReserveSeatArgs, IStateReserveSeatResult, IUpdReserveArgs, IUpdReserveResult, IUpdTmpReserveSeatArgs, IUpdTmpReserveSeatResult } from '../factory/reserve';
|
|
2
2
|
import { Service } from '../service';
|
|
3
3
|
/**
|
|
4
4
|
* 予約サービス
|
|
@@ -10,7 +10,7 @@ export declare class ReserveService extends Service {
|
|
|
10
10
|
* @param args.begin 空席情報を抽出する上映日の開始日 ※日付は西暦8桁 'YYYYMMDD'
|
|
11
11
|
* @param args.end 空席情報を抽出する上映日の終了日 ※日付は西暦8桁 'YYYYMMDD'
|
|
12
12
|
*/
|
|
13
|
-
countFreeSeat(args:
|
|
13
|
+
countFreeSeat(args: ICountFreeSeatArgs): Promise<ICountFreeSeatResult>;
|
|
14
14
|
/**
|
|
15
15
|
* 座席予約状態抽出
|
|
16
16
|
* @param args.theaterCode 施設コード
|
|
@@ -20,7 +20,7 @@ export declare class ReserveService extends Service {
|
|
|
20
20
|
* @param args.timeBegin 上映時刻
|
|
21
21
|
* @param args.screenCode スクリーンコード
|
|
22
22
|
*/
|
|
23
|
-
stateReserveSeat(args:
|
|
23
|
+
stateReserveSeat(args: IStateReserveSeatArgs): Promise<IStateReserveSeatResult>;
|
|
24
24
|
/**
|
|
25
25
|
* 座席仮予約
|
|
26
26
|
* @param args.theaterCode 劇場コード
|
|
@@ -33,7 +33,7 @@ export declare class ReserveService extends Service {
|
|
|
33
33
|
* @param args.screenCode.seatSection 座席セクション
|
|
34
34
|
* @param args.screenCode.seatNum 座席番号
|
|
35
35
|
*/
|
|
36
|
-
updTmpReserveSeat(args:
|
|
36
|
+
updTmpReserveSeat(args: IUpdTmpReserveSeatArgs): Promise<IUpdTmpReserveSeatResult>;
|
|
37
37
|
/**
|
|
38
38
|
* 座席仮予約削除
|
|
39
39
|
* @param args.theaterCode 施設コード
|
|
@@ -43,7 +43,7 @@ export declare class ReserveService extends Service {
|
|
|
43
43
|
* @param args.timeBegin 上映時刻
|
|
44
44
|
* @param args.tmpReserveNum 座席チケット仮予約番号
|
|
45
45
|
*/
|
|
46
|
-
delTmpReserve(args:
|
|
46
|
+
delTmpReserve(args: IDelTmpReserveArgs): Promise<void>;
|
|
47
47
|
/**
|
|
48
48
|
* 座席本予約
|
|
49
49
|
* @param args.theaterCode 施設コード
|
|
@@ -79,7 +79,7 @@ export declare class ReserveService extends Service {
|
|
|
79
79
|
* @param args.listTicket.mvtkSalesPrice ムビチケ・MG販売単価
|
|
80
80
|
* @param args.listTicket.kbnMgtk MGチケット区分
|
|
81
81
|
*/
|
|
82
|
-
updReserve(args:
|
|
82
|
+
updReserve(args: IUpdReserveArgs): Promise<IUpdReserveResult>;
|
|
83
83
|
/**
|
|
84
84
|
* 購入チケット取り消し
|
|
85
85
|
* @param args.theaterCode 施設コード
|
|
@@ -94,14 +94,14 @@ export declare class ReserveService extends Service {
|
|
|
94
94
|
* @param args.screenCode.seatSection 座席セクション
|
|
95
95
|
* @param args.screenCode.seatNum 座席番号
|
|
96
96
|
*/
|
|
97
|
-
delReserve(args:
|
|
97
|
+
delReserve(args: IDelReserveArgs): Promise<void>;
|
|
98
98
|
/**
|
|
99
99
|
* 購入チケット内容抽出
|
|
100
100
|
* @param args.theaterCode 施設コード
|
|
101
101
|
* @param args.reserveNum 座席チケット購入番号
|
|
102
102
|
* @param args.telNum 電話番号
|
|
103
103
|
*/
|
|
104
|
-
stateReserve(args:
|
|
104
|
+
stateReserve(args: IStateReserveArgs): Promise<IStateReserveResult | null>;
|
|
105
105
|
/**
|
|
106
106
|
* 販売可能チケット情報
|
|
107
107
|
* @param args.theaterCode 施設コード
|
|
@@ -111,5 +111,9 @@ export declare class ReserveService extends Service {
|
|
|
111
111
|
* @param args.timeBegin 上映時刻
|
|
112
112
|
* @param args.flgMember 会員用フラグ
|
|
113
113
|
*/
|
|
114
|
-
salesTicket(args:
|
|
114
|
+
salesTicket(args: ISalesTicketArgs): Promise<ISalesTicketResult[]>;
|
|
115
|
+
/**
|
|
116
|
+
* クーポンチケット情報
|
|
117
|
+
*/
|
|
118
|
+
couponTicket(args: ICouponTicketArgs): Promise<ICouponTicketResult>;
|
|
115
119
|
}
|
package/lib/service/reserve.js
CHANGED
|
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ReserveService = void 0;
|
|
13
13
|
const http_status_1 = require("http-status");
|
|
14
|
-
const
|
|
14
|
+
const reserve_1 = require("../factory/reserve");
|
|
15
15
|
const service_1 = require("../service");
|
|
16
16
|
/**
|
|
17
17
|
* 予約サービス
|
|
@@ -339,7 +339,7 @@ class ReserveService extends service_1.Service {
|
|
|
339
339
|
title_branch_num: args.titleBranchNum,
|
|
340
340
|
time_begin: args.timeBegin,
|
|
341
341
|
// 念のため互換性を保つ次期アップデートでデフォルト値削除
|
|
342
|
-
flg_member: (args.flgMember === undefined) ?
|
|
342
|
+
flg_member: (args.flgMember === undefined) ? reserve_1.FlgMember.NonMember : args.flgMember
|
|
343
343
|
}
|
|
344
344
|
}, [http_status_1.OK]);
|
|
345
345
|
return body.list_ticket.map((value) => {
|
|
@@ -359,5 +359,50 @@ class ReserveService extends service_1.Service {
|
|
|
359
359
|
});
|
|
360
360
|
});
|
|
361
361
|
}
|
|
362
|
+
/**
|
|
363
|
+
* クーポンチケット情報
|
|
364
|
+
*/
|
|
365
|
+
couponTicket(args) {
|
|
366
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
367
|
+
const body = yield this.request({
|
|
368
|
+
uri: `/api/v1/theater/${args.theaterCode}/coupon_ticket/`,
|
|
369
|
+
method: 'GET',
|
|
370
|
+
qs: {
|
|
371
|
+
coupon_code: args.couponCode,
|
|
372
|
+
date_jouei: args.dateJouei,
|
|
373
|
+
title_code: args.titleCode,
|
|
374
|
+
title_branch_num: args.titleBranchNum,
|
|
375
|
+
time_begin: args.timeBegin,
|
|
376
|
+
flg_member: args.flgMember
|
|
377
|
+
}
|
|
378
|
+
}, [http_status_1.OK]);
|
|
379
|
+
return {
|
|
380
|
+
status: String(body.status),
|
|
381
|
+
message: body.message,
|
|
382
|
+
cntLimit: body.cnt_limit,
|
|
383
|
+
kbnDiscount: body.kbn_discount,
|
|
384
|
+
cntDiscount: body.cnt_discount,
|
|
385
|
+
dateExpiration: body.date_expiration,
|
|
386
|
+
listTicket: (Array.isArray(body.list_ticket))
|
|
387
|
+
? body.list_ticket.map((value) => {
|
|
388
|
+
return {
|
|
389
|
+
ticketCode: value.ticket_code,
|
|
390
|
+
ticketName: value.ticket_name,
|
|
391
|
+
ticketNameKana: value.ticket_name_kana,
|
|
392
|
+
ticketNameEng: value.ticket_name_eng,
|
|
393
|
+
stdPrice: value.std_price,
|
|
394
|
+
addPrice: value.add_price,
|
|
395
|
+
disPrice: value.dis_price,
|
|
396
|
+
salePrice: value.sale_price,
|
|
397
|
+
limitCount: value.limit_count,
|
|
398
|
+
limitUnit: value.limit_unit,
|
|
399
|
+
ticketNote: value.ticket_note,
|
|
400
|
+
addGlasses: value.add_glasses
|
|
401
|
+
};
|
|
402
|
+
})
|
|
403
|
+
: /* istanbul ignore next */ []
|
|
404
|
+
};
|
|
405
|
+
});
|
|
406
|
+
}
|
|
362
407
|
}
|
|
363
408
|
exports.ReserveService = ReserveService;
|
package/package.json
CHANGED