This commit is contained in:
Le Deng
2017-03-11 10:07:35 -05:00
parent 0bbf20a027
commit 180482ce47
17 changed files with 199 additions and 72 deletions

View File

@@ -16,10 +16,10 @@
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="CheckoutResource.java" pinned="false" current-in-tab="true">
<file leaf-file-name="CheckoutResource.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/resource/CheckoutResource.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="533">
<state relative-caret-position="1365">
<caret line="89" column="0" lean-forward="true" selection-start-line="89" selection-start-column="0" selection-end-line="89" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
@@ -28,11 +28,33 @@
</provider>
</entry>
</file>
<file leaf-file-name="OrderResource.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/resource/OrderResource.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="450">
<caret line="30" column="25" lean-forward="false" selection-start-line="30" selection-start-column="25" selection-end-line="30" selection-end-column="25" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="User.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/User.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="20" column="0" lean-forward="true" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Order.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/Order.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="321">
<caret line="149" column="17" lean-forward="true" selection-start-line="149" selection-start-column="17" selection-end-line="149" selection-end-column="17" />
<state relative-caret-position="276">
<caret line="39" column="0" lean-forward="false" selection-start-line="39" selection-start-column="0" selection-end-line="39" selection-end-column="0" />
<folding />
</state>
</provider>
@@ -58,11 +80,11 @@
</provider>
</entry>
</file>
<file leaf-file-name="Payment.java" pinned="false" current-in-tab="false">
<file leaf-file-name="Payment.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/Payment.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="183">
<caret line="23" column="35" lean-forward="true" selection-start-line="23" selection-start-column="35" selection-end-line="23" selection-end-column="35" />
<state relative-caret-position="228">
<caret line="28" column="15" lean-forward="false" selection-start-line="28" selection-start-column="15" selection-end-line="28" selection-end-column="15" />
<folding />
</state>
</provider>
@@ -71,8 +93,8 @@
<file leaf-file-name="BillingAddress.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/BillingAddress.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="21" column="39" lean-forward="true" selection-start-line="21" selection-start-column="39" selection-end-line="21" selection-end-column="39" />
<state relative-caret-position="150">
<caret line="28" column="15" lean-forward="false" selection-start-line="28" selection-start-column="15" selection-end-line="28" selection-end-column="15" />
<folding />
</state>
</provider>
@@ -81,8 +103,8 @@
<file leaf-file-name="ShippingAddress.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/ShippingAddress.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="15">
<caret line="24" column="0" lean-forward="true" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
<state relative-caret-position="105">
<caret line="28" column="15" lean-forward="false" selection-start-line="28" selection-start-column="15" selection-end-line="28" selection-end-column="15" />
<folding />
</state>
</provider>
@@ -93,8 +115,8 @@
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Class" />
<option value="HTML File" />
<option value="Class" />
</list>
</option>
</component>
@@ -120,10 +142,7 @@
<list>
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/service/impl/UserSecurityService.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/config/SecurityUtility.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/BillingAddress.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/BookToCartItem.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/Payment.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/ShippingAddress.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/User.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/security/Authority.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/security/PasswordResetToken.java" />
@@ -157,8 +176,12 @@
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/resource/PaymentResource.java" />
<option value="$PROJECT_DIR$/src/main/resources/templates/orderConfirmationEmailTemplate.html" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/CartItem.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/Order.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/resource/CheckoutResource.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/resource/OrderResource.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/Order.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/ShippingAddress.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/BillingAddress.java" />
<option value="$PROJECT_DIR$/src/main/java/com/bookstore/domain/Payment.java" />
</list>
</option>
</component>
@@ -984,12 +1007,12 @@
<workItem from="1488378219247" duration="650000" />
<workItem from="1488461561430" duration="18419000" />
<workItem from="1488731165185" duration="30270000" />
<workItem from="1489159532831" duration="11492000" />
<workItem from="1489159532831" duration="12188000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="103774000" />
<option name="totallyTimeSpent" value="104470000" />
</component>
<component name="ToolWindowManager">
<frame x="72" y="23" width="1280" height="797" extended-state="0" />
@@ -1013,7 +1036,7 @@
<window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32907802" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32624114" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32624114" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Spring" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32907802" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32229403" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
@@ -1045,13 +1068,6 @@
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/utility/USConstants.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="jar://$MAVEN_REPOSITORY$/org/springframework/spring-web/4.3.5.RELEASE/spring-web-4.3.5.RELEASE.jar!/org/springframework/web/method/support/InvocableHandlerMethod.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="131">
@@ -1067,13 +1083,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/User.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
<caret line="20" column="0" lean-forward="true" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/security/Authority.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
@@ -1460,30 +1469,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/ShippingAddress.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="15">
<caret line="24" column="0" lean-forward="true" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/BillingAddress.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="21" column="39" lean-forward="true" selection-start-line="21" selection-start-column="39" selection-end-line="21" selection-end-column="39" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/Payment.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="183">
<caret line="23" column="35" lean-forward="true" selection-start-line="23" selection-start-column="35" selection-end-line="23" selection-end-column="35" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/service/impl/OrderServiceImpl.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="533">
@@ -1500,17 +1485,9 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/Order.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="321">
<caret line="149" column="17" lean-forward="true" selection-start-line="149" selection-start-column="17" selection-end-line="149" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/resource/CheckoutResource.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="533">
<state relative-caret-position="1365">
<caret line="89" column="0" lean-forward="true" selection-start-line="89" selection-start-column="0" selection-end-line="89" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
@@ -1518,5 +1495,55 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/User.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="20" column="0" lean-forward="true" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/resource/OrderResource.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="450">
<caret line="30" column="25" lean-forward="false" selection-start-line="30" selection-start-column="25" selection-end-line="30" selection-end-column="25" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/Order.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="276">
<caret line="39" column="0" lean-forward="false" selection-start-line="39" selection-start-column="0" selection-end-line="39" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/ShippingAddress.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="28" column="15" lean-forward="false" selection-start-line="28" selection-start-column="15" selection-end-line="28" selection-end-column="15" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/BillingAddress.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="28" column="15" lean-forward="false" selection-start-line="28" selection-start-column="15" selection-end-line="28" selection-end-column="15" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/com/bookstore/domain/Payment.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="228">
<caret line="28" column="15" lean-forward="false" selection-start-line="28" selection-start-column="15" selection-end-line="28" selection-end-column="15" />
<folding />
</state>
</provider>
</entry>
</component>
</project>

View File

@@ -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() {

View File

@@ -31,15 +31,12 @@ public class Order implements Serializable {
private List<CartItem> 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

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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<Order> getOrderList(
Principal principal
) {
User user = userService.findByUsername(principal.getName());
List<Order> orderList = user.getOrderList();
return orderList;
}
}

View File

@@ -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]
})

View File

@@ -84,8 +84,8 @@
<tbody>
<tr *ngFor="let order of orderList">
<td>
<a th:href="@{/orderDetail(id=${order.id})}"><span
th:text="${order.orderDate}"></span></a>
<a class="pointer" (click)="onDisplayOrder(order)"><span
>{{order.orderDate}}</span></a>
</td>
<td>{{order.id}}</td>
<td>{{order.orderTotal}}</td>

View File

@@ -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) {

View File

@@ -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();
}));
});

View File

@@ -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});
}
}