diff --git a/bookstore-api/.idea/workspace.xml b/bookstore-api/.idea/workspace.xml
index 0dee028..28b59f1 100644
--- a/bookstore-api/.idea/workspace.xml
+++ b/bookstore-api/.idea/workspace.xml
@@ -16,10 +16,10 @@
-
+
-
+
@@ -28,11 +28,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
@@ -58,11 +80,11 @@
-
+
-
-
+
+
@@ -71,8 +93,8 @@
-
-
+
+
@@ -81,8 +103,8 @@
-
-
+
+
@@ -93,8 +115,8 @@
@@ -120,10 +142,7 @@
-
-
-
@@ -157,8 +176,12 @@
-
+
+
+
+
+
@@ -984,12 +1007,12 @@
-
+
-
+
@@ -1013,7 +1036,7 @@
-
+
@@ -1045,13 +1068,6 @@
-
-
-
-
-
-
-
@@ -1067,13 +1083,6 @@
-
-
-
-
-
-
-
@@ -1460,30 +1469,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1500,17 +1485,9 @@
-
-
-
-
-
-
-
-
-
+
@@ -1518,5 +1495,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bookstore-api/src/main/java/com/bookstore/domain/BillingAddress.java b/bookstore-api/src/main/java/com/bookstore/domain/BillingAddress.java
index 48e1430..f6185c6 100644
--- a/bookstore-api/src/main/java/com/bookstore/domain/BillingAddress.java
+++ b/bookstore-api/src/main/java/com/bookstore/domain/BillingAddress.java
@@ -1,5 +1,7 @@
package com.bookstore.domain;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
import javax.persistence.*;
import java.io.Serializable;
@@ -24,6 +26,7 @@ public class BillingAddress implements Serializable{
private String billingAddressZipcode;
@OneToOne
+ @JsonIgnore
private Order order;
public Long getId() {
diff --git a/bookstore-api/src/main/java/com/bookstore/domain/Order.java b/bookstore-api/src/main/java/com/bookstore/domain/Order.java
index 43a4b98..e7642e6 100644
--- a/bookstore-api/src/main/java/com/bookstore/domain/Order.java
+++ b/bookstore-api/src/main/java/com/bookstore/domain/Order.java
@@ -31,15 +31,12 @@ public class Order implements Serializable {
private List cartItemList;
@OneToOne(cascade=CascadeType.ALL)
- @JsonIgnore
private ShippingAddress shippingAddress;
@OneToOne(cascade=CascadeType.ALL)
- @JsonIgnore
private BillingAddress billingAddress;
@OneToOne(cascade=CascadeType.ALL)
- @JsonIgnore
private Payment payment;
@ManyToOne
diff --git a/bookstore-api/src/main/java/com/bookstore/domain/Payment.java b/bookstore-api/src/main/java/com/bookstore/domain/Payment.java
index c484208..812ee35 100644
--- a/bookstore-api/src/main/java/com/bookstore/domain/Payment.java
+++ b/bookstore-api/src/main/java/com/bookstore/domain/Payment.java
@@ -1,5 +1,7 @@
package com.bookstore.domain;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
import javax.persistence.*;
import java.io.Serializable;
@@ -24,6 +26,7 @@ public class Payment implements Serializable {
private boolean defaultPayment;
@OneToOne
+ @JsonIgnore
private Order order;
public Long getId() {
diff --git a/bookstore-api/src/main/java/com/bookstore/domain/ShippingAddress.java b/bookstore-api/src/main/java/com/bookstore/domain/ShippingAddress.java
index c43cd5b..d5de4f0 100644
--- a/bookstore-api/src/main/java/com/bookstore/domain/ShippingAddress.java
+++ b/bookstore-api/src/main/java/com/bookstore/domain/ShippingAddress.java
@@ -1,5 +1,7 @@
package com.bookstore.domain;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
import javax.persistence.*;
import java.io.Serializable;
@@ -24,6 +26,7 @@ public class ShippingAddress implements Serializable {
private String shippingAddressZipcode;
@OneToOne
+ @JsonIgnore
private Order order;
public Long getId() {
diff --git a/bookstore-api/src/main/java/com/bookstore/resource/OrderResource.java b/bookstore-api/src/main/java/com/bookstore/resource/OrderResource.java
new file mode 100644
index 0000000..021e5fd
--- /dev/null
+++ b/bookstore-api/src/main/java/com/bookstore/resource/OrderResource.java
@@ -0,0 +1,33 @@
+package com.bookstore.resource;
+
+import com.bookstore.domain.Order;
+import com.bookstore.domain.User;
+import com.bookstore.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.security.Principal;
+import java.util.List;
+
+/**
+ * Created by z00382545 on 3/11/17.
+ */
+
+@RestController
+@RequestMapping("/order")
+public class OrderResource {
+
+ @Autowired
+ private UserService userService;
+
+ @RequestMapping("/getOrderList")
+ public List getOrderList(
+ Principal principal
+ ) {
+ User user = userService.findByUsername(principal.getName());
+ List orderList = user.getOrderList();
+
+ return orderList;
+ }
+}
diff --git a/bookstore-api/target/classes/com/bookstore/domain/BillingAddress.class b/bookstore-api/target/classes/com/bookstore/domain/BillingAddress.class
index aa83e2f..112b91f 100644
Binary files a/bookstore-api/target/classes/com/bookstore/domain/BillingAddress.class and b/bookstore-api/target/classes/com/bookstore/domain/BillingAddress.class differ
diff --git a/bookstore-api/target/classes/com/bookstore/domain/Order.class b/bookstore-api/target/classes/com/bookstore/domain/Order.class
index f82667b..c14b5cf 100644
Binary files a/bookstore-api/target/classes/com/bookstore/domain/Order.class and b/bookstore-api/target/classes/com/bookstore/domain/Order.class differ
diff --git a/bookstore-api/target/classes/com/bookstore/domain/Payment.class b/bookstore-api/target/classes/com/bookstore/domain/Payment.class
index 30371f8..d5ed5af 100644
Binary files a/bookstore-api/target/classes/com/bookstore/domain/Payment.class and b/bookstore-api/target/classes/com/bookstore/domain/Payment.class differ
diff --git a/bookstore-api/target/classes/com/bookstore/domain/ShippingAddress.class b/bookstore-api/target/classes/com/bookstore/domain/ShippingAddress.class
index 6928be6..8d47fdf 100644
Binary files a/bookstore-api/target/classes/com/bookstore/domain/ShippingAddress.class and b/bookstore-api/target/classes/com/bookstore/domain/ShippingAddress.class differ
diff --git a/bookstore-api/target/classes/com/bookstore/resource/CheckoutResource.class b/bookstore-api/target/classes/com/bookstore/resource/CheckoutResource.class
index 0d0b0ea..5285da3 100644
Binary files a/bookstore-api/target/classes/com/bookstore/resource/CheckoutResource.class and b/bookstore-api/target/classes/com/bookstore/resource/CheckoutResource.class differ
diff --git a/bookstore-api/target/classes/com/bookstore/resource/OrderResource.class b/bookstore-api/target/classes/com/bookstore/resource/OrderResource.class
new file mode 100644
index 0000000..4d8ffeb
Binary files /dev/null and b/bookstore-api/target/classes/com/bookstore/resource/OrderResource.class differ
diff --git a/store-front/src/app/app.module.ts b/store-front/src/app/app.module.ts
index cb624a1..056fdee 100644
--- a/store-front/src/app/app.module.ts
+++ b/store-front/src/app/app.module.ts
@@ -21,6 +21,8 @@ import { ShippingService } from './services/shipping.service';
import { BookService } from './services/book.service';
import { CartService } from './services/cart.service';
import { CheckoutService } from './services/checkout.service';
+import { OrderService } from './services/order.service';
+
import { MyAccountComponent } from './components/my-account/my-account.component';
import { MyProfileComponent } from './components/my-profile/my-profile.component';
@@ -59,7 +61,8 @@ import { OrderSummaryComponent } from './components/order-summary/order-summary.
ShippingService,
BookService,
CartService,
- CheckoutService
+ CheckoutService,
+ OrderService
],
bootstrap: [AppComponent]
})
diff --git a/store-front/src/app/components/my-profile/my-profile.component.html b/store-front/src/app/components/my-profile/my-profile.component.html
index 050faaf..0794811 100644
--- a/store-front/src/app/components/my-profile/my-profile.component.html
+++ b/store-front/src/app/components/my-profile/my-profile.component.html
@@ -84,8 +84,8 @@
|
-
+ {{order.orderDate}}
|
{{order.id}} |
{{order.orderTotal}} |
diff --git a/store-front/src/app/components/my-profile/my-profile.component.ts b/store-front/src/app/components/my-profile/my-profile.component.ts
index 196aaf9..8e12dfb 100644
--- a/store-front/src/app/components/my-profile/my-profile.component.ts
+++ b/store-front/src/app/components/my-profile/my-profile.component.ts
@@ -5,10 +5,13 @@ import {LoginService} from "../../services/login.service";
import {UserService} from "../../services/user.service";
import {PaymentService} from "../../services/payment.service";
import {ShippingService} from "../../services/shipping.service";
+import {OrderService} from "../../services/order.service";
import {User} from '../../models/user';
import {UserPayment} from '../../models/user-payment';
import {UserBilling} from '../../models/user-billing';
import {UserShipping} from '../../models/user-shipping';
+import {Order} from '../../models/order';
+
@Component({
selector: 'app-my-profile',
@@ -53,11 +56,16 @@ export class MyProfileComponent implements OnInit {
private defaultUserShippingId:number;
private defaultShippingSet: boolean;
+ private orderList: Order[] = [];
+ private order:Order = new Order();
+ private displayOrderDetail:boolean;
+
constructor (
private paymentService:PaymentService,
private shippingService:ShippingService,
private loginService: LoginService,
private userService: UserService,
+ private orderService: OrderService,
private router: Router
){
}
@@ -136,6 +144,12 @@ export class MyProfileComponent implements OnInit {
);
}
+ onDisplayOrder (order:Order) {
+ console.log(order);
+ this.order=order;
+ this.displayOrderDetail=true;
+ }
+
onNewPayment () {
this.paymentService.newPayment(this.userPayment).subscribe(
res => {
@@ -263,6 +277,15 @@ export class MyProfileComponent implements OnInit {
}
);
+ this.orderService.getOrderList().subscribe(
+ res => {
+ this.orderList = res.json();
+ },
+ error => {
+ console.log(error.text());
+ }
+ );
+
this.getCurrentUser();
for (let s in AppConst.usStates) {
diff --git a/store-front/src/app/services/order.service.spec.ts b/store-front/src/app/services/order.service.spec.ts
new file mode 100644
index 0000000..5c808c2
--- /dev/null
+++ b/store-front/src/app/services/order.service.spec.ts
@@ -0,0 +1,16 @@
+/* tslint:disable:no-unused-variable */
+
+import { TestBed, async, inject } from '@angular/core/testing';
+import { OrderService } from './order.service';
+
+describe('OrderService', () => {
+ beforeEach(() => {
+ TestBed.configureTestingModule({
+ providers: [OrderService]
+ });
+ });
+
+ it('should ...', inject([OrderService], (service: OrderService) => {
+ expect(service).toBeTruthy();
+ }));
+});
diff --git a/store-front/src/app/services/order.service.ts b/store-front/src/app/services/order.service.ts
new file mode 100644
index 0000000..e03b5c8
--- /dev/null
+++ b/store-front/src/app/services/order.service.ts
@@ -0,0 +1,19 @@
+import { Injectable } from '@angular/core';
+import {Headers, Http} from "@angular/http";
+import {AppConst} from '../constants/app-const';
+import {Order} from '../models/order';
+
+@Injectable()
+export class OrderService {
+
+ constructor(private http: Http) { }
+
+ getOrderList () {
+ let url = AppConst.serverPath+"/order/getOrderList";
+
+ let tokenHeader = new Headers ({
+ 'x-auth-token' : localStorage.getItem("xAuthToken")
+ });
+ return this.http.get(url, {headers : tokenHeader});
+ }
+}