@yolo-croket-dev/amqp-access 0.7.290 → 0.7.291

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.
Files changed (32) hide show
  1. package/order-server/amqp.order-server.module.js +2 -0
  2. package/order-server/dto/customs/command/index.d.ts +3 -0
  3. package/order-server/dto/customs/command/index.js +19 -0
  4. package/order-server/dto/customs/command/post-process-customs-pccc-validation.dto.d.ts +14 -0
  5. package/order-server/dto/customs/command/post-process-customs-pccc-validation.dto.js +64 -0
  6. package/order-server/dto/customs/command/request-customs-pccc-validation.dto.d.ts +33 -0
  7. package/order-server/dto/customs/command/request-customs-pccc-validation.dto.js +103 -0
  8. package/order-server/dto/customs/command/revalidate-customs-pccc.dto.d.ts +15 -0
  9. package/order-server/dto/customs/command/revalidate-customs-pccc.dto.js +57 -0
  10. package/order-server/dto/customs/command/revoke-customs-access-token.dto.d.ts +4 -0
  11. package/order-server/dto/customs/command/revoke-customs-access-token.dto.js +6 -0
  12. package/order-server/dto/customs/command/submit-customs-trade-information.dto.d.ts +78 -0
  13. package/order-server/dto/customs/command/submit-customs-trade-information.dto.js +368 -0
  14. package/order-server/dto/customs/command/verify-customs-pccc-otp.dto.d.ts +12 -0
  15. package/order-server/dto/customs/command/verify-customs-pccc-otp.dto.js +34 -0
  16. package/order-server/dto/customs/index.d.ts +2 -0
  17. package/order-server/dto/customs/index.js +18 -0
  18. package/order-server/dto/customs/query/get-customs-trade-submission-result.dto.d.ts +14 -0
  19. package/order-server/dto/customs/query/get-customs-trade-submission-result.dto.js +29 -0
  20. package/order-server/dto/customs/query/get-unread-customs-trade-errors.dto.d.ts +5 -0
  21. package/order-server/dto/customs/query/get-unread-customs-trade-errors.dto.js +6 -0
  22. package/order-server/dto/customs/query/index.d.ts +2 -0
  23. package/order-server/dto/customs/query/index.js +18 -0
  24. package/order-server/dto/customs/query/poll-pending-customs-trade-submissions.dto.d.ts +11 -0
  25. package/order-server/dto/customs/query/poll-pending-customs-trade-submissions.dto.js +31 -0
  26. package/order-server/dto/index.d.ts +1 -0
  27. package/order-server/dto/index.js +1 -0
  28. package/order-server/services/amqp.customs.service.d.ts +13 -0
  29. package/order-server/services/amqp.customs.service.js +45 -0
  30. package/order-server/services/index.d.ts +1 -0
  31. package/order-server/services/index.js +1 -0
  32. package/package.json +2 -2
@@ -41,6 +41,7 @@ exports.AmqpOrderServerModule = AmqpOrderServerModule = __decorate([
41
41
  services_1.AmqpPayTryLogReservationService,
42
42
  services_1.AmqpPurchasedInfoReservationService,
43
43
  services_1.AmqpPurchasedInfoSplitDeliveryService,
44
+ services_1.AmqpCustomsService,
44
45
  ],
45
46
  exports: [
46
47
  amqp_order_server_provider_1.OrderServerProvider,
@@ -67,6 +68,7 @@ exports.AmqpOrderServerModule = AmqpOrderServerModule = __decorate([
67
68
  services_1.AmqpPayTryLogReservationService,
68
69
  services_1.AmqpPurchasedInfoReservationService,
69
70
  services_1.AmqpPurchasedInfoSplitDeliveryService,
71
+ services_1.AmqpCustomsService,
70
72
  ],
71
73
  })
72
74
  ], AmqpOrderServerModule);
@@ -0,0 +1,3 @@
1
+ export * from './request-customs-pccc-validation.dto';
2
+ export * from './verify-customs-pccc-otp.dto';
3
+ export * from './submit-customs-trade-information.dto';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./request-customs-pccc-validation.dto"), exports);
18
+ __exportStar(require("./verify-customs-pccc-otp.dto"), exports);
19
+ __exportStar(require("./submit-customs-trade-information.dto"), exports);
@@ -0,0 +1,14 @@
1
+ import { CustomsConsigneeInfoPayload, CustomsOrdererInfoPayload, RequestCustomsPcccValidationResult } from './request-customs-pccc-validation.dto';
2
+ /** @author 홍준 @description 관세청 PER003 장애 사후처리 DTO @process 관세청 장애 기간에 응답받지 못한 PER001 요청을 주문완료·호출시각과 함께 순차 재검증한다. */
3
+ export declare class PostProcessCustomsPcccValidationPayload {
4
+ reqt_no: string;
5
+ reqt_tp: '01' | '02';
6
+ ordrr_info: CustomsOrdererInfoPayload;
7
+ cnsi_info: CustomsConsigneeInfoPayload;
8
+ cnsi_pers_ecm?: string;
9
+ ord_cmpl_dttm: string;
10
+ call_dttm: string;
11
+ ord_no: string;
12
+ }
13
+ export declare class PostProcessCustomsPcccValidationResult extends RequestCustomsPcccValidationResult {
14
+ }
@@ -0,0 +1,64 @@
1
+ const __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ const c = arguments.length; let r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc; let
3
+ d;
4
+ if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function') r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (let i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ const __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === 'object' && typeof Reflect.metadata === 'function') return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, '__esModule', { value: true });
12
+ exports.PostProcessCustomsPcccValidationResult = exports.PostProcessCustomsPcccValidationPayload = void 0;
13
+ const class_transformer_1 = require('class-transformer');
14
+ const class_validator_1 = require('class-validator');
15
+ const request_customs_pccc_validation_dto_1 = require('./request-customs-pccc-validation.dto');
16
+ /** @author 홍준 @description 관세청 PER003 장애 사후처리 DTO @process 관세청 장애 기간에 응답받지 못한 PER001 요청을 주문완료·호출시각과 함께 순차 재검증한다. */
17
+ class PostProcessCustomsPcccValidationPayload {
18
+ }
19
+ exports.PostProcessCustomsPcccValidationPayload = PostProcessCustomsPcccValidationPayload;
20
+ __decorate([
21
+ (0, class_validator_1.IsString)(),
22
+ (0, class_validator_1.Matches)(/^\d{18}$/),
23
+ __metadata('design:type', String),
24
+ ], PostProcessCustomsPcccValidationPayload.prototype, 'reqt_no', void 0);
25
+ __decorate([
26
+ (0, class_validator_1.IsIn)([
27
+ '01',
28
+ '02',
29
+ ]),
30
+ __metadata('design:type', String),
31
+ ], PostProcessCustomsPcccValidationPayload.prototype, 'reqt_tp', void 0);
32
+ __decorate([
33
+ (0, class_validator_1.ValidateNested)(),
34
+ (0, class_transformer_1.Type)(() => request_customs_pccc_validation_dto_1.CustomsOrdererInfoPayload),
35
+ __metadata('design:type', request_customs_pccc_validation_dto_1.CustomsOrdererInfoPayload),
36
+ ], PostProcessCustomsPcccValidationPayload.prototype, 'ordrr_info', void 0);
37
+ __decorate([
38
+ (0, class_validator_1.ValidateNested)(),
39
+ (0, class_transformer_1.Type)(() => request_customs_pccc_validation_dto_1.CustomsConsigneeInfoPayload),
40
+ __metadata('design:type', request_customs_pccc_validation_dto_1.CustomsConsigneeInfoPayload),
41
+ ], PostProcessCustomsPcccValidationPayload.prototype, 'cnsi_info', void 0);
42
+ __decorate([
43
+ (0, class_validator_1.IsString)(),
44
+ (0, class_validator_1.IsOptional)(),
45
+ (0, class_validator_1.Matches)(/^[PO]\d{12}$/i),
46
+ __metadata('design:type', String),
47
+ ], PostProcessCustomsPcccValidationPayload.prototype, 'cnsi_pers_ecm', void 0);
48
+ __decorate([
49
+ (0, class_validator_1.IsString)(),
50
+ (0, class_validator_1.Matches)(/^\d{14}$/),
51
+ __metadata('design:type', String),
52
+ ], PostProcessCustomsPcccValidationPayload.prototype, 'ord_cmpl_dttm', void 0);
53
+ __decorate([
54
+ (0, class_validator_1.IsString)(),
55
+ (0, class_validator_1.Matches)(/^\d{14}$/),
56
+ __metadata('design:type', String),
57
+ ], PostProcessCustomsPcccValidationPayload.prototype, 'call_dttm', void 0);
58
+ __decorate([
59
+ (0, class_validator_1.IsString)(),
60
+ __metadata('design:type', String),
61
+ ], PostProcessCustomsPcccValidationPayload.prototype, 'ord_no', void 0);
62
+ class PostProcessCustomsPcccValidationResult extends request_customs_pccc_validation_dto_1.RequestCustomsPcccValidationResult {
63
+ }
64
+ exports.PostProcessCustomsPcccValidationResult = PostProcessCustomsPcccValidationResult;
@@ -0,0 +1,33 @@
1
+ export declare class CustomsOrdererInfoPayload {
2
+ ordrr_fnm: string;
3
+ ordrr_telno?: string;
4
+ ordrr_ci?: string;
5
+ }
6
+ export declare class CustomsConsigneeInfoPayload {
7
+ cnsi_fnm: string;
8
+ cnsi_telno: string;
9
+ dlvrpl_psno: string;
10
+ }
11
+ /**
12
+ * @author 홍준
13
+ * @description 관세청 PER001 개인통관고유부호 검증 요청 DTO
14
+ * @process 주문자·수하인 정보를 검증하고 관세청 인증번호 발급을 요청한다.
15
+ */
16
+ export declare class RequestCustomsPcccValidationPayload {
17
+ reqt_no?: string;
18
+ reqt_tp: '01' | '02';
19
+ ordrr_info: CustomsOrdererInfoPayload;
20
+ cnsi_info: CustomsConsigneeInfoPayload;
21
+ cnsi_pers_ecm?: string;
22
+ ord_no_icln_tp: '01' | '02';
23
+ ord_no?: string;
24
+ }
25
+ export declare class RequestCustomsPcccValidationResult {
26
+ reqtNo: string;
27
+ responseType: '01' | '02' | '03';
28
+ otpPrefix?: string;
29
+ oneTimePccc?: string;
30
+ oneTimeOtp?: string;
31
+ maskedEmail?: string;
32
+ otpVerificationRequired: boolean;
33
+ }
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RequestCustomsPcccValidationResult = exports.RequestCustomsPcccValidationPayload = exports.CustomsConsigneeInfoPayload = exports.CustomsOrdererInfoPayload = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const class_transformer_1 = require("class-transformer");
15
+ class CustomsOrdererInfoPayload {
16
+ }
17
+ exports.CustomsOrdererInfoPayload = CustomsOrdererInfoPayload;
18
+ __decorate([
19
+ (0, class_validator_1.IsString)(),
20
+ (0, class_validator_1.IsNotEmpty)(),
21
+ __metadata("design:type", String)
22
+ ], CustomsOrdererInfoPayload.prototype, "ordrr_fnm", void 0);
23
+ __decorate([
24
+ (0, class_validator_1.IsString)(),
25
+ (0, class_validator_1.IsOptional)(),
26
+ __metadata("design:type", String)
27
+ ], CustomsOrdererInfoPayload.prototype, "ordrr_telno", void 0);
28
+ __decorate([
29
+ (0, class_validator_1.IsString)(),
30
+ (0, class_validator_1.IsOptional)(),
31
+ __metadata("design:type", String)
32
+ ], CustomsOrdererInfoPayload.prototype, "ordrr_ci", void 0);
33
+ class CustomsConsigneeInfoPayload {
34
+ }
35
+ exports.CustomsConsigneeInfoPayload = CustomsConsigneeInfoPayload;
36
+ __decorate([
37
+ (0, class_validator_1.IsString)(),
38
+ (0, class_validator_1.IsNotEmpty)(),
39
+ __metadata("design:type", String)
40
+ ], CustomsConsigneeInfoPayload.prototype, "cnsi_fnm", void 0);
41
+ __decorate([
42
+ (0, class_validator_1.IsString)(),
43
+ (0, class_validator_1.IsNotEmpty)(),
44
+ __metadata("design:type", String)
45
+ ], CustomsConsigneeInfoPayload.prototype, "cnsi_telno", void 0);
46
+ __decorate([
47
+ (0, class_validator_1.IsString)(),
48
+ (0, class_validator_1.Matches)(/^\d{5}$/),
49
+ __metadata("design:type", String)
50
+ ], CustomsConsigneeInfoPayload.prototype, "dlvrpl_psno", void 0);
51
+ /**
52
+ * @author 홍준
53
+ * @description 관세청 PER001 개인통관고유부호 검증 요청 DTO
54
+ * @process 주문자·수하인 정보를 검증하고 관세청 인증번호 발급을 요청한다.
55
+ */
56
+ class RequestCustomsPcccValidationPayload {
57
+ }
58
+ exports.RequestCustomsPcccValidationPayload = RequestCustomsPcccValidationPayload;
59
+ __decorate([
60
+ (0, class_validator_1.IsString)(),
61
+ (0, class_validator_1.IsOptional)(),
62
+ (0, class_validator_1.Matches)(/^\d{18}$/),
63
+ __metadata("design:type", String)
64
+ ], RequestCustomsPcccValidationPayload.prototype, "reqt_no", void 0);
65
+ __decorate([
66
+ (0, class_validator_1.IsIn)([
67
+ '01',
68
+ '02',
69
+ ]),
70
+ __metadata("design:type", String)
71
+ ], RequestCustomsPcccValidationPayload.prototype, "reqt_tp", void 0);
72
+ __decorate([
73
+ (0, class_validator_1.ValidateNested)(),
74
+ (0, class_transformer_1.Type)(() => CustomsOrdererInfoPayload),
75
+ __metadata("design:type", CustomsOrdererInfoPayload)
76
+ ], RequestCustomsPcccValidationPayload.prototype, "ordrr_info", void 0);
77
+ __decorate([
78
+ (0, class_validator_1.ValidateNested)(),
79
+ (0, class_transformer_1.Type)(() => CustomsConsigneeInfoPayload),
80
+ __metadata("design:type", CustomsConsigneeInfoPayload)
81
+ ], RequestCustomsPcccValidationPayload.prototype, "cnsi_info", void 0);
82
+ __decorate([
83
+ (0, class_validator_1.ValidateIf)((payload) => payload.reqt_tp === '01'),
84
+ (0, class_validator_1.IsString)(),
85
+ (0, class_validator_1.Matches)(/^P\d{12}$/i),
86
+ __metadata("design:type", String)
87
+ ], RequestCustomsPcccValidationPayload.prototype, "cnsi_pers_ecm", void 0);
88
+ __decorate([
89
+ (0, class_validator_1.IsIn)([
90
+ '01',
91
+ '02',
92
+ ]),
93
+ __metadata("design:type", String)
94
+ ], RequestCustomsPcccValidationPayload.prototype, "ord_no_icln_tp", void 0);
95
+ __decorate([
96
+ (0, class_validator_1.ValidateIf)((payload) => payload.ord_no_icln_tp === '02'),
97
+ (0, class_validator_1.IsString)(),
98
+ (0, class_validator_1.IsNotEmpty)(),
99
+ __metadata("design:type", String)
100
+ ], RequestCustomsPcccValidationPayload.prototype, "ord_no", void 0);
101
+ class RequestCustomsPcccValidationResult {
102
+ }
103
+ exports.RequestCustomsPcccValidationResult = RequestCustomsPcccValidationResult;
@@ -0,0 +1,15 @@
1
+ import { CustomsConsigneeInfoPayload, CustomsOrdererInfoPayload } from './request-customs-pccc-validation.dto';
2
+ /** @author 홍준 @description 관세청 PER002 개인통관고유부호 재검증 DTO @process 기존 PER001 요청번호를 기준으로 변경된 연락처·우편번호의 유효성을 확인한다. */
3
+ export declare class RevalidateCustomsPcccPayload {
4
+ reqt_no: string;
5
+ brno?: string;
6
+ reqt_tp: '01' | '02';
7
+ ordrr_info?: CustomsOrdererInfoPayload;
8
+ cnsi_info: CustomsConsigneeInfoPayload;
9
+ cnsi_pers_ecm?: string;
10
+ }
11
+ export declare class RevalidateCustomsPcccResult {
12
+ reqtNo: string;
13
+ validationPeriod: string;
14
+ verified: boolean;
15
+ }
@@ -0,0 +1,57 @@
1
+ const __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ const c = arguments.length; let r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc; let
3
+ d;
4
+ if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function') r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (let i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ const __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === 'object' && typeof Reflect.metadata === 'function') return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, '__esModule', { value: true });
12
+ exports.RevalidateCustomsPcccResult = exports.RevalidateCustomsPcccPayload = void 0;
13
+ const class_transformer_1 = require('class-transformer');
14
+ const class_validator_1 = require('class-validator');
15
+ const request_customs_pccc_validation_dto_1 = require('./request-customs-pccc-validation.dto');
16
+ /** @author 홍준 @description 관세청 PER002 개인통관고유부호 재검증 DTO @process 기존 PER001 요청번호를 기준으로 변경된 연락처·우편번호의 유효성을 확인한다. */
17
+ class RevalidateCustomsPcccPayload {
18
+ }
19
+ exports.RevalidateCustomsPcccPayload = RevalidateCustomsPcccPayload;
20
+ __decorate([
21
+ (0, class_validator_1.IsString)(),
22
+ (0, class_validator_1.Matches)(/^\d{18}$/),
23
+ __metadata('design:type', String),
24
+ ], RevalidateCustomsPcccPayload.prototype, 'reqt_no', void 0);
25
+ __decorate([
26
+ (0, class_validator_1.IsString)(),
27
+ (0, class_validator_1.IsOptional)(),
28
+ (0, class_validator_1.Matches)(/^\d{10}$/),
29
+ __metadata('design:type', String),
30
+ ], RevalidateCustomsPcccPayload.prototype, 'brno', void 0);
31
+ __decorate([
32
+ (0, class_validator_1.IsIn)([
33
+ '01',
34
+ '02',
35
+ ]),
36
+ __metadata('design:type', String),
37
+ ], RevalidateCustomsPcccPayload.prototype, 'reqt_tp', void 0);
38
+ __decorate([
39
+ (0, class_validator_1.ValidateNested)(),
40
+ (0, class_transformer_1.Type)(() => request_customs_pccc_validation_dto_1.CustomsOrdererInfoPayload),
41
+ (0, class_validator_1.IsOptional)(),
42
+ __metadata('design:type', request_customs_pccc_validation_dto_1.CustomsOrdererInfoPayload),
43
+ ], RevalidateCustomsPcccPayload.prototype, 'ordrr_info', void 0);
44
+ __decorate([
45
+ (0, class_validator_1.ValidateNested)(),
46
+ (0, class_transformer_1.Type)(() => request_customs_pccc_validation_dto_1.CustomsConsigneeInfoPayload),
47
+ __metadata('design:type', request_customs_pccc_validation_dto_1.CustomsConsigneeInfoPayload),
48
+ ], RevalidateCustomsPcccPayload.prototype, 'cnsi_info', void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsString)(),
51
+ (0, class_validator_1.IsOptional)(),
52
+ (0, class_validator_1.Matches)(/^[PO]\d{12}$/i),
53
+ __metadata('design:type', String),
54
+ ], RevalidateCustomsPcccPayload.prototype, 'cnsi_pers_ecm', void 0);
55
+ class RevalidateCustomsPcccResult {
56
+ }
57
+ exports.RevalidateCustomsPcccResult = RevalidateCustomsPcccResult;
@@ -0,0 +1,4 @@
1
+ /** @author 홍준 @description 관세청 AUT002 접근 토큰 폐기 결과 DTO @process 서버가 보관한 현재 토큰을 관세청에 폐기 요청하고 로컬 캐시를 비운다. */
2
+ export declare class RevokeCustomsAccessTokenResult {
3
+ revoked: boolean;
4
+ }
@@ -0,0 +1,6 @@
1
+ Object.defineProperty(exports, '__esModule', { value: true });
2
+ exports.RevokeCustomsAccessTokenResult = void 0;
3
+ /** @author 홍준 @description 관세청 AUT002 접근 토큰 폐기 결과 DTO @process 서버가 보관한 현재 토큰을 관세청에 폐기 요청하고 로컬 캐시를 비운다. */
4
+ class RevokeCustomsAccessTokenResult {
5
+ }
6
+ exports.RevokeCustomsAccessTokenResult = RevokeCustomsAccessTokenResult;
@@ -0,0 +1,78 @@
1
+ export declare class CustomsTradeProductInfoPayload {
2
+ prod_srno: number;
3
+ prod_clsf_nm_stp1: string;
4
+ prod_clsf_nm_stp2: string;
5
+ prod_clsf_nm_stp3?: string;
6
+ prod_clsf_nm_stp4?: string;
7
+ prod_clsf_nm_stp5?: string;
8
+ prod_clsf_nm_stp6?: string;
9
+ prod_clsf_nm_stp7?: string;
10
+ prod_clsf_nm_stp8?: string;
11
+ prod_clsf_nm_stp9?: string;
12
+ ord_prod_nm: string;
13
+ slct_opt_nm?: string;
14
+ prod_sale_pge_url: string;
15
+ prod_ord_qty: number;
16
+ prod_unprc: number;
17
+ prod_unprc_curr_cd: string;
18
+ prod_dscn_amt?: number;
19
+ prod_dscn_amt_curr_cd?: string;
20
+ ord_amt: number;
21
+ ord_amt_curr_cd: string;
22
+ sale_ents_nm?: string;
23
+ sale_ents_id?: string;
24
+ sale_ents_bsns_no?: string;
25
+ sale_ents_sgn?: string;
26
+ prod_id?: string;
27
+ prod_mkr_nm?: string;
28
+ prod_mkr_mdl_no?: string;
29
+ prod_brnd_nm?: string;
30
+ }
31
+ export declare class CustomsTradeOrderInfoPayload {
32
+ hbl_no: string;
33
+ ord_no: string;
34
+ elcm_pcd: 'A' | 'B' | 'C';
35
+ ord_site_url: string;
36
+ elcm_ents_cnty_cd: string;
37
+ puch_vcex_bsmn_sgn?: string;
38
+ puch_vcex_bsmn_nm?: string;
39
+ shpn_vcex_bsmn_sgn?: string;
40
+ shpn_vcex_bsmn_nm?: string;
41
+ ord_cmpl_dttm: string;
42
+ ordrr_nm: string;
43
+ ordrr_telno: string;
44
+ ordrr_id?: string;
45
+ cnsi_nm: string;
46
+ cnsi_telno: string;
47
+ cnsi_psno: string;
48
+ cnsi_bscs_addr: string;
49
+ cnsi_dtl_addr?: string;
50
+ cnsi_pers_ecm: string;
51
+ su_crtf_no?: string;
52
+ smon_use_amt?: number;
53
+ smon_use_amt_curr_cd?: string;
54
+ spfe?: number;
55
+ spfe_dscn_amt?: number;
56
+ spfe_curr_cd?: string;
57
+ cscl_agcs?: number;
58
+ cscl_agcs_curr_cd?: string;
59
+ tot_dscn_amt?: number;
60
+ tot_dscn_amt_curr_cd?: string;
61
+ tot_stlm_amt: number;
62
+ tot_stlm_amt_curr_cd: string;
63
+ tot_ord_prod_qty: number;
64
+ product_info: CustomsTradeProductInfoPayload[];
65
+ }
66
+ /**
67
+ * @author 홍준
68
+ * @description 관세청 TRA001 거래정보 제출 DTO
69
+ * @process 주문 단위 거래정보를 검증하고 서버가 제출번호·제출자 정보를 보완해 전송한다.
70
+ */
71
+ export declare class SubmitCustomsTradeInformationPayload {
72
+ txif_sbmt_no?: string;
73
+ order_info: CustomsTradeOrderInfoPayload[];
74
+ }
75
+ export declare class SubmitCustomsTradeInformationResult {
76
+ txifSbmtNo: string;
77
+ status: string;
78
+ }
@@ -0,0 +1,368 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SubmitCustomsTradeInformationResult = exports.SubmitCustomsTradeInformationPayload = exports.CustomsTradeOrderInfoPayload = exports.CustomsTradeProductInfoPayload = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const class_transformer_1 = require("class-transformer");
15
+ class CustomsTradeProductInfoPayload {
16
+ }
17
+ exports.CustomsTradeProductInfoPayload = CustomsTradeProductInfoPayload;
18
+ __decorate([
19
+ (0, class_validator_1.IsInt)(),
20
+ (0, class_validator_1.Min)(1),
21
+ (0, class_validator_1.Max)(999),
22
+ __metadata("design:type", Number)
23
+ ], CustomsTradeProductInfoPayload.prototype, "prod_srno", void 0);
24
+ __decorate([
25
+ (0, class_validator_1.IsString)(),
26
+ (0, class_validator_1.IsNotEmpty)(),
27
+ __metadata("design:type", String)
28
+ ], CustomsTradeProductInfoPayload.prototype, "prod_clsf_nm_stp1", void 0);
29
+ __decorate([
30
+ (0, class_validator_1.IsString)(),
31
+ (0, class_validator_1.IsNotEmpty)(),
32
+ __metadata("design:type", String)
33
+ ], CustomsTradeProductInfoPayload.prototype, "prod_clsf_nm_stp2", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.IsOptional)(),
37
+ __metadata("design:type", String)
38
+ ], CustomsTradeProductInfoPayload.prototype, "prod_clsf_nm_stp3", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsString)(),
41
+ (0, class_validator_1.IsOptional)(),
42
+ __metadata("design:type", String)
43
+ ], CustomsTradeProductInfoPayload.prototype, "prod_clsf_nm_stp4", void 0);
44
+ __decorate([
45
+ (0, class_validator_1.IsString)(),
46
+ (0, class_validator_1.IsOptional)(),
47
+ __metadata("design:type", String)
48
+ ], CustomsTradeProductInfoPayload.prototype, "prod_clsf_nm_stp5", void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsString)(),
51
+ (0, class_validator_1.IsOptional)(),
52
+ __metadata("design:type", String)
53
+ ], CustomsTradeProductInfoPayload.prototype, "prod_clsf_nm_stp6", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsString)(),
56
+ (0, class_validator_1.IsOptional)(),
57
+ __metadata("design:type", String)
58
+ ], CustomsTradeProductInfoPayload.prototype, "prod_clsf_nm_stp7", void 0);
59
+ __decorate([
60
+ (0, class_validator_1.IsString)(),
61
+ (0, class_validator_1.IsOptional)(),
62
+ __metadata("design:type", String)
63
+ ], CustomsTradeProductInfoPayload.prototype, "prod_clsf_nm_stp8", void 0);
64
+ __decorate([
65
+ (0, class_validator_1.IsString)(),
66
+ (0, class_validator_1.IsOptional)(),
67
+ __metadata("design:type", String)
68
+ ], CustomsTradeProductInfoPayload.prototype, "prod_clsf_nm_stp9", void 0);
69
+ __decorate([
70
+ (0, class_validator_1.IsString)(),
71
+ (0, class_validator_1.IsNotEmpty)(),
72
+ __metadata("design:type", String)
73
+ ], CustomsTradeProductInfoPayload.prototype, "ord_prod_nm", void 0);
74
+ __decorate([
75
+ (0, class_validator_1.IsString)(),
76
+ (0, class_validator_1.IsOptional)(),
77
+ __metadata("design:type", String)
78
+ ], CustomsTradeProductInfoPayload.prototype, "slct_opt_nm", void 0);
79
+ __decorate([
80
+ (0, class_validator_1.IsString)(),
81
+ (0, class_validator_1.IsNotEmpty)(),
82
+ __metadata("design:type", String)
83
+ ], CustomsTradeProductInfoPayload.prototype, "prod_sale_pge_url", void 0);
84
+ __decorate([
85
+ (0, class_validator_1.IsInt)(),
86
+ (0, class_validator_1.Min)(1),
87
+ (0, class_validator_1.Max)(9999),
88
+ __metadata("design:type", Number)
89
+ ], CustomsTradeProductInfoPayload.prototype, "prod_ord_qty", void 0);
90
+ __decorate([
91
+ (0, class_validator_1.IsNumber)({ maxDecimalPlaces: 3 }),
92
+ (0, class_validator_1.Min)(0),
93
+ __metadata("design:type", Number)
94
+ ], CustomsTradeProductInfoPayload.prototype, "prod_unprc", void 0);
95
+ __decorate([
96
+ (0, class_validator_1.IsString)(),
97
+ (0, class_validator_1.Matches)(/^[A-Z]{3}$/),
98
+ __metadata("design:type", String)
99
+ ], CustomsTradeProductInfoPayload.prototype, "prod_unprc_curr_cd", void 0);
100
+ __decorate([
101
+ (0, class_validator_1.IsNumber)({ maxDecimalPlaces: 3 }),
102
+ (0, class_validator_1.Min)(0),
103
+ (0, class_validator_1.IsOptional)(),
104
+ __metadata("design:type", Number)
105
+ ], CustomsTradeProductInfoPayload.prototype, "prod_dscn_amt", void 0);
106
+ __decorate([
107
+ (0, class_validator_1.IsString)(),
108
+ (0, class_validator_1.Matches)(/^[A-Z]{3}$/),
109
+ (0, class_validator_1.IsOptional)(),
110
+ __metadata("design:type", String)
111
+ ], CustomsTradeProductInfoPayload.prototype, "prod_dscn_amt_curr_cd", void 0);
112
+ __decorate([
113
+ (0, class_validator_1.IsNumber)({ maxDecimalPlaces: 3 }),
114
+ (0, class_validator_1.Min)(0),
115
+ __metadata("design:type", Number)
116
+ ], CustomsTradeProductInfoPayload.prototype, "ord_amt", void 0);
117
+ __decorate([
118
+ (0, class_validator_1.IsString)(),
119
+ (0, class_validator_1.Matches)(/^[A-Z]{3}$/),
120
+ __metadata("design:type", String)
121
+ ], CustomsTradeProductInfoPayload.prototype, "ord_amt_curr_cd", void 0);
122
+ __decorate([
123
+ (0, class_validator_1.IsString)(),
124
+ (0, class_validator_1.IsOptional)(),
125
+ __metadata("design:type", String)
126
+ ], CustomsTradeProductInfoPayload.prototype, "sale_ents_nm", void 0);
127
+ __decorate([
128
+ (0, class_validator_1.IsString)(),
129
+ (0, class_validator_1.IsOptional)(),
130
+ __metadata("design:type", String)
131
+ ], CustomsTradeProductInfoPayload.prototype, "sale_ents_id", void 0);
132
+ __decorate([
133
+ (0, class_validator_1.IsString)(),
134
+ (0, class_validator_1.IsOptional)(),
135
+ __metadata("design:type", String)
136
+ ], CustomsTradeProductInfoPayload.prototype, "sale_ents_bsns_no", void 0);
137
+ __decorate([
138
+ (0, class_validator_1.IsString)(),
139
+ (0, class_validator_1.IsOptional)(),
140
+ __metadata("design:type", String)
141
+ ], CustomsTradeProductInfoPayload.prototype, "sale_ents_sgn", void 0);
142
+ __decorate([
143
+ (0, class_validator_1.IsString)(),
144
+ (0, class_validator_1.IsOptional)(),
145
+ __metadata("design:type", String)
146
+ ], CustomsTradeProductInfoPayload.prototype, "prod_id", void 0);
147
+ __decorate([
148
+ (0, class_validator_1.IsString)(),
149
+ (0, class_validator_1.IsOptional)(),
150
+ __metadata("design:type", String)
151
+ ], CustomsTradeProductInfoPayload.prototype, "prod_mkr_nm", void 0);
152
+ __decorate([
153
+ (0, class_validator_1.IsString)(),
154
+ (0, class_validator_1.IsOptional)(),
155
+ __metadata("design:type", String)
156
+ ], CustomsTradeProductInfoPayload.prototype, "prod_mkr_mdl_no", void 0);
157
+ __decorate([
158
+ (0, class_validator_1.IsString)(),
159
+ (0, class_validator_1.IsOptional)(),
160
+ __metadata("design:type", String)
161
+ ], CustomsTradeProductInfoPayload.prototype, "prod_brnd_nm", void 0);
162
+ class CustomsTradeOrderInfoPayload {
163
+ }
164
+ exports.CustomsTradeOrderInfoPayload = CustomsTradeOrderInfoPayload;
165
+ __decorate([
166
+ (0, class_validator_1.IsString)(),
167
+ (0, class_validator_1.IsNotEmpty)(),
168
+ __metadata("design:type", String)
169
+ ], CustomsTradeOrderInfoPayload.prototype, "hbl_no", void 0);
170
+ __decorate([
171
+ (0, class_validator_1.IsString)(),
172
+ (0, class_validator_1.IsNotEmpty)(),
173
+ __metadata("design:type", String)
174
+ ], CustomsTradeOrderInfoPayload.prototype, "ord_no", void 0);
175
+ __decorate([
176
+ (0, class_validator_1.IsString)(),
177
+ (0, class_validator_1.Matches)(/^[ABC]$/),
178
+ __metadata("design:type", String)
179
+ ], CustomsTradeOrderInfoPayload.prototype, "elcm_pcd", void 0);
180
+ __decorate([
181
+ (0, class_validator_1.IsString)(),
182
+ (0, class_validator_1.IsNotEmpty)(),
183
+ __metadata("design:type", String)
184
+ ], CustomsTradeOrderInfoPayload.prototype, "ord_site_url", void 0);
185
+ __decorate([
186
+ (0, class_validator_1.IsString)(),
187
+ (0, class_validator_1.Matches)(/^[A-Z]{2}$/),
188
+ __metadata("design:type", String)
189
+ ], CustomsTradeOrderInfoPayload.prototype, "elcm_ents_cnty_cd", void 0);
190
+ __decorate([
191
+ (0, class_validator_1.IsString)(),
192
+ (0, class_validator_1.IsOptional)(),
193
+ __metadata("design:type", String)
194
+ ], CustomsTradeOrderInfoPayload.prototype, "puch_vcex_bsmn_sgn", void 0);
195
+ __decorate([
196
+ (0, class_validator_1.IsString)(),
197
+ (0, class_validator_1.IsOptional)(),
198
+ __metadata("design:type", String)
199
+ ], CustomsTradeOrderInfoPayload.prototype, "puch_vcex_bsmn_nm", void 0);
200
+ __decorate([
201
+ (0, class_validator_1.IsString)(),
202
+ (0, class_validator_1.IsOptional)(),
203
+ __metadata("design:type", String)
204
+ ], CustomsTradeOrderInfoPayload.prototype, "shpn_vcex_bsmn_sgn", void 0);
205
+ __decorate([
206
+ (0, class_validator_1.IsString)(),
207
+ (0, class_validator_1.IsOptional)(),
208
+ __metadata("design:type", String)
209
+ ], CustomsTradeOrderInfoPayload.prototype, "shpn_vcex_bsmn_nm", void 0);
210
+ __decorate([
211
+ (0, class_validator_1.IsString)(),
212
+ (0, class_validator_1.Matches)(/^\d{14}$/),
213
+ __metadata("design:type", String)
214
+ ], CustomsTradeOrderInfoPayload.prototype, "ord_cmpl_dttm", void 0);
215
+ __decorate([
216
+ (0, class_validator_1.IsString)(),
217
+ (0, class_validator_1.IsNotEmpty)(),
218
+ __metadata("design:type", String)
219
+ ], CustomsTradeOrderInfoPayload.prototype, "ordrr_nm", void 0);
220
+ __decorate([
221
+ (0, class_validator_1.IsString)(),
222
+ (0, class_validator_1.IsNotEmpty)(),
223
+ __metadata("design:type", String)
224
+ ], CustomsTradeOrderInfoPayload.prototype, "ordrr_telno", void 0);
225
+ __decorate([
226
+ (0, class_validator_1.IsString)(),
227
+ (0, class_validator_1.IsOptional)(),
228
+ __metadata("design:type", String)
229
+ ], CustomsTradeOrderInfoPayload.prototype, "ordrr_id", void 0);
230
+ __decorate([
231
+ (0, class_validator_1.IsString)(),
232
+ (0, class_validator_1.IsNotEmpty)(),
233
+ __metadata("design:type", String)
234
+ ], CustomsTradeOrderInfoPayload.prototype, "cnsi_nm", void 0);
235
+ __decorate([
236
+ (0, class_validator_1.IsString)(),
237
+ (0, class_validator_1.IsNotEmpty)(),
238
+ __metadata("design:type", String)
239
+ ], CustomsTradeOrderInfoPayload.prototype, "cnsi_telno", void 0);
240
+ __decorate([
241
+ (0, class_validator_1.IsString)(),
242
+ (0, class_validator_1.Matches)(/^\d{5}$/),
243
+ __metadata("design:type", String)
244
+ ], CustomsTradeOrderInfoPayload.prototype, "cnsi_psno", void 0);
245
+ __decorate([
246
+ (0, class_validator_1.IsString)(),
247
+ (0, class_validator_1.IsNotEmpty)(),
248
+ __metadata("design:type", String)
249
+ ], CustomsTradeOrderInfoPayload.prototype, "cnsi_bscs_addr", void 0);
250
+ __decorate([
251
+ (0, class_validator_1.IsString)(),
252
+ (0, class_validator_1.IsOptional)(),
253
+ __metadata("design:type", String)
254
+ ], CustomsTradeOrderInfoPayload.prototype, "cnsi_dtl_addr", void 0);
255
+ __decorate([
256
+ (0, class_validator_1.IsString)(),
257
+ (0, class_validator_1.Matches)(/^[PO]\d{12}$/i),
258
+ __metadata("design:type", String)
259
+ ], CustomsTradeOrderInfoPayload.prototype, "cnsi_pers_ecm", void 0);
260
+ __decorate([
261
+ (0, class_validator_1.IsString)(),
262
+ (0, class_validator_1.Matches)(/^\d{6}$/),
263
+ (0, class_validator_1.IsOptional)(),
264
+ __metadata("design:type", String)
265
+ ], CustomsTradeOrderInfoPayload.prototype, "su_crtf_no", void 0);
266
+ __decorate([
267
+ (0, class_validator_1.IsNumber)({ maxDecimalPlaces: 3 }),
268
+ (0, class_validator_1.Min)(0),
269
+ (0, class_validator_1.IsOptional)(),
270
+ __metadata("design:type", Number)
271
+ ], CustomsTradeOrderInfoPayload.prototype, "smon_use_amt", void 0);
272
+ __decorate([
273
+ (0, class_validator_1.IsString)(),
274
+ (0, class_validator_1.Matches)(/^[A-Z]{3}$/),
275
+ (0, class_validator_1.IsOptional)(),
276
+ __metadata("design:type", String)
277
+ ], CustomsTradeOrderInfoPayload.prototype, "smon_use_amt_curr_cd", void 0);
278
+ __decorate([
279
+ (0, class_validator_1.IsNumber)({ maxDecimalPlaces: 3 }),
280
+ (0, class_validator_1.Min)(0),
281
+ (0, class_validator_1.IsOptional)(),
282
+ __metadata("design:type", Number)
283
+ ], CustomsTradeOrderInfoPayload.prototype, "spfe", void 0);
284
+ __decorate([
285
+ (0, class_validator_1.IsNumber)({ maxDecimalPlaces: 3 }),
286
+ (0, class_validator_1.Min)(0),
287
+ (0, class_validator_1.IsOptional)(),
288
+ __metadata("design:type", Number)
289
+ ], CustomsTradeOrderInfoPayload.prototype, "spfe_dscn_amt", void 0);
290
+ __decorate([
291
+ (0, class_validator_1.IsString)(),
292
+ (0, class_validator_1.Matches)(/^[A-Z]{3}$/),
293
+ (0, class_validator_1.IsOptional)(),
294
+ __metadata("design:type", String)
295
+ ], CustomsTradeOrderInfoPayload.prototype, "spfe_curr_cd", void 0);
296
+ __decorate([
297
+ (0, class_validator_1.IsNumber)({ maxDecimalPlaces: 3 }),
298
+ (0, class_validator_1.Min)(0),
299
+ (0, class_validator_1.IsOptional)(),
300
+ __metadata("design:type", Number)
301
+ ], CustomsTradeOrderInfoPayload.prototype, "cscl_agcs", void 0);
302
+ __decorate([
303
+ (0, class_validator_1.IsString)(),
304
+ (0, class_validator_1.Matches)(/^[A-Z]{3}$/),
305
+ (0, class_validator_1.IsOptional)(),
306
+ __metadata("design:type", String)
307
+ ], CustomsTradeOrderInfoPayload.prototype, "cscl_agcs_curr_cd", void 0);
308
+ __decorate([
309
+ (0, class_validator_1.IsNumber)({ maxDecimalPlaces: 3 }),
310
+ (0, class_validator_1.Min)(0),
311
+ (0, class_validator_1.IsOptional)(),
312
+ __metadata("design:type", Number)
313
+ ], CustomsTradeOrderInfoPayload.prototype, "tot_dscn_amt", void 0);
314
+ __decorate([
315
+ (0, class_validator_1.IsString)(),
316
+ (0, class_validator_1.Matches)(/^[A-Z]{3}$/),
317
+ (0, class_validator_1.IsOptional)(),
318
+ __metadata("design:type", String)
319
+ ], CustomsTradeOrderInfoPayload.prototype, "tot_dscn_amt_curr_cd", void 0);
320
+ __decorate([
321
+ (0, class_validator_1.IsNumber)({ maxDecimalPlaces: 3 }),
322
+ (0, class_validator_1.Min)(0),
323
+ __metadata("design:type", Number)
324
+ ], CustomsTradeOrderInfoPayload.prototype, "tot_stlm_amt", void 0);
325
+ __decorate([
326
+ (0, class_validator_1.IsString)(),
327
+ (0, class_validator_1.Matches)(/^[A-Z]{3}$/),
328
+ __metadata("design:type", String)
329
+ ], CustomsTradeOrderInfoPayload.prototype, "tot_stlm_amt_curr_cd", void 0);
330
+ __decorate([
331
+ (0, class_validator_1.IsInt)(),
332
+ (0, class_validator_1.Min)(1),
333
+ (0, class_validator_1.Max)(999999),
334
+ __metadata("design:type", Number)
335
+ ], CustomsTradeOrderInfoPayload.prototype, "tot_ord_prod_qty", void 0);
336
+ __decorate([
337
+ (0, class_validator_1.IsArray)(),
338
+ (0, class_validator_1.ArrayMinSize)(1),
339
+ (0, class_validator_1.ArrayMaxSize)(999),
340
+ (0, class_validator_1.ValidateNested)({ each: true }),
341
+ (0, class_transformer_1.Type)(() => CustomsTradeProductInfoPayload),
342
+ __metadata("design:type", Array)
343
+ ], CustomsTradeOrderInfoPayload.prototype, "product_info", void 0);
344
+ /**
345
+ * @author 홍준
346
+ * @description 관세청 TRA001 거래정보 제출 DTO
347
+ * @process 주문 단위 거래정보를 검증하고 서버가 제출번호·제출자 정보를 보완해 전송한다.
348
+ */
349
+ class SubmitCustomsTradeInformationPayload {
350
+ }
351
+ exports.SubmitCustomsTradeInformationPayload = SubmitCustomsTradeInformationPayload;
352
+ __decorate([
353
+ (0, class_validator_1.IsString)(),
354
+ (0, class_validator_1.IsOptional)(),
355
+ (0, class_validator_1.Matches)(/^[A-Z]\d{8}\d{12}$/),
356
+ __metadata("design:type", String)
357
+ ], SubmitCustomsTradeInformationPayload.prototype, "txif_sbmt_no", void 0);
358
+ __decorate([
359
+ (0, class_validator_1.IsArray)(),
360
+ (0, class_validator_1.ArrayMinSize)(1),
361
+ (0, class_validator_1.ArrayMaxSize)(300),
362
+ (0, class_validator_1.ValidateNested)({ each: true }),
363
+ (0, class_transformer_1.Type)(() => CustomsTradeOrderInfoPayload),
364
+ __metadata("design:type", Array)
365
+ ], SubmitCustomsTradeInformationPayload.prototype, "order_info", void 0);
366
+ class SubmitCustomsTradeInformationResult {
367
+ }
368
+ exports.SubmitCustomsTradeInformationResult = SubmitCustomsTradeInformationResult;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @author 홍준
3
+ * @description 관세청 PER001 일반용 OTP 로컬 검증 DTO
4
+ * @process 관세청이 제공한 앞 두 자리와 수하인 번호 기반 check digit을 검증한다.
5
+ */
6
+ export declare class VerifyCustomsPcccOtpPayload {
7
+ reqt_no: string;
8
+ otp: string;
9
+ }
10
+ export declare class VerifyCustomsPcccOtpResult {
11
+ verified: boolean;
12
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.VerifyCustomsPcccOtpResult = exports.VerifyCustomsPcccOtpPayload = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /**
15
+ * @author 홍준
16
+ * @description 관세청 PER001 일반용 OTP 로컬 검증 DTO
17
+ * @process 관세청이 제공한 앞 두 자리와 수하인 번호 기반 check digit을 검증한다.
18
+ */
19
+ class VerifyCustomsPcccOtpPayload {
20
+ }
21
+ exports.VerifyCustomsPcccOtpPayload = VerifyCustomsPcccOtpPayload;
22
+ __decorate([
23
+ (0, class_validator_1.IsString)(),
24
+ (0, class_validator_1.Matches)(/^\d{18}$/),
25
+ __metadata("design:type", String)
26
+ ], VerifyCustomsPcccOtpPayload.prototype, "reqt_no", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.Matches)(/^\d{6}$/),
30
+ __metadata("design:type", String)
31
+ ], VerifyCustomsPcccOtpPayload.prototype, "otp", void 0);
32
+ class VerifyCustomsPcccOtpResult {
33
+ }
34
+ exports.VerifyCustomsPcccOtpResult = VerifyCustomsPcccOtpResult;
@@ -0,0 +1,2 @@
1
+ export * from './command';
2
+ export * from './query';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./command"), exports);
18
+ __exportStar(require("./query"), exports);
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @author 홍준
3
+ * @description 관세청 TRA002 거래정보 제출 결과 조회 DTO
4
+ * @process 제출번호로 관세청 결과를 조회하고 내부 제출 상태를 갱신한다.
5
+ */
6
+ export declare class GetCustomsTradeSubmissionResultPayload {
7
+ txif_sbmt_no: string;
8
+ }
9
+ export declare class GetCustomsTradeSubmissionResult {
10
+ txifSbmtNo: string;
11
+ status: string;
12
+ externalResponseCode: string;
13
+ result?: Record<string, unknown>;
14
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GetCustomsTradeSubmissionResult = exports.GetCustomsTradeSubmissionResultPayload = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /**
15
+ * @author 홍준
16
+ * @description 관세청 TRA002 거래정보 제출 결과 조회 DTO
17
+ * @process 제출번호로 관세청 결과를 조회하고 내부 제출 상태를 갱신한다.
18
+ */
19
+ class GetCustomsTradeSubmissionResultPayload {
20
+ }
21
+ exports.GetCustomsTradeSubmissionResultPayload = GetCustomsTradeSubmissionResultPayload;
22
+ __decorate([
23
+ (0, class_validator_1.IsString)(),
24
+ (0, class_validator_1.Matches)(/^[A-Z]\d{8}\d{12}$/),
25
+ __metadata("design:type", String)
26
+ ], GetCustomsTradeSubmissionResultPayload.prototype, "txif_sbmt_no", void 0);
27
+ class GetCustomsTradeSubmissionResult {
28
+ }
29
+ exports.GetCustomsTradeSubmissionResult = GetCustomsTradeSubmissionResult;
@@ -0,0 +1,5 @@
1
+ /** @author 홍준 @description 관세청 TRA003 미조회 거래정보 오류 조회 DTO @process 최근 7일 이내 미조회 오류를 수신하여 내부 제출 이력에 반영한다. */
2
+ export declare class GetUnreadCustomsTradeErrorsResult {
3
+ unreadCount: number;
4
+ transactionErrors: Array<Record<string, unknown>>;
5
+ }
@@ -0,0 +1,6 @@
1
+ Object.defineProperty(exports, '__esModule', { value: true });
2
+ exports.GetUnreadCustomsTradeErrorsResult = void 0;
3
+ /** @author 홍준 @description 관세청 TRA003 미조회 거래정보 오류 조회 DTO @process 최근 7일 이내 미조회 오류를 수신하여 내부 제출 이력에 반영한다. */
4
+ class GetUnreadCustomsTradeErrorsResult {
5
+ }
6
+ exports.GetUnreadCustomsTradeErrorsResult = GetUnreadCustomsTradeErrorsResult;
@@ -0,0 +1,2 @@
1
+ export * from './get-customs-trade-submission-result.dto';
2
+ export * from './poll-pending-customs-trade-submissions.dto';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./get-customs-trade-submission-result.dto"), exports);
18
+ __exportStar(require("./poll-pending-customs-trade-submissions.dto"), exports);
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @author 홍준
3
+ * @description 관세청 TRA002 미완료 제출 건 polling DTO
4
+ * @process 제출 결과 대기 상태의 거래정보를 제한된 수만큼 조회한다.
5
+ */
6
+ export declare class PollPendingCustomsTradeSubmissionsPayload {
7
+ limit?: number;
8
+ }
9
+ export declare class PollPendingCustomsTradeSubmissionsResult {
10
+ processedCount: number;
11
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PollPendingCustomsTradeSubmissionsResult = exports.PollPendingCustomsTradeSubmissionsPayload = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /**
15
+ * @author 홍준
16
+ * @description 관세청 TRA002 미완료 제출 건 polling DTO
17
+ * @process 제출 결과 대기 상태의 거래정보를 제한된 수만큼 조회한다.
18
+ */
19
+ class PollPendingCustomsTradeSubmissionsPayload {
20
+ }
21
+ exports.PollPendingCustomsTradeSubmissionsPayload = PollPendingCustomsTradeSubmissionsPayload;
22
+ __decorate([
23
+ (0, class_validator_1.IsInt)(),
24
+ (0, class_validator_1.Min)(1),
25
+ (0, class_validator_1.Max)(10),
26
+ (0, class_validator_1.IsOptional)(),
27
+ __metadata("design:type", Number)
28
+ ], PollPendingCustomsTradeSubmissionsPayload.prototype, "limit", void 0);
29
+ class PollPendingCustomsTradeSubmissionsResult {
30
+ }
31
+ exports.PollPendingCustomsTradeSubmissionsResult = PollPendingCustomsTradeSubmissionsResult;
@@ -6,3 +6,4 @@ export * from './direct-payment-tosspayments';
6
6
  export * from './changed-purchased-option-log';
7
7
  export * from './purchase-receipt';
8
8
  export * from './nicepay';
9
+ export * from './customs';
@@ -22,3 +22,4 @@ __exportStar(require("./direct-payment-tosspayments"), exports);
22
22
  __exportStar(require("./changed-purchased-option-log"), exports);
23
23
  __exportStar(require("./purchase-receipt"), exports);
24
24
  __exportStar(require("./nicepay"), exports);
25
+ __exportStar(require("./customs"), exports);
@@ -0,0 +1,13 @@
1
+ import { ClientProxy } from '@nestjs/microservices';
2
+ import { AbstractParam } from '@yolo-croket-dev/core';
3
+ import { GetCustomsTradeSubmissionResult, GetCustomsTradeSubmissionResultPayload, PollPendingCustomsTradeSubmissionsPayload, PollPendingCustomsTradeSubmissionsResult, RequestCustomsPcccValidationPayload, RequestCustomsPcccValidationResult, SubmitCustomsTradeInformationPayload, SubmitCustomsTradeInformationResult, VerifyCustomsPcccOtpPayload, VerifyCustomsPcccOtpResult } from '../dto/customs';
4
+ export declare class AmqpCustomsService {
5
+ private readonly client;
6
+ private readonly amqpManager;
7
+ constructor(client: ClientProxy);
8
+ requestPcccValidation(payload: RequestCustomsPcccValidationPayload, param: AbstractParam): Promise<RequestCustomsPcccValidationResult>;
9
+ verifyPcccOtp(payload: VerifyCustomsPcccOtpPayload, param: AbstractParam): Promise<VerifyCustomsPcccOtpResult>;
10
+ submitTradeInformation(payload: SubmitCustomsTradeInformationPayload, param: AbstractParam): Promise<SubmitCustomsTradeInformationResult>;
11
+ getTradeSubmissionResult(payload: GetCustomsTradeSubmissionResultPayload, param: AbstractParam): Promise<GetCustomsTradeSubmissionResult>;
12
+ pollPendingTradeSubmissions(payload: PollPendingCustomsTradeSubmissionsPayload, param: AbstractParam): Promise<PollPendingCustomsTradeSubmissionsResult>;
13
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AmqpCustomsService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const microservices_1 = require("@nestjs/microservices");
18
+ const core_1 = require("@yolo-croket-dev/core");
19
+ let AmqpCustomsService = class AmqpCustomsService {
20
+ constructor(client) {
21
+ this.client = client;
22
+ this.amqpManager = new core_1.AmqpManagement(this.client);
23
+ }
24
+ async requestPcccValidation(payload, param) {
25
+ return this.amqpManager.call('관세청 개인통관고유부호 검증 요청', 'customs.request.pccc-validation', payload, param, { isErrorThrowing: true });
26
+ }
27
+ async verifyPcccOtp(payload, param) {
28
+ return this.amqpManager.call('관세청 개인통관고유부호 OTP 검증', 'customs.verify.pccc-otp', payload, param, { isErrorThrowing: true });
29
+ }
30
+ async submitTradeInformation(payload, param) {
31
+ return this.amqpManager.call('관세청 거래정보 제출', 'customs.submit.trade-information', payload, param, { isErrorThrowing: true });
32
+ }
33
+ async getTradeSubmissionResult(payload, param) {
34
+ return this.amqpManager.call('관세청 거래정보 제출 결과 조회', 'customs.get.trade-submission-result', payload, param, { isErrorThrowing: true });
35
+ }
36
+ async pollPendingTradeSubmissions(payload, param) {
37
+ return this.amqpManager.call('관세청 미완료 거래정보 결과 조회', 'customs.poll.pending-trade-submissions', payload, param, { isErrorThrowing: true });
38
+ }
39
+ };
40
+ exports.AmqpCustomsService = AmqpCustomsService;
41
+ exports.AmqpCustomsService = AmqpCustomsService = __decorate([
42
+ (0, common_1.Injectable)(),
43
+ __param(0, (0, common_1.Inject)('ORDER_SERVER_PROVIDER')),
44
+ __metadata("design:paramtypes", [microservices_1.ClientProxy])
45
+ ], AmqpCustomsService);
@@ -14,3 +14,4 @@ export * from './amqp.purchase-receipt-sabang.service';
14
14
  export * from './naver-search-ad.modules';
15
15
  export * from './amqp.nicepay.service';
16
16
  export * from './amqp.user-card-billing.service';
17
+ export * from './amqp.customs.service';
@@ -30,3 +30,4 @@ __exportStar(require("./amqp.purchase-receipt-sabang.service"), exports);
30
30
  __exportStar(require("./naver-search-ad.modules"), exports);
31
31
  __exportStar(require("./amqp.nicepay.service"), exports);
32
32
  __exportStar(require("./amqp.user-card-billing.service"), exports);
33
+ __exportStar(require("./amqp.customs.service"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yolo-croket-dev/amqp-access",
3
- "version": "0.7.290",
3
+ "version": "0.7.291",
4
4
  "main": "index.js",
5
5
  "author": "Yolo Co., Ltd.",
6
6
  "description": "크로켓 amqp-access npm",
@@ -23,7 +23,7 @@
23
23
  "@yolo-croket-dev/domain": "0.2.45",
24
24
  "@yolo-croket-dev/dto-v2": "0.2.23",
25
25
  "@yolo-croket-dev/entity": "0.2.104",
26
- "@yolo-croket-dev/entity-v2": "0.3.33",
26
+ "@yolo-croket-dev/entity-v2": "0.3.34",
27
27
  "class-transformer": "^0.5.1",
28
28
  "class-validator": "^0.13.2",
29
29
  "dotenv": "^16.3.1"