From 1fd91886bac132b3f8867e89087b043281991f67 Mon Sep 17 00:00:00 2001 From: Le Deng Date: Fri, 10 Mar 2017 11:36:29 -0500 Subject: [PATCH] latest --- bookstore-api/.idea/workspace.xml | 10 +++--- .../resource/ShoppingCartResource.java | 29 +++++++++++++++--- .../resource/ShoppingCartResource.class | Bin 4158 -> 5205 bytes .../shopping-cart.component.html | 6 ++-- .../shopping-cart/shopping-cart.component.ts | 19 +++++++++++- store-front/src/app/services/cart.service.ts | 21 +++++++++++++ 6 files changed, 72 insertions(+), 13 deletions(-) diff --git a/bookstore-api/.idea/workspace.xml b/bookstore-api/.idea/workspace.xml index 3befd7b..c92ac6e 100644 --- a/bookstore-api/.idea/workspace.xml +++ b/bookstore-api/.idea/workspace.xml @@ -152,7 +152,7 @@ - + @@ -1038,12 +1038,12 @@ - + - @@ -1067,7 +1067,7 @@ - + @@ -1556,7 +1556,7 @@ - + diff --git a/bookstore-api/src/main/java/com/bookstore/resource/ShoppingCartResource.java b/bookstore-api/src/main/java/com/bookstore/resource/ShoppingCartResource.java index 25c6e8d..3943dfc 100644 --- a/bookstore-api/src/main/java/com/bookstore/resource/ShoppingCartResource.java +++ b/bookstore-api/src/main/java/com/bookstore/resource/ShoppingCartResource.java @@ -12,10 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.security.Principal; import java.util.HashMap; @@ -84,4 +81,28 @@ public class ShoppingCartResource { return shoppingCart; } + + @RequestMapping("/removeItem") + public ResponseEntity removeItem(@RequestBody String id) { + cartItemService.removeCartItem(cartItemService.findById(Long.parseLong(id))); + + return new ResponseEntity("Cart Item Removed Successfully!", HttpStatus.OK); + + } + + @RequestMapping("/updateCartItem") + public ResponseEntity updateShoppingCart( + @RequestBody HashMap mapper + ) { + String cartItemId = mapper.get("cartItemId"); + String qty = mapper.get("qty"); + + CartItem cartItem = cartItemService.findById(Long.parseLong(cartItemId)); + cartItem.setQty(Integer.parseInt(qty)); + + cartItemService.updateCartItem(cartItem); + + return new ResponseEntity("Cart Updated Successfully!", HttpStatus.OK); + + } } diff --git a/bookstore-api/target/classes/com/bookstore/resource/ShoppingCartResource.class b/bookstore-api/target/classes/com/bookstore/resource/ShoppingCartResource.class index b24e8e5b230f727001488a02615bc8d2500a31cc..32fbc0a76d31b55da95f3da69fadb7ea18077108 100644 GIT binary patch delta 1812 zcmZWpSzB9G6kYcwaKgN%^ z#^E~Gd7dq$GPD(2$4}pV_9yt}o5MQy1`zsv+%xR6_u6aiy~CXU_i*;Nf6mMSXuvN9 zR-@mAMgs#F6c}=$sQ^LT?ZzI-!M$o3bK^eTZ{PtOG4LR=0!LkVr~nV+ z5d%dyro10@<2W93;c;bt!oZVwN?D#(Z_l_fjy2D!`*Uh}-h~%jNE$HlqPoB2!pj1$ z2)sIRyvtF{!)pSslbFB>fj1`qa{Q_Xh7nm31skjDrWHG>Olb886=VC@OslG@wmOj)P8(Iu1GP+~K8HL`$;CR?P z;n=7xKo%E8Muy_COk!)!$vl@o(6t^BGL?7}Z)qrAPDo-6)>4MV+jvLdU5WSbzC;+6 z0v||xh>s*b#wP-wN_>XT1-_8@5?@iT#Md~fVV!xzD5W5eIU#(PPe`1?q{MohmZ(Ct zz&8?8m^S|q<=GibvQ!fLF)MKfXC-P-D{xLCj&CLA@SVhYT+mRV1o)Lqf4f!BxW8kh zyE~CiCrA4F#sUK0OZ^B&b&oKFl=@?D)K7#Xec*hj`Fn{^3#dT zuFRMQXShY#Jxg1lq1lRIml&BvfP=Q0^X-JLDh~}I-txJx|z*DpwrO7gVK8&c9T(^dBM|c>GhEd$fTHDO2{I>v^9uY8XK&)$b!a* zrHnr)R9Gr>MwDR>I*Ay72e)G{HO`B$EqBmj6Wq6)poa|aB&Gcj9R6vcltnWSgwM2w;of&|%wu>`S)5Fuhoh&33pS|T#Bi&$dcja{s)bHhw8Xh(xNW(^T`5@Z zaXa zgPAJDLW-EqVrEduZ0eco@>II_V!wGHrku$xcZ?~@^NOKKxzk7z&lWLElTJ1j;wd6o zV>UCHC2#elYCT8qK-7N>I&||yH(!Vv_EXx%P;6LWSZFA5zePs2pj5-l61S;o$|=)W zx(QE=Wt8hI;1#f33#Z-+R>+alt!^bHD@O9)kuv@RCf+!(!0o{h7cU{5Me<&%|5K(q z%iX#Q`*IR>N8D=lA|>xs=2gZpRqM0o z&kRp(cYaG)DTp*(goCNl!&&Rv$#?Orgq^H}op8cV>Tf&Fqx-i%>!qq KwEx?|&A$McC5Gw% diff --git a/store-front/src/app/components/shopping-cart/shopping-cart.component.html b/store-front/src/app/components/shopping-cart/shopping-cart.component.html index 1c892bb..7bbd71d 100644 --- a/store-front/src/app/components/shopping-cart/shopping-cart.component.html +++ b/store-front/src/app/components/shopping-cart/shopping-cart.component.html @@ -39,16 +39,16 @@

- +
-

+

{{cartItem.book.title}}

In Stock

Only {{cartItem.book.inStockNumber}} In Stock

Product Unavailable

- delete + delete

${ + console.log(res.text()); + this.getCartItemList(); + }, + error=>{ + console.log(error.text()); + } + ); + } + + getCartItemList(){ this.cartService.getCartItemList().subscribe( res=>{ this.cartItemList = res.json(); @@ -35,6 +47,11 @@ export class ShoppingCartComponent implements OnInit { console.log(error.text()); } ); + } + + ngOnInit() { + this.getCartItemList(); + this.cartService.getShoppingCart().subscribe( res=>{ diff --git a/store-front/src/app/services/cart.service.ts b/store-front/src/app/services/cart.service.ts index 0aacfbc..15de943 100644 --- a/store-front/src/app/services/cart.service.ts +++ b/store-front/src/app/services/cart.service.ts @@ -37,4 +37,25 @@ export class CartService { return this.http.get(url, {headers : tokenHeader}); } + updateShoppingCart(cartItemId:number, qty:number) { + let url = AppConst.serverPath+"/cart/removeItem"; + let cartItemInfo = { + "cartItemId" : cartItemId, + "qty" : qty + } + let tokenHeader = new Headers ({ + 'x-auth-token' : localStorage.getItem("xAuthToken") + }); + return this.http.post(url, cartItemInfo, {headers : tokenHeader}); + } + + removeCartItem(id:number) { + let url = AppConst.serverPath+"/cart/removeItem"; + + let tokenHeader = new Headers ({ + 'x-auth-token' : localStorage.getItem("xAuthToken") + }); + return this.http.post(url, id, {headers : tokenHeader}); + } + }