浏览代码

Add other name registration endpoints

master
Adwaith Rao 3 年前
父节点
当前提交
481c37b21a
共有 3 个文件被更改,包括 84 次插入61 次删除
  1. +2
    -2
      src/app/pages/register-business/register-business.component.html
  2. +33
    -57
      src/app/pages/register-business/register-business.component.ts
  3. +49
    -2
      src/app/services/register-business-name.service.ts

+ 2
- 2
src/app/pages/register-business/register-business.component.html 查看文件

@@ -77,7 +77,7 @@
<button class="common-button neutral" (click)="formState = 'INIT_REGISTER'"> <button class="common-button neutral" (click)="formState = 'INIT_REGISTER'">
Back Back
</button> </button>
<button class="common-button" (click)="formState = 'SELECT_PLAN'">
<button class="common-button" (click)="registerName()">
Proceed Proceed
</button> </button>
</div> </div>
@@ -150,7 +150,7 @@
<button class="common-button outline" (click)="print()"> <button class="common-button outline" (click)="print()">
Print Print
</button> </button>
<button class="common-button" (click)="formState = 'RECEIPT'">
<button class="common-button" (click)="goToReceipt()">
View Receipt View Receipt
</button> </button>
</div> </div>


+ 33
- 57
src/app/pages/register-business/register-business.component.ts 查看文件

@@ -1,6 +1,18 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { RegisterBusinessNameService } from 'src/app/services/register-business-name.service'; import { RegisterBusinessNameService } from 'src/app/services/register-business-name.service';


export interface AcknowledgementRow {
name: string,
value: string | number,
amount?: number,
highlight?: boolean,
};

export interface ReceiptRow {
name: string,
value: string | number,
};

@Component({ @Component({
selector: 'app-register-business', selector: 'app-register-business',
templateUrl: './register-business.component.html', templateUrl: './register-business.component.html',
@@ -48,62 +60,9 @@ export class RegisterBusinessComponent implements OnInit {
dropSuffixOptions = ['YES', 'NO']; dropSuffixOptions = ['YES', 'NO'];




acknowledgementDetails: Array<{
name: string,
value: string | number,
amount?: number,
highlight?: boolean,
}> = [{
name: 'UEM',
value: '---'
}, {
name: 'Entity Name',
value: this.nameToCheck
}, {
name: 'Transaction Number',
value: '39047729362923293',
highlight: true,
}, {
name: 'Receipt Number',
value: 'ACRA38293',
highlight: true
}, {
name: 'EP Reference No.',
value: '20910038829384470'
}, {
name: 'Payment Date',
value: '06/11/2021 11:28:01'
}, {
name: 'Description',
value: 'Application for Business Name',
amount: 15
}];

receiptDetails: Array<{
name: string,
value: string | number,
}> = [{
name: 'Receipt Number',
value: 'ACRA38293',
}, {
name: 'ARN',
value: 'ARN2021110294038',
}, {
name: 'EP Reference No.',
value: '20910038829384470'
}, {
name: 'Tax ID',
value: 'M9-0C038921',
}, {
name: 'Paid By',
value: 'KOH YA TING',
}, {
name: 'Payment Date',
value: '06/11/2021 11:28:01'
}, {
name: 'Paid Via',
value: 'Net Banking',
}];
acknowledgementDetails: Array<AcknowledgementRow> = [];

receiptDetails: Array<ReceiptRow> = [];


constructor(private registerBusinessNameService: RegisterBusinessNameService) { } constructor(private registerBusinessNameService: RegisterBusinessNameService) { }


@@ -149,15 +108,21 @@ export class RegisterBusinessComponent implements OnInit {
payForReservation() { payForReservation() {
this.paymentChild = window.open('/mock', '_blank', 'toolbar=0,status=0,width=626,height=436'); this.paymentChild = window.open('/mock', '_blank', 'toolbar=0,status=0,width=626,height=436');


this.childCheck = window.setInterval(() => {
this.childCheck = window.setInterval(async () => {
if (this.paymentChild && this.paymentChild.closed) { if (this.paymentChild && this.paymentChild.closed) {
this.formState = 'ACKNOWLEDGEMENT'; this.formState = 'ACKNOWLEDGEMENT';
window.clearInterval(this.childCheck); window.clearInterval(this.childCheck);
this.childCheck = undefined; this.childCheck = undefined;
this.acknowledgementDetails = await this.registerBusinessNameService.getAcknowledgement();
} }
}, 1000); }, 1000);
} }


async goToReceipt() {
this.formState = 'RECEIPT';
this.receiptDetails = await this.registerBusinessNameService.getReceipt();
}

async checkName() { async checkName() {
this.formState = 'INIT_REGISTER'; this.formState = 'INIT_REGISTER';


@@ -178,6 +143,17 @@ export class RegisterBusinessComponent implements OnInit {
} }
} }


async registerName() {
await this.registerBusinessNameService.registerName(
this.nameToCheck,
this.selectedEntityType,
this.selectedCompanyCategory,
this.selectedCompanySuffix,
this.selectedDropSuffix,
);
this.formState = 'SELECT_PLAN';
}

print() { print() {
window.print(); window.print();
} }


+ 49
- 2
src/app/services/register-business-name.service.ts 查看文件

@@ -2,11 +2,28 @@ import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http'; import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable, throwError } from 'rxjs'; import { Observable, throwError } from 'rxjs';
import { catchError, retry } from 'rxjs/operators'; import { catchError, retry } from 'rxjs/operators';
import { AcknowledgementRow, ReceiptRow } from '../pages/register-business/register-business.component';

export interface NameCheckRequest {
name: string;
}


export interface NameCheckResponse { export interface NameCheckResponse {
status: string; status: string;
} }


export interface NameRegisterRequest {
name: string;
entityType: string;
companyCategory: string;
companySuffix: string;
dropSuffix: string;
}

export interface NameRegisterResponse {
status: string;
}

@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
@@ -17,10 +34,40 @@ export class RegisterBusinessNameService {
} }


checkName(name: string) { checkName(name: string) {
const nameRequest = {
const nameCheckRequest: NameCheckRequest = {
name,
};

return new Promise<NameCheckResponse>((resolve, reject) => resolve({status: 'success'}));

return this.http.post<NameCheckResponse>('http://localhost:10000/name-check/', nameCheckRequest).toPromise();
}

registerName(
name: string,
entityType: string,
companyCategory: string,
companySuffix: string,
dropSuffix: string,
) {
const nameRegisterRequest: NameRegisterRequest = {
name, name,
entityType,
companyCategory,
companySuffix,
dropSuffix,
}; };


return this.http.post<NameCheckResponse>('http://localhost:10000/name-check/', nameRequest).toPromise();
return new Promise<NameCheckResponse>((resolve, reject) => resolve({status: 'success'}));

return this.http.post<NameRegisterResponse>('http://localhost:8080/name-register/', nameRegisterRequest).toPromise();
}

getAcknowledgement() {
return this.http.get<Array<AcknowledgementRow>>('http://localhost:8080/acknowledgement/').toPromise();
}

getReceipt() {
return this.http.get<Array<ReceiptRow>>('http://localhost:8080/receipt/').toPromise();
} }
} }

正在加载...
取消
保存