From eee2c66ecfceea872884c987062e9d43dec790e9 Mon Sep 17 00:00:00 2001 From: Le Deng Date: Fri, 10 Mar 2017 17:32:55 -0500 Subject: [PATCH] latest --- bookstore-api/.idea/workspace.xml | 38 ++++++++++-------- .../bookstore/resource/ShippingResource.java | 10 +++++ .../classes/com/bookstore/domain/Order.class | Bin 4135 -> 4187 bytes .../bookstore/resource/ShippingResource.class | Bin 2968 -> 3498 bytes .../app/components/order/order.component.html | 8 ++-- .../app/components/order/order.component.ts | 35 +++++++++++++++- .../src/app/services/shipping.service.ts | 10 +++++ 7 files changed, 79 insertions(+), 22 deletions(-) diff --git a/bookstore-api/.idea/workspace.xml b/bookstore-api/.idea/workspace.xml index 72252bf..3a211d1 100644 --- a/bookstore-api/.idea/workspace.xml +++ b/bookstore-api/.idea/workspace.xml @@ -26,12 +26,14 @@ - + - - - + + + + + @@ -148,7 +150,7 @@ - + @@ -228,7 +230,6 @@ @@ -1036,12 +1038,12 @@ - + - @@ -1065,7 +1067,7 @@ - + @@ -1431,14 +1433,6 @@ - - - - - - - - @@ -1563,5 +1557,15 @@ + + + + + + + + + + \ No newline at end of file diff --git a/bookstore-api/src/main/java/com/bookstore/resource/ShippingResource.java b/bookstore-api/src/main/java/com/bookstore/resource/ShippingResource.java index 86799b2..09f3c7e 100644 --- a/bookstore-api/src/main/java/com/bookstore/resource/ShippingResource.java +++ b/bookstore-api/src/main/java/com/bookstore/resource/ShippingResource.java @@ -47,6 +47,16 @@ public class ShippingResource { return new ResponseEntity("Shipping Added(Updated) Successfully!", HttpStatus.OK); } + @RequestMapping(value = "/getUserShippingList") + public List getUserShippingList( + Principal principal) { + User user = userService.findByUsername(principal.getName()); + + List userShippingList = user.getUserShippingList(); + + return userShippingList; + } + @RequestMapping(value = "/remove", method = RequestMethod.POST) public ResponseEntity removeUserShippingPost( @RequestBody String id, diff --git a/bookstore-api/target/classes/com/bookstore/domain/Order.class b/bookstore-api/target/classes/com/bookstore/domain/Order.class index 14b1545342a41ac615ed6535681daa0d756b0542..56fafe325f11b77a147b07a947b01b0ef707dff3 100644 GIT binary patch literal 4187 zcmb7`TXPge6vs~|*=({*u0SB%L4gejBZ8tP26N#OSO~J4prYbrx7kdxJG0Kr0s#~( zEkBP|X<6liAHXl;voDta(=)T#8G0yr*q-U`bNTg|b58GH|NikO5nZ6~3p7mLAPtev zL%>6uhle~o;^8q5TRc4B;VBQ#c=$F?-{t9fo?ZwV^`&Q9jaBLSw(G1cEeaCX1r05@ zjvrV~uxd5hGIw|A+TZ__f2s-Uu`!I6Hmrx1*|40tS#q8Fw4lj5Z6~msa@F?jwT7H? z95=86nDhlrDDlT;i=Fs^bgI%^szK?PX5*@Kq-O=PraVJvzz=v{-+HAyJXN+@67qd> zE0twIgRWPT-Xb(RyzRhln7jfh!(X>sE!(Mw62tNIrVQ3y9C5tsh~>b8Ae43}n`IoV zjbjzmtb%hk;xn2}D_A$@?fRmu+D)s$j;fXyECsSz!qJl`yaI{AvR!vz(gW$a(5)in z?U_>5ZJKMYyXgn6C(WAMv~0&*h-^;JLjRy9ip!3yxHm0l3;P32tJRXVc?2-0kOk$d zmS44MaClgwybx|i@$8)|l?08%0h+7TJn7^3C-i9LD6Wwl{2$P`P<$A$J-lW&8i;Sl z@NvE2`Ggo0^DS$uDIEm$kY3|oBZsi!hM;GZ_5%wU>^*Ka z%nhr$>AQ|;b#mRjj`>pE!Iy%){u$e`gIPhn#i>;=EVvx-k&^AmTkYnW^ePrAg;UL~ zq5>_{A?DFyU$AZ?$OrVq%beSAk*mvKiLe zl8}iFZHus>5g3X;dT46|j*~0Hv9q{#b|rv21vUr^Kf?q-j~*y&JgFe<;jvAvfI za45DJiB3i)(~@jScp|TrZHAplmL)Eis5CD`3G^CX*P`N*>Ax zsuEP6tn9YEs=Q)zBPpoTIm>smpnaOIdl^@Bz*oYgW>cLGdwq`8WMgfx-gmjt81x}c z8?>7y3_3`M3_8riF*<6{8}z0@CcSOYJ9OT_|B`nNI>H;r>4ZV=(M5o0Ye%8tI^6yv zvAnh+t7zuC)ROI*W%bX*e!^Xmj^cmIFrnL!LHlTw#_&Fle?mR96F;C~z6bL$%=Y3r ziTOTB`{@7{0Ifv9t)3uMPaHu#aSHVWG^9_e_o6bl8)l}kcFL#I^wvERlFrasEa1$M z$5A}b;n%&3V7y`%QF_HLf)?!-;OBk7e1P8`tl=wQoWab*Q{b69^*f1Q@X|vcVeD6n zV>F9*BNU)Z^f6|F=4c*cQu$Zv`5Bwt%BEI%ffgg>SxEOlr~lOH->7HXHM0^A6@p44+X^^{GkQG|hf#lO5_W<%m21r=mg6`6%8jyiB$bBuy zXY{!aWFQSv1xPIeBROO5=_?(`U>al-AdL)=uxSapuT9oM8pPFt ze63H`LK?&eNRR=-&6{(?qBZoGbk*!ggFMoJgdM&LBQ=tdk=uB78ru#A>Qy~8Y-~>f z^eh92Zw)~Ypb_@meq4S+qdwQ53fiE}NI6m9MmlCc0P)8R#PCk( W!N=up-&9xI2;LmbU084V^v!?T&R9eM literal 4135 zcmb7`TXPge6vt0*ve{&rT!BEi2L(2uj9f$|7|n%CU?IqEf`WpxyUk|8?#wzfiv$!c zt@86|m6laL_yPPfKKo+%KRq*>%+N#0!**|XpUdx@IeljS`uC4NiRe6iU!)QGYKVr( z6r|SfETdvu@U2DmC z$8iHIfJtA_q!NE>cG!s@NT)8%=`BIC$J-6;mdQJiGW>PB)3KdqC@~T*Z^~fZMTisILaYQH1fjG;*{mS2 zF2X9RRTXiz;uy`g6|9>Jc5_MA?Y7loM|H~!mIK)?BlIK+??7UxVmBR_^gwzhbgM}D z_)@v)#=E_0uq>4$bt%W z%dcAvI6SOTUJMVTeD=+k%YsJZ1kE=Zp7as^aXnfk%4;MC{|7WK6dwj0kJRi|3;FFC zKBhOkkPw4np<`{frGum%(rerf&mr31MVSlQua{fJA%t{!Qdj$l=odb;{E45K$DS$APJd}}CC8!=*#qD}^dBx^NQdC#xG{0*F?bCG8%XsAm z+~TJ+hblUp^*dIZjdj8L(B(#B&70S@ zjCTz>!UxCbxIq`_J%DKMjzY!jZR^8erM4mKXwJLTmhGAq^`&7y~g zAC1vC{!ie`CPzE*0~*$QupY;1FXkz%_et7M2e1KXB?@jegHX)~LCuIl&47mV3H86E z%6P9wD9=|TB6GukiIm?1ue)Gx~c=|OM_el$ZQ4( zR|2Q+niix#4Kk+%S=NK}r$H6~vX}wFrN|)H=?2F1qsga1u4qBZbTd*;JeqtOLKPzm7ZG$1s4r(^C=K#R3-URAp#vF8 zgKPlgaRx}(umnBO7HcsL;%Gr0>Wj6Q2JrymXMk|y<{J5uEcBT4t=W+Vd7=RcyL$~r z>ePsg+{WB%Y&#gJPqoFcu{{IO^9&$I)63 qAe%NK<-`Ry(mDG9h(Bf^hVPRc9xiwLmU^v?;$ItU2i9GmI{yJ|)J1^+ diff --git a/bookstore-api/target/classes/com/bookstore/resource/ShippingResource.class b/bookstore-api/target/classes/com/bookstore/resource/ShippingResource.class index 5ef163df17cf424e61df4344202b274e8379a35a..f2bb9daed346fc5ecbef95c33bbd8ac6d9b71319 100644 GIT binary patch delta 1249 zcmaKq+fEZv6o&sj(_z}_h;2EPf&~;rXrZk_MFbHMj}$~(5Jc1gYbjQ!J)k7U-uML0 zjnCkfh!LuZ55R?2-uev2#B1Z)Q=E`;=p=j3TI*kHfBpBobH8tx+y49I8-O0XR8WO$ zHn?!zjvKgX$0#Cv8Iv(?#Vs2qa9cqI?kI>N#)Xp#rf`=p({{|@o)xpa;l34fG9Jiy zxIX<_tgA}IbCcP4Cc2nRr<2QxNHUva@VD!)1kXZ8WJz1qg85uB7376}21kC6*s)ht z8(CSgH@R8*rz#v>IP=4C9Xc#OD;CrIdnQmkuHMG{LY>hV-YN<}xGsi=cT z#vUEmSPNJBAX+1`YAnlBH$+ro%ZnSu5#BdxZAR5hYV1Xo2 z()U)W)}ywD0`IM)Dy85=7rb-;pV0$DwljlQThMCE_2DGi2%hIop`Ci2gxo=q#rP|A zr1Dd}a~3R169crzX=(_ksmCr-`3$}AA48#=PAajjQICa^Zr>*e{vt$%A}j*NIzK}h z@A^O`k?{WGhT%Xj`PXOQ^24ds#C02x^hH88&;(Kn2;(fx=p`k$h-ds^oTF49r39Qe z_$v*5w!_~~(Eu)RM*WYixnTEiLEXZUA}R%ZMa7Kk=to#LVdH$lF1{hMWtglV*=1+I zN delta 833 zcmaKpNmCO+6o9|UBr}tl7EMGkMkL6lgM?8dM!b-vZ*RL0fpIWAW{`vL;sPNh+dqP6wRfY`_SkT8z1j zdz{O1o(nz>6FO(o=OR;DTnf0%6_2Yr_nOCbmm4lO>vM1IMU|PdN(J^RcGB!}OL3b! zE_W5v%qZ?LYti$u-WVxI9uk=857d&s^pe&v_C5b~@~r zyjm=}t5!UeU9IH=9a8ek94vN;<%r&Gywc|%Us`Oz5?Pdte$kfbOt^$qHzoT->ITq8 zt4P&IV87VNxkNj*DSk(q__JTB>5?XKLMZ#`ld^tOS|MY6jZz&wK!<4;(n*&vYhO1# zQkxU1gB+5U`UaXhlz8tf)*BAfCwiW;^o=AM*b+V>2mM*NM>(dEVn>x~e(y5DGHQiw zDZb;(02(ErQ34tzpiu(awkc?p;VqV$;-p#Epm~kFEN)2b KP!`g7k>S7g`caku diff --git a/store-front/src/app/components/order/order.component.html b/store-front/src/app/components/order/order.component.html index 65e853e..31e24be 100644 --- a/store-front/src/app/components/order/order.component.html +++ b/store-front/src/app/components/order/order.component.html @@ -14,7 +14,7 @@
-

By placing your order, you agree to Le's Bookstore privacy notice and conditions of use.

@@ -66,7 +66,7 @@
- +
@@ -79,7 +79,7 @@ {{userShipping.userShippingStreet1}}, {{userShipping.userShippingStreet2}}, {{userShipping.userShippingCity}}, {{userShipping.userShippingState}} @@ -107,7 +107,7 @@
diff --git a/store-front/src/app/components/order/order.component.ts b/store-front/src/app/components/order/order.component.ts index f20fc35..54ecf48 100644 --- a/store-front/src/app/components/order/order.component.ts +++ b/store-front/src/app/components/order/order.component.ts @@ -3,6 +3,7 @@ import {AppConst} from '../../constants/app-const'; import {Book} from '../../models/book'; import {Router} from "@angular/router"; import {CartService} from '../../services/cart.service'; +import {ShippingService} from '../../services/shipping.service'; import {CartItem} from '../../models/cart-item'; import {ShoppingCart} from '../../models/shopping-cart'; import {ShippingAddress} from '../../models/shipping-address'; @@ -28,9 +29,12 @@ export class OrderComponent implements OnInit { private userPayment:UserPayment = new UserPayment(); private userShipping:UserShipping = new UserShipping(); private userBilling: UserBilling = new UserBilling(); + private userShippingList: UserShipping[] = []; private selectedTab: number; + private emptyShippingList: boolean = true; + private stateList: string[] = []; - constructor(private router:Router, private cartService: CartService) { } + constructor(private router:Router, private cartService: CartService, private shippingService: ShippingService) { } onSelect(book:Book) { this.selectedBook = book; @@ -61,6 +65,16 @@ export class OrderComponent implements OnInit { ); } + setShippingAddress(userShipping: UserShipping) { + this.shippingAddress.shippingAddressName = userShipping.userShippingNmae; + this.shippingAddress.shippingAddressStreet1 = userShipping.userShippingStreet1; + this.shippingAddress.shippingAddressStreet2 = userShipping.userShippingStreet2; + this.shippingAddress.shippingAddressCity = userShipping.userShippingCity; + this.shippingAddress.shippingAddressState = userShipping.userShippingState; + this.shippingAddress.shippingAddressCountry = userShipping.userShippingCountry; + this.shippingAddress.shippingAddressZipcode = userShipping.userShippingZipcode; + } + ngOnInit() { this.getCartItemList(); @@ -74,6 +88,25 @@ export class OrderComponent implements OnInit { console.log(error.text()); } ); + + this.shippingService.getUserShippingList().subscribe( + res=>{ + console.log(res.json()); + this.userShippingList=res.json(); + this.emptyShippingList = false; + }, + error=>{ + console.log(error.text()); + } + ); + + for (let s in AppConst.usStates) { + this.stateList.push(s); + } + + this.billingAddress.billingAddressState=""; + + this.shippingAddress.shippingAddressState=""; } diff --git a/store-front/src/app/services/shipping.service.ts b/store-front/src/app/services/shipping.service.ts index 970b2ef..e30a6c4 100644 --- a/store-front/src/app/services/shipping.service.ts +++ b/store-front/src/app/services/shipping.service.ts @@ -19,6 +19,16 @@ export class ShippingService { return this.http.post(url, JSON.stringify(shipping), {headers : tokenHeader}); } + getUserShippingList() { + let url = this.serverPath+"/shipping/getUserShippingList"; + + let tokenHeader = new Headers ({ + 'Content-Type': 'application/json', + 'x-auth-token' : localStorage.getItem("xAuthToken") + }); + return this.http.get(url, {headers : tokenHeader}); + } + removeShipping(id: number) { let url = this.serverPath+"/shipping/remove";
Available Shipping Address - use + use this address