From 8a89da8dafaf04f7fcf60b6b97386b7124064475 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=9A=D1=80?= =?UTF-8?q?=D1=8E=D0=BA=D0=BE=D0=B2?= Date: Mon, 15 Apr 2024 15:12:00 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=B0=D1=87=D0=B0=D0=BB=D0=BE=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BD=D1=86=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gradle/8.5/checksums/checksums.lock | Bin 17 -> 17 bytes .gradle/8.5/checksums/md5-checksums.bin | Bin 24797 -> 26997 bytes .gradle/8.5/checksums/sha1-checksums.bin | Bin 36641 -> 41987 bytes .../8.5/executionHistory/executionHistory.bin | Bin 320151 -> 363153 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/8.5/fileHashes/fileHashes.bin | Bin 27847 -> 27947 bytes .gradle/8.5/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.5/fileHashes/resourceHashesCache.bin | Bin 32097 -> 33763 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .gradle/file-system.probe | Bin 8 -> 8 bytes build.gradle | 6 +- build/resources/main/application.properties | 19 ++++++ .../stash-dir/DemoApplication.class.uniqueId2 | Bin 0 -> 4634 bytes .../stash-dir/OrderController.class.uniqueId0 | Bin 6802 -> 7326 bytes .../stash-dir/OrderEntity.class.uniqueId4 | Bin 0 -> 3710 bytes .../stash-dir/OrderRepository.class.uniqueId1 | Bin 0 -> 1657 bytes .../stash-dir/OrderService.class.uniqueId3 | Bin 0 -> 4235 bytes .../compileJava/previous-compilation-data.bin | Bin 39271 -> 47750 bytes .../previous-compilation-data.bin | Bin 26712 -> 35457 bytes data.mv.db | Bin 0 -> 16384 bytes .../com/example/demo/DemoApplication.java | 30 ++++----- .../demo/core/configuration/Constants.java | 2 + .../demo/core/error/NotFoundException.java | 4 +- .../example/demo/core/model/BaseEntity.java | 16 +++-- .../core/repository/CommonRepository.java | 17 ------ .../demo/core/repository/MapRepository.java | 57 ------------------ .../repository/OrderLineRepository.java | 6 +- .../demo/orders/model/OrderEntity.java | 15 ++++- .../demo/orders/model/OrderGrouped.java | 7 +++ .../orders/repository/OrderRepository.java | 26 ++++++-- .../demo/orders/service/OrderService.java | 26 ++++---- .../demo/products/model/ProductEntity.java | 15 ++++- .../repository/ProductRepository.java | 14 +++-- .../demo/products/service/ProductService.java | 41 +++++++------ .../com/example/demo/types/api/TypeDto.java | 2 + .../example/demo/types/model/TypeEntity.java | 10 ++- .../demo/types/repository/TypeRepository.java | 9 +-- .../demo/types/service/TypeService.java | 35 ++++++++--- .../example/demo/users/model/UserEntity.java | 13 +++- .../demo/users/repository/UserRepository.java | 12 ++-- .../demo/users/service/UserService.java | 50 ++++++++++----- src/main/resources/application.properties | 19 ++++++ .../com/example/demo/OrderServiceTests.java | 4 +- .../com/example/demo/ProductServiceTests.java | 14 ++--- .../com/example/demo/TypeServiceTests.java | 10 +-- .../com/example/demo/UserServiceTests.java | 8 +-- 46 files changed, 287 insertions(+), 200 deletions(-) create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/DemoApplication.class.uniqueId2 create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/OrderEntity.class.uniqueId4 create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/OrderRepository.class.uniqueId1 create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/OrderService.class.uniqueId3 create mode 100644 data.mv.db delete mode 100644 src/main/java/com/example/demo/core/repository/CommonRepository.java delete mode 100644 src/main/java/com/example/demo/core/repository/MapRepository.java create mode 100644 src/main/java/com/example/demo/orders/model/OrderGrouped.java diff --git a/.gradle/8.5/checksums/checksums.lock b/.gradle/8.5/checksums/checksums.lock index 0b070232d426f6d652a1e2a3c3c712f4959c4cdd..b3b8b08332b0106ccef3801dd7e61383b861e71a 100644 GIT binary patch literal 17 VcmZSn$tiyBq~yge1~6b21pqU#1V8`) literal 17 VcmZSn$tiyBq~yge1~6c%0RS`>1f~E0 diff --git a/.gradle/8.5/checksums/md5-checksums.bin b/.gradle/8.5/checksums/md5-checksums.bin index 3f9b148795cd51fa95d18b49710c801dd505ff05..1868f34bedc9c2586b232f756331af3a96ad104e 100644 GIT binary patch delta 3202 zcmZwJ3p~`>0tfIR%gF1Gtr;_n8Iz)rYPgEln>+`tM;mzzX7nJ>?dCBv?e*F&>+U~~ z&Ghof7M8-M-BNAWE+yfzaziX~QA#32-T%xvliiul=QDpFzd7IkIsfze&%hm-xh|Pn z22txWU%=+nE6vB_M1@`V9v0M$Xo{rcyR}J#T?XLGuue3HIILC^DQKRql?Pd<8fvEH zg?vNMcTVM{kU$vTjHYVwkbBEL+*7=)Z;)R)8wD0BE5 zt7WCE1%#2l;!a$2^yA46CP#ogN?n{^Y8gA~ZI8bI?`$T{FRL8%Oqd#M1bN5++CZ{E zt}aiwZ{U3y4Z^S^=orZhY5X>ew>x8xCI}-8QDZVqjrGlm&g;ux!@GWmI+8iaZL?!# zMdb&SKp16TS5B6ZRoma_f7VHM27$}W)zkeM~ z$%f&WxGm+a52sCoV!i-*Xgr#aRo3KtzI~AFR{_HCP;q6=uGZ9~8?NmjXR*;aU8(`G z=1H=@<-MyQ3_B;TOd{6?)hWM+;}B+vs!(|dO?|Sc!yxY!Y_1$lr}EW8yeC}Wu!ca! zaY0w89K@Uw)@pq96dr_ZJ{m;Zsg^J;PsusC0J6v_G>7JeSQAV3ot&sDf*~F4!75q} zFK`6yc_0hlihiO;MO>PS8+t|;Z^4S!Q5`)m#Aoimax}vPItarQ(Fi?nHTQhq!pZg$ zs8O_9uPA_(z8zQokK=F&vYFzij9|pY?FsHZ4Jxx%#Cc?FiJ-ozf(r7`UU42ZXU=3a zSHXo4{s!Gm=c~1)ZzVY|PJp_cCujrR0!a=)e`7xiwud*cMaSryWf7Sxv<1QyQzE|3 zc8`F_-GO~;h<#|n57O7K8)&~g*<>^IMablo0Q*8FcRP^$#xf2P+&R7kRm8Nm{h+%UZnWJzhU^b;Gd`u2V-2AU0NjtWS|9^o7jUmf)Br z#ic&apATy=pr`{vQ8>;L-KwqK5vQm@7?E@HcC<=%pM|0U3REn(tIuv9G*q(RdxW6> ztWZBCa6SW)9|2MLpO~zQPM=@ho*!5-bqo4IVA3L23dLI>NIRv)0S_CJtlJMa>K}YA z*TfJ^;<%#WvRMWMzbH+1hWs?<>8V<(f zvJjcw_v{aeZv97E7`KJ2*A0%ViaU0nHd-*_E)rZF8#ut5v!%)Gqrl^(SBzfVr*FL1 zm_mlj(Jlsb3$HFMD5d1^3q~G$ZL|k(M-U&nf^ONtqeam}QgCSqGslPFTT!`fhc*7i z*Hy09Ah`(|3Hh*8R_DDVPeV6wknl_E`W}B`{7g3#a1xadNH#)4^wJyNo^X)idk(Ml zo@M@f1PJ@x*!&9%UQ3!J%jdJt{2<_yyA=@^;i%cO%P74H9-cSj zDW9cQ6t*#qhoOK=UgcZi{7XE^)AsY3n^kz#Z7KMk^U58mkOY86vaqcwDGK^4wpFY* z_;Ok4oR?Fn?nWT&;c}EKlNK4WZ%$QpPQT($a$PMR>kKSGBHoHV(qu58k{r51-KY78 zxpJnFf$a+606S`eZs9-D$d-%K%!0|DGixLLjKY3z!F~^kgm9^2W$iZXVzNWH{#Q4a zHn*GAQ&1fpuW-<{;_uF4LJ$HRZj&2!kr=HPbDBQdGl|E3FC>j7l>}kuyQq7YnduN05880D!D?b9@(y+Z4MGXK!TA>US-v9R3s% zxPs+sK9CQhAAd7uQzwC!w_UqfeV7jSySNdLkL;3lH*;r2XiP^cAPOkzrI{LvD#T|4m#!`G7Xea+|X oe--jVxhh0+k6bn~4D6iW>+(1@`HAJS4>+|qWx}7(a)*WF{~TF-;s5{u delta 160 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 QwGkbELk&bCRv|C3X=3m( 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/z(J!7O^&l^MOMQ!c;Ww}x^1@o*x= zqsq7F;8prp$-@Q?dI)2nSNVpd@gtKWHV#po3NKpz+Kd!_Wmf<)@rOCaqOlUOM zkIi|ILcfR^;$Y7-3@SBsT}MqdmDH#t#zDH2GSl5>H*4K>*Zt$}zrOG1dA`s4zI#3U z+4)6_pvx%F*hH5Qp0D>21RfG3a(O@yvCa8z=DOsWNrL!dfBptD6x)zqEY8m}W=$k^ zWq}y*u*bj}<8{pT;Ea{^T>~*tdHS zVpWnKO|nJx%T&h#<{&oZtTTIOZ4CS3tccFK`~2V_`%c3~l8WNqJfXfLRZ&4WQb*oK z5Hfer-AGxH#Cgu@0)DQ8q#W}Y`;gpK1!ao3iXnW3QvDb@ZHlBUGki&vCr?3~xSEn6 z;A5d|#F&AqH(6$ZEFkF>8HT2}<_!AAJ+G8)z=MK@{jyDs^-LflR-anyVGph|TeH11{xk<(u??t^RsB^jJ zD!#ttBOdu~F>ZTikVURPi~rDNTgpY^l4qDfuzRKujf z%H{ZvkvHnUlO6Nn&a{}14>!v15t5(7hmRz8DB=XcyqFHuie(kPo6o-sNWi3csaJQ zzoYyvbd5*&Y(R!|>3;PW6NQ4IReKS?F3*b{k5tdD$%faOjZ|&{HwSFtxxVuIvI|}Q ztDJ07v;Sb**i#@F4m|5z2AE*Q>e-__RRy}t(Lb<9z?O=sTn{A~_I zIO3%%zui`*X#HpV=C+LZkrO?#fZ3n4J6zRX^4dqE{^fcbc7OAL8i^0zQ$l1bqUC#H zcSWNj2%e#gR}-Rb>5o=ctqo%4sy+5k?Qjoh6Ha^Dig#~%Mt>HdI@WCB+nssr~NkSD4h4kSIkK$DJ5us#^q$JO;cs;e}AoAV*7)>Fa9q zpwJb6lg164YTUbJvi8t;mtI2V&f~l-NJ}cK-vx2~E~NRMWpVr@kNdwf z8fE=HVxzfycWkW##x=+l;2w^IiGyf9L>xr(phHU1psGP1LU0|T;V=DoyEbYFmJI0) z;URo-S|$?1WGz|)M;`LaU}rKB${)O~q61!EqwVm#2S>89qk3#_*&@JoXdQ?rC@ryP zd#h=vNo*% diff --git a/.gradle/8.5/executionHistory/executionHistory.lock b/.gradle/8.5/executionHistory/executionHistory.lock index 08efa5713c37d8623d3e3bbe61f57f1961227453..9dc5866c80b822bd28ac28d9691913d5ba996b08 100644 GIT binary patch literal 17 VcmZQxIe8oRyZa7@7{Gw39soRs1yKM1 literal 17 VcmZQxIe8oRyZa7@7{Guj4FEiC1vmfz diff --git a/.gradle/8.5/fileHashes/fileHashes.bin b/.gradle/8.5/fileHashes/fileHashes.bin index c58e93aeb8a8e49b741eec89a1994e1e73ff5978..a4ea869e456cb0ccf5314830d2524ebb60e087d4 100644 GIT binary patch delta 2629 zcmZXWeK=HE9LMLHk(pv zeWqwuc~}S~`&1#3=Q|%wztjKO+1~nz0~`*KHfM3t8w%pQMk)_W-PETUt1{3D4;#1( z%CblIJj{HT`N!slzs$0hWb!8NT3^b-;JjDA=Taas4SHKgxL8A*jhpzQ>iqW;%O4jz zF0GU;BYG+@(d{}K0zX1t52kw6BOFcycyz zV?euRB;9G>z6+*tJ_Y@|X~GMXQfP!H8yR{YGlEJl?$#_!3pGk!|Bgm7K?$Lki!%LW zC?;r$y4+9xM0Ct1r$Fk1+GEc;(?WAf$o~U+M*f;J`GJ?xLc_IkXRFcdl6s05ji3mk znoWeQyOmO0Q+KB_J<4{q^Ua^>G1h_-=g;55Mtly>ias_nawT(JYIEx+c~t%i?o&`g z5DjR(Vm_~1!F`V66t?(AiwYHHzCXn%yEaE_lM<4fl|sEYP=&Ct3hv(&#ytf+V>WMM z0`4g{c@;d{^`fAtGoqX(hH0V-nR?Afp20qn#rdU&2XpKnZ@hY6Ynf*b#RS&TJ0~dN zbTd@sHDB{ASf-=4aBOJ|K~)Qst4usqHgW-F$!npM;y`v18v;7~j?R4bRuH+CFxE8Z z(?lCZ=zhv3RNP5Pt#j9b?!}A5$8#>8p^0=*+CiIQ#YXruUZaG#kC!x7?|3(!cqErb zj*)xl?Tn$wzS@HJ&fhBvBW7xi=pW~S4TR_#To^CTWx)KQiCdR(ur%s7ha4Bk6~Ag; z4+(I@fygZcuMqD~b}BV(Lu}%5zO!=O%AtR5Rw_2FxOMp~O{@T=8k#tUjokDbjXA1}_cAQu zy7x5v0p@s7Rdg*^9%K{aW8)4ckK8`!JNaObr93VX6P;ErunTbL;C;h*QJ64iBHar9 z07(FXvbV^5_q-}Knl<>q=(zu`wDHqpv&c;3t?iUZ5BoEGml=)PER3w5UppMy^d>2{ zjwU)OLSTU$LSAm?>Y)M4Hy8}uH!|&11MnkkL%n+Ay9r6w{ zQ&)d1UsI9pVRy-XZja8~ymd5@Oc8<-=ox7(a(ftF-}kJgu;%Fv>q!oMnDO94g+m9Q zH4Ng2TMX*QOAk;|yd)k=yv^UwKtahvp2&YdRqfK;*4- zIq-AXL}Z`sLt#$bevY1vfr~dEri=#>j(`$E zR7Ed$rBqYxp=V^${oG?X>RCpR@2nHo4RUrDl7#CRKJFp7u<}geza>FF2h@@sTQ=5M z?YAD(rwM;h;tJw_h*odAAo*7|qJNt=@%aOue;Q^D>UByDKdDJ5#myFieJ2 z!|{hhmohG_J^V|E(#oDU~J+KnXDgzRgVH*D*gt$WC4}Z4Ah={l;z& zO-uzPo}BnF`Y2L~%j+u2inLt;H~Zl+1Ru|zF}$I{G{jP=mpTnmCCTar~j8WWsOxvOI-5l;=qFo zC|jYHvK4VP$F|!O$Z~^dgSqvp@~NM`7%Tm{x8#dS0c|a$gq%dS^? R@q5ZnpQAI5rHNaZ_#b(#_O}24 delta 1510 zcmZWpX;4#F6y{+X774pej97yuq5VN1U}cf1MIuAkLSiBrwia0$f+LIKfPjcvp-`1_ zArhAY&B$gMgy2@T0%a&8NQV&>5(*hA;sTaUq-gDZ@8(x>X3jn5z59LNId^&Q#soGn zj@{fv!`i_Yv{Kb1&Bjzkc3d*W6fKT#sV#1&$SS|UPb^jZz*vlN2OBNV3ll8#hMjAC zk+sopWQ1MNsOOf92(!4Q8s;Tz0?GsK;AoUPFcBqyOJaAx3AHB)q?7@`3uWWU5XeEv z2xvmdD40UY7_bRr171ux1FQSEz-9ioA9&|^635~7Edb47EY(yD*BERS z;PRFxfFr==EzLkYkx!1I?OPER6#!5IQ&!zyB!%)-d_fWzm|9dWlFi~|b)fr)E- zV^+tXzVA9gFkshF)jQSpd5_%DvCTxpI+x@3u=Zn5-Wbe=#&vGSTM3^*kHl<3623f?Q+ zFg6_Ydfy}Ne5$@@99ny$$*i}g>kZD(EGxc)NKfeGd_ziBOT*b5Dd+7V<$wqLbt9pq@3(gTyuc-CTzV>&CeOL_6Mkv#D81+_`9of>fL$>dmKKb|LXt8}Y&Jcbk z(j6$~WXMq0ZVNP9*m(a(tEgD?(DocrLtB*zk@!V1+Xwbb>lvZjPExye&t^8WB|ZMd zm*Jjb7XVKQ(YRqgfRfB*Fx9{Q9a^@1mF(2|W8w5jH4cIwnC=JQa0;X+vq+kmh=<@x zGF|BP`~JQBmjOR#e9+3%dZw(2!iy1=grX5;5JtVljmz5)2KY+e1)Xto&KW8GN5?2f z3}auw39{Q!({;74pXcMs%q`l`0Y&QO(=Gl$1t7OTC_}s}}{Z6t3`O`D^J6&1*~e+RFKB9xBw7dJbN5+$`j9 m&|Ajs5C1J?N{4edJROIaGXHs87M}eaK`^q~qPmpghW!s)^VJyu diff --git a/.gradle/8.5/fileHashes/fileHashes.lock b/.gradle/8.5/fileHashes/fileHashes.lock index c4fdf45fc12f0596e1cffbf393e1904629fde8ba..d27e7dfc0bf1a0c4d552d72fe2175482c77d95eb 100644 GIT binary patch literal 17 VcmZSfoXN4SeP)al0~oMJ0stuC1Cjs$ literal 17 VcmZSfoXN4SeP)al0~oMf1pp~q1PuTH diff --git a/.gradle/8.5/fileHashes/resourceHashesCache.bin b/.gradle/8.5/fileHashes/resourceHashesCache.bin index 0438f4e6bd9b0fa99287ea773e385e65dfb0a8a9..9028593900e9cee81de8a94fb04ab14aad40c4b9 100644 GIT binary patch delta 2336 zcmZvc3p7-D9LLS1hez(6My(-(G-EI-Z_}g=c_gZ3y^?Hp6*`euY3b&lztbMKk+xu5TEe*gdd|Nl=u;-01A&su4b z>XZDf)C+2(hm`)mxItgA3s`HthC&U!P;__V;PTvee&Iv(Stw2J02yQkv^J~fqL$8btbz)tB^yA; z_P?GVIW`AnTn^|WkHb~hC&aHy9GkI{LLk%=&}t_-e!pI6xf)AH$^ZX~0Bp)fy3_lvRRI z3}prGJ>>7B&adr5DK8K>FYbeT<3%rCb`E=^kgbO3QjBpBPavwsNvg4YBVtdzgoE(s zbrT1)+fc~82Bb!I@UY`$QTz_;kC-_GbZNJYxLLic&Y#7`$}N%)>($?gT@8_qO$^5# z5z#X7w8@_G+5GYu7HEZ}F}Xc?pYB*x^;X^(0HLN~u(C=*E}?DU9431Lq3H&A*10XL zRxbTA))*7ar86M=@ouTBa~R5a^}wDkfHg*z1{WRY`(luRw9u~a#?I>k! z0jwo`uujSnr>KavaTw$wK1*R7Y`81&%poeCjnd?UAZVEYrZTtwRI!K`iosDJT^0@n zYWAl8F(JiRMX{$j9<~|U^TE7VPZxv6z}fOF%%ncuUGcfaAA@UwR0f@j%=sZJ3U;87 z6AW^!!Xct#)78YDNKBlKj9N)>@P>4P^rf4!5T(3A&}GAg1Sd7m7%~H}^dRuG6~KOn zYawgRVIm6Il|W?M2M4JQ_L*< zgsB@|W1T)qU1L{JYi`%W#=Poc8iyL9^bVJmzT4f3%Eot4W~W)sE(?q@y@-LGiGp010iq9KN3u(Pqvwhg3&W>{gIBX@F`x;+rFd6tV_IW{XU&!*QPc>~GJYV%}`j@8R z2u?S?`&>2|1L}i_9Q^Ilw;|bh%NdhCwjO#b6;q3=dih)1n%}qkC9w1ScRx@x+-v^{ zkXX8^L>t>oBC5YL6b-?p(t_t2b#SH8;hRrRcwG8saOA^Wlbxxy>YDn^)b07SG>;#r zPM&G)Uyf~;aDU#K zp_Fjw5zEoCS-)h20B|8hZv&mH7o8U~>jE|RURG|MrD_i1s}L$sL>Gz4}GkOJ+RIVd<0Aub!zW$1XADCpZuP> z-lC;lI9?o_pjdCzsbRUrmr$?Z7v&B%|O)t#Y_xlr!L= z((7f>D(N1`j3}zcDH>_kslunyt}Ux4j`@-NBTRsgmzBkExvEJ(MSIx#4oYOen23@r4FZgT#-i>i%>Y!pR5h@H_)_3KxUG?qSqb)mKserQH%0_%9Ztkj?Hp1ZJ S6qVqX0NDzkzQn%wVg3U>3;E3e delta 214 zcmV;{04e|DhXUdH0kAX}0g#hT81a)<8DEpl85pzu86W|(O&f3mv+W&d0h4VXF_X3* z7?b87@00Bykh85JAOVx*B4D#!BTxae#UvmBll>*wv+X7!0kbA3umO|qDKC>XD#5cR zD~AG;-7R2~RW3-AwJtG}{w|NRr7y4nlWj5Bvt2R>0h4_*kdq}eVY8kz_W_fwHmH+r zH>i^>IAODMTwL*v(764O;}57v3R9bRx8JD znube4(}a{Z3AvD4lQxB3(wcxTScIhaHodL-)W<&esqg*1em%1nNtRZ8?SnP5XU?2C zmw(Qj<4^xHcN@SC6oRNjy#QYb4e&E8J|&GwQB_JOqy59D#$;ql=-wH9ROF zz|a!cQc-zaN@Y|znvhdkbT|F%%w$w0E*XlJ4kCz!0zx4y!d(o@H9Z;4sw10DMf2V{LriOURaeO0>i^=ve2b3_l9xUI836GAgS%Wzjl*Alt7QIynKEy-ai2|F}z zk0ozq2%p0$QY%L%7KM4J#n(%cj+D49F)bl{9``bYG(Ax!r=waai=iZ_zl=W?#22te zzO89sHoeV2_beZJ0B;*k(ry4C5Fj~eWH792mViWEc zusMV;Vhdf9N?bDdl=O(kaCiBMuK9FrwvjS5pqJ7TvT6aZH*F}!L;%~#VDlYwws5|1 z-kc0#E4ujo+!91Lb_&=PLJxLRylMy}tZ=lKW0`ysx2$70+*%D1`wmnpLUF5cLKSBK zd+3gsZ<&+k$E5dJ^R_t`z+O&!m1uK?bA>bJoH-f5ml#%6INH58j;{suF|=2m>~clz z!=1b3y6hk&0`pCCvT)kGZvAp4CjH${t*1N(%0~}jK)~S;j$m+Jn%k}A2zLyE73lsE z9>U$>GLYB|bXWG{7>~jb!y%6#|IeVg%11r3E0Kj z*Xg$JRORsizCpOzuTSJgwXpzBGc1xu>8m>>DQbtF3*amz`V75flt~jCIyVL}fu}i! zo?+PUg`v^|=%kJ^u+*e*_&vRaR!M4Q34!32%eG$FVfw$pakg35Lzy`6tgJ{3_S;nq(kleOQnufz>(WG@k~M<3 z#7mgh89J-(jV0kxRY}tmZwJzP0Q-nwM>B{w@TP#bcw%_leNC+TXCFO3RI4y7Yu#6# z4;(rrgxByr9?W+cdjH?sR~A=SUU+aJzKj!ZT~#eU9+#^CtUfTGIV(;Un8z%YCCC>gYRefxqwLyzH3xr)zZO5pA~>2{Em4X zZil@*UbfO+0IbO?;QE~^njS5clF|tdgokqJG>>!MLzUXaVRgPQrcc+>`8hgPy~Fmh z%YK9=j$b@@9YbB_axcch^rZQEsElA}Vo+P%V9?J|3+^HJ~t<{Iu zs6(7RozA$CM(awGZZ;yV@{eB9=;DXvfzIH2Y9xV%TO$W~p49$dJ zLrKYlN>7|^ZQ3Y;Q-m+8R@1k12tOAcwk0DTh$nYU$ z3XwNm^u~(3ud+sJjI5Cw8f&DEgvNT}Z@>-OH$`7B(AYrZ>c|XOL=JR%1E!Dl4&uzV5>et!}c#Viq^) ziw>~VV%Cf+R%gw)YW3EPE9b);&6oIy6(kzeit%HB1<2!;qw!`MxtM?`L}s!2Xh|*J zD+6ItE@G(=via~4cr(pKH!%7D&QL#fi_Rqn)SV-CvW8t``qoz^VmNm9%ySq|17>d zgQL?pew0{j`lCdbJm_(v%O3P(dlM87`e+S$is+gL|6|R*CS*Mpa@7ls;^VF{EAp5a z5}y#C6rU2$%;4NK&U0IA^7G;g;zjYhC32(qlC?39OG7hwbz4JoLmsaUG5;(s&)}V# zc&`qn?Y2~B`!+v`y(f>WL(P6RgC9@h11sD<3x$sm=70_?rbcrG)>GTLf&OFCiGIS~ zaoi6boADg=gYRJr1%E64hHdyKVyvF}x0UE(Yw-Z8B!a6p3nn-2Swraof&V>wFe@Mj{|;V<|rjec4-f&T*3`HLa| literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/OrderController.class.uniqueId0 b/build/tmp/compileJava/compileTransaction/stash-dir/OrderController.class.uniqueId0 index 6a3b2e3b220b4593715ee7232daab67e4766255f..f86429dc302d9a753c6750882af8d8dd9207fc5f 100644 GIT binary patch delta 2878 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 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/OrderEntity.class.uniqueId4 b/build/tmp/compileJava/compileTransaction/stash-dir/OrderEntity.class.uniqueId4 new file mode 100644 index 0000000000000000000000000000000000000000..24c7ba94d7ed5ead6e8372f43402e35f6fb222ab GIT binary patch literal 3710 zcmbtXS$7=O5&rHhYHQRIvMeiRF*aVXG$WYU7@Qy@yvU1$HY6dCl>n`omelf0x7^d? zSlLL}_bp+2hw$Qu7wxi_FL=J4FMCD1ls{!v>@#lQ1ZxT{ z#~s%R1{IRMeX|C(DePFWE?fC(;FR(wecxIebt*vy29m94gK41ML$J1vT0zxkkk5uCQ>XCptyOW;6b=kh=`p==(IO=OO1YF@u?iO}o}0Jo@be>_ z6Q#9e7pLq++ZXKInO?Mm0^3P*-_FX%nYC3ddFJG~GgIW@X&w>^w+V~JtK|jTpRpJz z>8f7AD$QEHBlBo66)ZapUG4^+)z}g{4G3zmcdPgfdVH+uL^atr%TgY*gJrKcY57*! zW=x2nz0%kb8d`a5t3kQ2OZDG63bA><#=-wTohA<(9TAB!v)cs7&3Pf1TD4fH<>=O! z-dqXu93E&fINRg^3Q3Uk7FHUM)2JblSYEI!y}o@qAQ{K3)rb(g$dN*|WCg4mp2%8n zbS!74y{ccZ&pN`UPW>fpANNbARJf~YbwwRU;m)R?wOMj1<&p|K!L-j6o|0|65dld) zdAopu&zankDjWm;y5t(ed6n-8T-M*W^X*rhS15nQ#u|Rj1>P^XWO9jDD?We2*(oYk z96PgLKxMy%G4};puOag{t|jnWK07D@+>I1=(aawFjx*80J@`GI<0$(6KxxspOlgt7 zW0SsY?iy|MUqknX<{s_?9Sk+^LpS#Gf^tAx*c)nzEKpzMyu67Y3H*_JTO}sof`H(8 z%BO(Ha}Gm)2hZb$$b&(S67Uv*978K12X8xR^lJ@0p;R4V zi^ioit~8HU3M;u!@VOaN=Vna#rkGyDOSB=I8!&ZlL@>nk05KiC0j7{L5-VboSSh)o zL~7%4%527TtO=%&VlPw4D|j_hGQ?3LV=~y8+?Uvuz>}L14v@shV+hT9)J(jF*QqZ; z_?kxe#toI<-9-7LRDR;tmA{EgQA)D+Fibdx@okhp6JBrG`IZ7SOXLEl+I(0SoEjqI6xG%@wXGkZn=DtDOSpPZ> zi`naV@Dm*7?B`-#&-Qcnh=9;l1;R5GUzF~3A*OM@hx9~PYv71DDhb5iByOe52+UQW<6ZH(e z#V-o))oblj`A5aIiEPJpoMFWX<}dM>!YIiwq3{Wg@Z|}GZ!kBO6(80yPj{YKMQWQ2{Ob77a5#Wvn958^4Du81R2g9ousb4WNi5xFGr**3pN gmx0Ou@Gn6E?{g`EKk4o$-SW?ze?U(@tl*;`0U+{ecK`qY literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/OrderRepository.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/OrderRepository.class.uniqueId1 new file mode 100644 index 0000000000000000000000000000000000000000..5d55c827d3baba5ebb3210a2eec7fb855ad755e5 GIT binary patch literal 1657 zcmcIkOH?@$>690N4a;5(+R@fnpU(P$uxim7&c)valO) z+vB0MrSiCnZNB!Je`Ercwurn&5D=KLR-FzzWp<)PU^^n#^$J`fFr6v` z7WwvmtHWJgfeCabm2bygB_hAASjay}_1^ZFW_fQrD)I8p#t(%bF`Xz*U~9A4(7pPzI)Nn<`gZSK%+;>fh&)F`JZ>uKC9dA}Vgf7H-XNnPipcLZ*C*0z zGDAaSz6g|))Fy#aU~Cd-4O!aAET?I4WaMK+gSIcqXFlUIL}S_d3l?nf(0>T9nol@^ zS!-{QGQP_5VeLf|G3Rrg7HWJXH4C1%itM= zXJM`nmq-qpM`!`Aok8YicI!GqiwKRSM)B4ebOUat#|YfQ7;eX~G~K{}?w~*sSjUy% lT6y#Z2!YSIEx=v;n~071W&BsOBd`MZQap2dA0DLA!(U}Q?qUD{ literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/OrderService.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/OrderService.class.uniqueId3 new file mode 100644 index 0000000000000000000000000000000000000000..58dcd024cc1e646db9db5d4720d60c6580791858 GIT binary patch literal 4235 zcmbVPYjfMy5j~fpM2kdZnT{>XP8~;)Q$3B?aT429+{&)p$fYIMlvT$~lS0Im1PcTh z0FO<0ZO&fa zF+yOJ`lM|O^F-)U1|D2^yWpKYnlRs+j*47-pg_ny>n8fS?6l4Kq9 zq^T<9Hp9i5Q&y&WsaCDpmh{Mjvv@j#XEZ#EbBwVGXnhlboa;^5zMNb3+`9s&lW?^< zjB`wep1}oy;oUe;aZPDQ{G4(ED_B=Go6y)(Y?ZWctdfCGB(sY8sh(GIqb!^1{R)mr zf#;GYF%a)M1j2G2mo-9?RV)-3Wd&P&)cDBPqb!tKltk#^gBqU4G(Grr4`V~` z+QIO=3gSZ=ii$@27(~ci)rd11X4R1CEZfrXl;p!2ZlFXpE0CVSxgcihtGKuP{8X$YW}dSmeMZv1CB{97=MbP9K7>EHK_u z&$8=DU3#AD=`(I{#jQE!)LL1FEtka-?x+dBA~2YAdf7I7zYxul5SfT^^Lr%X>wApn zVOpjyvoi$tE4*fEl?Ca|84ETg`J!7k?0Lhp)H)WXgJp|D@l-3nLfG2BNeX;XU6aAG zYhE`zqe8Ge`sgCp!ijYznPQmHJ5EYktAjM|x=YrQV+1viaJ}+QS+w!Eb5c+23Tw;wDyVq+Z`3%;DstZP zE!Jq#aooUAlb7&bD7xN~?pHm_Sz1)6-*vqeJ@5?2H=^lmG}QIErkL}d4em+9oOSH= z4vu~ykg|w$SD8{p^jo`i&9(-NCsdnR7E`4)C+;D`;mjfU08l74RLwB7<<=^+wBD}U zKUk=mBk#_t^OEYE-OopRP7=QLe;mU6;ZKJYa8iVYV!6yYKTas%N@m_<4 zmCcsinpc)rEY;!%!uU(kdGC~ZDf3j&mN!0oR=NTEMUU0#tM`)Y20kfOjk??4--Wlb z_%6Pe!S^-%02=}W%_E=Xthy^wFNQhM!dN5`!?R_MGoiWqTQbeqDB9q8!!d2?4;Ec_ zrB+Q2!cw4ko|J4eoMYhs-@|Cjy={|+k$Bt7hHaPlmMrw*MWXT}b!PanhOgo4z4)m* z-8^{Zv}wnYUib=-eg?k~IN5@2JD4)~6_2@ltFnV4OnHXg$4?A4J@V?Cfp;0+cfzK$ z!qpXC)${DgA0b9Y|A5TzxJtp{e-G5SIDj;5yKxXMSBE2QRPhQ|vZFpcPEV_=j_<)MO| z##eaP5f-oqsefZ2gYy~O{1*wKvScL{fKjHhQLtMyRt(OEnO;-jl7!_H#&*`~0yinJ zUK0s!}+~HLKQ}Rg;8hD~3Ex0;{^@{)D9$^5@x?R&%GQWGBNNB3|Y~ rzl!zWpiv6n4Ed+@zQy&o`BQq|VGj53L;M6kqa;ho&+$wA8vXwRZIXVj literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin index d4f7231bd280fbd779b8302c4736bfed72c2dbd2..2fd2a21810b5f4e23ab07b35832351e96453a5a3 100644 GIT binary patch literal 47750 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 I?bky5KZiQyZvX%Q literal 39271 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 diff --git a/build/tmp/compileTestJava/previous-compilation-data.bin b/build/tmp/compileTestJava/previous-compilation-data.bin index 9ae23058d1df0769046f041f5f7d6bb31e7bf6d6..3e56fd369224b7de3fc9aba4ea4b85934db69f2c 100644 GIT binary patch literal 35457 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 Yf6w&)m4DHPOp3sZ*q!L;g+^BX29j{$asU7T literal 0 HcmV?d00001 diff --git a/src/main/java/com/example/demo/DemoApplication.java b/src/main/java/com/example/demo/DemoApplication.java index 2613887..4b59d03 100644 --- a/src/main/java/com/example/demo/DemoApplication.java +++ b/src/main/java/com/example/demo/DemoApplication.java @@ -45,30 +45,30 @@ public class DemoApplication implements CommandLineRunner { public void run(String... args) throws Exception { if (args.length > 0 && Objects.equals("--populate", args[0])) { log.info("Create default types values"); - final var type1 = typeService.create(new TypeEntity(null, "Пицца")); - final var type2 = typeService.create(new TypeEntity(null, "Напиток")); - final var type3 = typeService.create(new TypeEntity(null, "Закуска")); + final var type1 = typeService.create(new TypeEntity("Пицца")); + final var type2 = typeService.create(new TypeEntity("Напиток")); + final var type3 = typeService.create(new TypeEntity("Закуска")); log.info("Create default products values"); - productService.create(new ProductEntity(null, "Маргарита", type1, 499.00)); - productService.create(new ProductEntity(null, "Эль Дьябло", type1, 699.00)); - productService.create(new ProductEntity(null, "Гавайская", type1, 399.00)); - productService.create(new ProductEntity(null, "Лимонад", type2, 99.00)); - productService.create(new ProductEntity(null, "Сок", type2, 99.00)); - productService.create(new ProductEntity(null, "Чай", type2, 49.00)); - productService.create(new ProductEntity(null, "Картошка фри", type3, 199.00)); - productService.create(new ProductEntity(null, "Нагетсы", type3, 199.00)); + productService.create(new ProductEntity("Маргарита", type1, 499.00)); + productService.create(new ProductEntity("Эль Дьябло", type1, 699.00)); + productService.create(new ProductEntity("Гавайская", type1, 399.00)); + productService.create(new ProductEntity("Лимонад", type2, 99.00)); + productService.create(new ProductEntity("Сок", type2, 99.00)); + productService.create(new ProductEntity("Чай", type2, 49.00)); + productService.create(new ProductEntity("Картошка фри", type3, 199.00)); + productService.create(new ProductEntity("Нагетсы", type3, 199.00)); log.info("Create default users values"); - userService.create(new UserEntity(null, "Alex", "Kryukov", "akryu@mail.ru", "password123")); - userService.create(new UserEntity(null, "Oleg", "Zyngin", "@mail.ru", "password")); + userService.create(new UserEntity("Alex", "Kryukov", "akryu@mail.ru", "password123")); + userService.create(new UserEntity("Oleg", "Zyngin", "@mail.ru", "password")); log.info("Create default orders values"); @SuppressWarnings({ "rawtypes", "unchecked" }) List lines = new ArrayList(); lines.add(new OrderLineEntity(null, 3)); - final var user1 = userService.create(new UserEntity(null, "Alex", "Kryukov", "akryu@mail.ru", "password")); - orderService.create(new OrderEntity(null, user1, null)); + final var user1 = userService.create(new UserEntity("Alex", "Kryukov", "akryu@mail.ru", "password")); + orderService.create(new OrderEntity(user1, null)); } } } diff --git a/src/main/java/com/example/demo/core/configuration/Constants.java b/src/main/java/com/example/demo/core/configuration/Constants.java index d9c6b7c..2474c0f 100644 --- a/src/main/java/com/example/demo/core/configuration/Constants.java +++ b/src/main/java/com/example/demo/core/configuration/Constants.java @@ -1,6 +1,8 @@ package com.example.demo.core.configuration; public class Constants { + public static final String SEQUENCE_NAME = "hibernate_sequence"; + public static final String API_URL = "/api/1.0"; private Constants() { diff --git a/src/main/java/com/example/demo/core/error/NotFoundException.java b/src/main/java/com/example/demo/core/error/NotFoundException.java index 586af3c..a61d118 100644 --- a/src/main/java/com/example/demo/core/error/NotFoundException.java +++ b/src/main/java/com/example/demo/core/error/NotFoundException.java @@ -1,7 +1,7 @@ package com.example.demo.core.error; public class NotFoundException extends RuntimeException { - public NotFoundException(Long id) { - super(String.format("Entity with id [%s] is not found or not exists", id)); + public NotFoundException(Class clazz, Long id) { + super(String.format("%s with id [%s] is not found or not exists", clazz.getSimpleName(), id)); } } diff --git a/src/main/java/com/example/demo/core/model/BaseEntity.java b/src/main/java/com/example/demo/core/model/BaseEntity.java index 674ddfb..eba74ad 100644 --- a/src/main/java/com/example/demo/core/model/BaseEntity.java +++ b/src/main/java/com/example/demo/core/model/BaseEntity.java @@ -1,15 +1,23 @@ package com.example.demo.core.model; +import com.example.demo.core.configuration.Constants; + +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.MappedSuperclass; +import jakarta.persistence.SequenceGenerator; + +@MappedSuperclass public abstract class BaseEntity { + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = Constants.SEQUENCE_NAME) + @SequenceGenerator(name = Constants.SEQUENCE_NAME, sequenceName = Constants.SEQUENCE_NAME, allocationSize = 1) protected Long id; protected BaseEntity() { } - protected BaseEntity(Long id) { - this.id = id; - } - public Long getId() { return id; } diff --git a/src/main/java/com/example/demo/core/repository/CommonRepository.java b/src/main/java/com/example/demo/core/repository/CommonRepository.java deleted file mode 100644 index 85e1e6d..0000000 --- a/src/main/java/com/example/demo/core/repository/CommonRepository.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.example.demo.core.repository; - -import java.util.List; - -public interface CommonRepository { - List getAll(); - - E get(T id); - - E create(E entity); - - E update(E entity); - - E delete(E entity); - - void deleteAll(); -} diff --git a/src/main/java/com/example/demo/core/repository/MapRepository.java b/src/main/java/com/example/demo/core/repository/MapRepository.java deleted file mode 100644 index 6809ac2..0000000 --- a/src/main/java/com/example/demo/core/repository/MapRepository.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.example.demo.core.repository; - -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - -import com.example.demo.core.model.BaseEntity; - -public abstract class MapRepository implements CommonRepository { - private final Map entities = new TreeMap<>(); - private Long lastId = 0L; - - protected MapRepository() { - } - - @Override - public List getAll() { - return entities.values().stream().toList(); - } - - @Override - public E get(Long id) { - return entities.get(id); - } - - @Override - public E create(E entity) { - lastId++; - entity.setId(lastId); - entities.put(lastId, entity); - return entity; - } - - @Override - public E update(E entity) { - if (get(entity.getId()) == null) { - return null; - } - entities.put(entity.getId(), entity); - return entity; - } - - @Override - public E delete(E entity) { - if (get(entity.getId()) == null) { - return null; - } - entities.remove(entity.getId()); - return entity; - } - - @Override - public void deleteAll() { - lastId = 0L; - entities.clear(); - } -} diff --git a/src/main/java/com/example/demo/order_lines/repository/OrderLineRepository.java b/src/main/java/com/example/demo/order_lines/repository/OrderLineRepository.java index 3b0bb25..09fd1e1 100644 --- a/src/main/java/com/example/demo/order_lines/repository/OrderLineRepository.java +++ b/src/main/java/com/example/demo/order_lines/repository/OrderLineRepository.java @@ -1,10 +1,8 @@ package com.example.demo.order_lines.repository; -import org.springframework.stereotype.Repository; +import org.springframework.data.repository.CrudRepository; -import com.example.demo.core.repository.MapRepository; import com.example.demo.order_lines.model.OrderLineEntity; -@Repository -public class OrderLineRepository extends MapRepository { +public interface OrderLineRepository extends CrudRepository { } diff --git a/src/main/java/com/example/demo/orders/model/OrderEntity.java b/src/main/java/com/example/demo/orders/model/OrderEntity.java index 192cfb9..e6946fe 100644 --- a/src/main/java/com/example/demo/orders/model/OrderEntity.java +++ b/src/main/java/com/example/demo/orders/model/OrderEntity.java @@ -5,13 +5,25 @@ import com.example.demo.order_lines.model.OrderLineEntity; import com.example.demo.users.model.UserEntity; import com.fasterxml.jackson.annotation.JsonManagedReference; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table; + import java.util.ArrayList; import java.util.List; import java.util.Objects; +@Entity +@Table(name = "orders") public class OrderEntity extends BaseEntity { + @ManyToOne + @JoinColumn() private UserEntity user; @JsonManagedReference + @OneToMany(fetch = FetchType.EAGER) private final List lines = new ArrayList<>(); private Double totalPrice; @@ -19,8 +31,7 @@ public class OrderEntity extends BaseEntity { super(); } - public OrderEntity(Long id, UserEntity user, Double totalPrice) { - super(id); + public OrderEntity(UserEntity user, Double totalPrice) { this.user = user; this.totalPrice = totalPrice; } diff --git a/src/main/java/com/example/demo/orders/model/OrderGrouped.java b/src/main/java/com/example/demo/orders/model/OrderGrouped.java new file mode 100644 index 0000000..644cfb5 --- /dev/null +++ b/src/main/java/com/example/demo/orders/model/OrderGrouped.java @@ -0,0 +1,7 @@ +package com.example.demo.orders.model; + +public interface OrderGrouped { + double getTotalPrice(); + + int getTotalCount(); +} diff --git a/src/main/java/com/example/demo/orders/repository/OrderRepository.java b/src/main/java/com/example/demo/orders/repository/OrderRepository.java index ae96b81..d760d1b 100644 --- a/src/main/java/com/example/demo/orders/repository/OrderRepository.java +++ b/src/main/java/com/example/demo/orders/repository/OrderRepository.java @@ -1,10 +1,28 @@ package com.example.demo.orders.repository; -import org.springframework.stereotype.Repository; +import java.util.List; + +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.CrudRepository; -import com.example.demo.core.repository.MapRepository; import com.example.demo.orders.model.OrderEntity; +import com.example.demo.orders.model.OrderGrouped; -@Repository -public class OrderRepository extends MapRepository { +public interface OrderRepository extends CrudRepository { + @SuppressWarnings("null") + List findAll(); + + List findByUserIdAndLinesProductIds(long userId, List lines); + + List findByLinesProductIds(List lines); + + List findByUserId(long userId); + + @Query("select " + + "t as type, " + + "coalesce(sum(o.price), 0) as totalPrice, " + + "coalesce(sum(o.count), 0) as totalCount " + + "from TypeEntity t left join OrderEntity o on o.type = t and o.user.id = ?1 " + + "group by t order by t.id") + List getOrdersTotalByType(long userId); } diff --git a/src/main/java/com/example/demo/orders/service/OrderService.java b/src/main/java/com/example/demo/orders/service/OrderService.java index 837049a..f66e4fd 100644 --- a/src/main/java/com/example/demo/orders/service/OrderService.java +++ b/src/main/java/com/example/demo/orders/service/OrderService.java @@ -1,9 +1,9 @@ package com.example.demo.orders.service; import java.util.List; -import java.util.Optional; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.example.demo.core.error.NotFoundException; import com.example.demo.order_lines.model.OrderLineEntity; @@ -18,30 +18,27 @@ public class OrderService { this.repository = repository; } + @Transactional(readOnly = true) public List getAll(Long userId, List lines) { if (userId != 0L && !lines.isEmpty()) { - return repository.getAll().stream() - .filter(line -> line.getUser().getId().equals(userId) && line.getLines().stream() - .allMatch(orderLine -> lines.contains(orderLine.getProduct().getId()))) - .toList(); + return repository.findByUserIdAndLinesProductIds(userId, lines); } if (userId == 0L && !lines.isEmpty()) { - return repository.getAll().stream().filter(line -> line.getLines().stream() - .allMatch(orderLine -> lines.contains(orderLine.getProduct().getId()))).toList(); + return repository.findByLinesProductIds(lines); } if (userId != 0L && lines.isEmpty()) { - return repository.getAll().stream().filter(line -> line.getUser().getId().equals(userId)).toList(); + return repository.findByUserId(userId); } - return repository.getAll(); + return repository.findAll(); } public OrderEntity get(Long id) { - return Optional.ofNullable(repository.get(id)) - .orElseThrow(() -> new NotFoundException(id)); + return repository.findById(id) + .orElseThrow(() -> new NotFoundException(OrderEntity.class, id)); } public OrderEntity create(OrderEntity entity) { - return repository.create(entity); + return repository.save(entity); } public OrderEntity update(Long id, OrderEntity entity) { @@ -54,11 +51,12 @@ public class OrderService { existEntity.addOrderLine(newOrderLine); } - return repository.update(existEntity); + return repository.save(existEntity); } public OrderEntity delete(Long id) { final OrderEntity existsEntity = get(id); - return repository.delete(existsEntity); + repository.delete(existsEntity); + return existsEntity; } } diff --git a/src/main/java/com/example/demo/products/model/ProductEntity.java b/src/main/java/com/example/demo/products/model/ProductEntity.java index 3b43ea8..8ebfef4 100644 --- a/src/main/java/com/example/demo/products/model/ProductEntity.java +++ b/src/main/java/com/example/demo/products/model/ProductEntity.java @@ -5,17 +5,28 @@ import java.util.Objects; import com.example.demo.core.model.BaseEntity; import com.example.demo.types.model.TypeEntity; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table; + +@Entity +@Table(name = "product") public class ProductEntity extends BaseEntity { + @ManyToOne + @JoinColumn(name = "typeId", nullable = false) private TypeEntity type; + @Column(nullable = false, length = 50) private String name; + @Column(nullable = false, length = 50) private Double price; public ProductEntity() { super(); } - public ProductEntity(Long id, String name, TypeEntity type, Double price) { - super(id); + public ProductEntity(String name, TypeEntity type, Double price) { this.type = type; this.name = name; this.price = price; diff --git a/src/main/java/com/example/demo/products/repository/ProductRepository.java b/src/main/java/com/example/demo/products/repository/ProductRepository.java index 2dbfa07..d744796 100644 --- a/src/main/java/com/example/demo/products/repository/ProductRepository.java +++ b/src/main/java/com/example/demo/products/repository/ProductRepository.java @@ -1,10 +1,14 @@ package com.example.demo.products.repository; -import org.springframework.stereotype.Repository; +import java.util.Optional; +import java.util.List; + +import org.springframework.data.repository.CrudRepository; -import com.example.demo.core.repository.MapRepository; import com.example.demo.products.model.ProductEntity; -@Repository -public class ProductRepository extends MapRepository { -} +public interface ProductRepository extends CrudRepository { + Optional findByNameIgnoreCase(String name); + + List findByType_Id(Long typeId); +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/products/service/ProductService.java b/src/main/java/com/example/demo/products/service/ProductService.java index c339aa2..09cfa49 100644 --- a/src/main/java/com/example/demo/products/service/ProductService.java +++ b/src/main/java/com/example/demo/products/service/ProductService.java @@ -1,15 +1,16 @@ package com.example.demo.products.service; import java.util.List; -import java.util.Objects; -import java.util.Optional; import org.springframework.stereotype.Service; +import java.util.stream.StreamSupport; import com.example.demo.core.error.NotFoundException; import com.example.demo.products.model.ProductEntity; import com.example.demo.products.repository.ProductRepository; +import org.springframework.transaction.annotation.Transactional; + @Service public class ProductService { private final ProductRepository repository; @@ -18,35 +19,39 @@ public class ProductService { this.repository = repository; } + @Transactional(readOnly = true) public List getAll(Long typeId) { - if (Objects.equals(typeId, 0L)) { - return repository.getAll(); + if (typeId != null && typeId != 0L) { + return repository.findByType_Id(typeId); + } else { + return StreamSupport.stream(repository.findAll().spliterator(), false).toList(); } - return repository.getAll().stream() - .filter(order -> order.getType().getId().equals(typeId)) - .toList(); } + @Transactional(readOnly = true) public ProductEntity get(Long id) { - return Optional.ofNullable(repository.get(id)) - .orElseThrow(() -> new NotFoundException(id)); + return repository.findById(id).orElseThrow(() -> new NotFoundException(ProductEntity.class, id)); } + @Transactional public ProductEntity create(ProductEntity entity) { - entity.setPrice(entity.getPrice()); - return repository.create(entity); + if (entity == null) { + throw new IllegalArgumentException("Entity is null"); + } + return repository.save(entity); } + @Transactional public ProductEntity update(Long id, ProductEntity entity) { - final ProductEntity existsEntity = get(id); - existsEntity.setName(entity.getName()); - existsEntity.setType(entity.getType()); - existsEntity.setPrice(entity.getPrice()); - return repository.update(existsEntity); + final ProductEntity exisEntity = get(id); + exisEntity.setName(entity.getName()); + return repository.save(exisEntity); } + @Transactional public ProductEntity delete(Long id) { - final ProductEntity existsEntity = get(id); - return repository.delete(existsEntity); + final ProductEntity existEntity = get(id); + repository.delete(existEntity); + return existEntity; } } diff --git a/src/main/java/com/example/demo/types/api/TypeDto.java b/src/main/java/com/example/demo/types/api/TypeDto.java index c559680..bdf2294 100644 --- a/src/main/java/com/example/demo/types/api/TypeDto.java +++ b/src/main/java/com/example/demo/types/api/TypeDto.java @@ -3,10 +3,12 @@ package com.example.demo.types.api; import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; public class TypeDto { private Long id; @NotBlank + @Size(min = 5, max = 50) private String name; @JsonProperty(access = JsonProperty.Access.READ_ONLY) diff --git a/src/main/java/com/example/demo/types/model/TypeEntity.java b/src/main/java/com/example/demo/types/model/TypeEntity.java index fd90bdb..c188751 100644 --- a/src/main/java/com/example/demo/types/model/TypeEntity.java +++ b/src/main/java/com/example/demo/types/model/TypeEntity.java @@ -3,16 +3,20 @@ package com.example.demo.types.model; import java.util.Objects; import com.example.demo.core.model.BaseEntity; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +@Entity +@Table(name = "types") public class TypeEntity extends BaseEntity { + @Column(nullable = false, unique = true, length = 50) private String name; public TypeEntity() { - super(); } - public TypeEntity(Long id, String name) { - super(id); + public TypeEntity(String name) { this.name = name; } diff --git a/src/main/java/com/example/demo/types/repository/TypeRepository.java b/src/main/java/com/example/demo/types/repository/TypeRepository.java index 1c29ea2..9fea284 100644 --- a/src/main/java/com/example/demo/types/repository/TypeRepository.java +++ b/src/main/java/com/example/demo/types/repository/TypeRepository.java @@ -1,10 +1,11 @@ package com.example.demo.types.repository; -import org.springframework.stereotype.Repository; +import java.util.Optional; + +import org.springframework.data.repository.CrudRepository; -import com.example.demo.core.repository.MapRepository; import com.example.demo.types.model.TypeEntity; -@Repository -public class TypeRepository extends MapRepository { +public interface TypeRepository extends CrudRepository { + Optional findByNameIgnoreCase(String name); } diff --git a/src/main/java/com/example/demo/types/service/TypeService.java b/src/main/java/com/example/demo/types/service/TypeService.java index e71b030..f098a64 100644 --- a/src/main/java/com/example/demo/types/service/TypeService.java +++ b/src/main/java/com/example/demo/types/service/TypeService.java @@ -1,9 +1,10 @@ package com.example.demo.types.service; import java.util.List; -import java.util.Optional; +import java.util.stream.StreamSupport; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.example.demo.core.error.NotFoundException; import com.example.demo.types.model.TypeEntity; @@ -17,27 +18,45 @@ public class TypeService { this.repository = repository; } + private void checkName(String name) { + if (repository.findByNameIgnoreCase(name).isPresent()) { + throw new IllegalArgumentException( + String.format("Type with name %s is already exists", name)); + } + } + + @Transactional(readOnly = true) public List getAll() { - return repository.getAll(); + return StreamSupport.stream(repository.findAll().spliterator(), false).toList(); } - public TypeEntity get(Long id) { - return Optional.ofNullable(repository.get(id)) - .orElseThrow(() -> new NotFoundException(id)); + @Transactional(readOnly = true) + public TypeEntity get(long id) { + return repository.findById(id) + .orElseThrow(() -> new NotFoundException(TypeEntity.class, id)); } + @Transactional public TypeEntity create(TypeEntity entity) { - return repository.create(entity); + if (entity == null) { + throw new IllegalArgumentException("Entity is null"); + } + checkName(entity.getName()); + return repository.save(entity); } + @Transactional public TypeEntity update(Long id, TypeEntity entity) { final TypeEntity existsEntity = get(id); + checkName(entity.getName()); existsEntity.setName(entity.getName()); - return repository.update(existsEntity); + return repository.save(existsEntity); } + @Transactional public TypeEntity delete(Long id) { final TypeEntity existsEntity = get(id); - return repository.delete(existsEntity); + repository.delete(existsEntity); + return existsEntity; } } diff --git a/src/main/java/com/example/demo/users/model/UserEntity.java b/src/main/java/com/example/demo/users/model/UserEntity.java index e885b62..acd6f91 100644 --- a/src/main/java/com/example/demo/users/model/UserEntity.java +++ b/src/main/java/com/example/demo/users/model/UserEntity.java @@ -4,18 +4,27 @@ import java.util.Objects; import com.example.demo.core.model.BaseEntity; +import jakarta.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; + +@Entity +@Table(name = "users") public class UserEntity extends BaseEntity { + @Column(nullable = false, unique = true, length = 50) private String fullname; + @Column(nullable = false, unique = true, length = 50) private String surname; + @Column(nullable = false, unique = true, length = 50) private String email; + @Column(nullable = false, unique = true, length = 50) private String password; public UserEntity() { super(); } - public UserEntity(Long id, String fullname, String surname, String email, String password) { - super(id); + public UserEntity(String fullname, String surname, String email, String password) { this.fullname = fullname; this.surname = surname; this.email = email; diff --git a/src/main/java/com/example/demo/users/repository/UserRepository.java b/src/main/java/com/example/demo/users/repository/UserRepository.java index fa4b654..e4fc312 100644 --- a/src/main/java/com/example/demo/users/repository/UserRepository.java +++ b/src/main/java/com/example/demo/users/repository/UserRepository.java @@ -1,10 +1,12 @@ package com.example.demo.users.repository; -import org.springframework.stereotype.Repository; +import java.util.Optional; + +import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.PagingAndSortingRepository; -import com.example.demo.core.repository.MapRepository; import com.example.demo.users.model.UserEntity; -@Repository -public class UserRepository extends MapRepository { -} +public interface UserRepository extends CrudRepository, PagingAndSortingRepository { + Optional findByEmailIgnoreCase(String email); +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/users/service/UserService.java b/src/main/java/com/example/demo/users/service/UserService.java index 6aa4a02..f2402fb 100644 --- a/src/main/java/com/example/demo/users/service/UserService.java +++ b/src/main/java/com/example/demo/users/service/UserService.java @@ -1,8 +1,11 @@ package com.example.demo.users.service; import java.util.List; -import java.util.Optional; +import java.util.stream.StreamSupport; + import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + import com.example.demo.core.error.NotFoundException; import com.example.demo.users.model.UserEntity; import com.example.demo.users.repository.UserRepository; @@ -15,30 +18,49 @@ public class UserService { this.repository = repository; } + private void checkEmail(String email) { + if (repository.findByEmailIgnoreCase(email).isPresent()) { + throw new IllegalArgumentException( + String.format("User with email %s is already exists", email)); + } + } + + @Transactional(readOnly = true) public List getAll() { - return repository.getAll(); + return StreamSupport.stream(repository.findAll().spliterator(), false).toList(); } - public UserEntity get(Long id) { - return Optional.ofNullable(repository.get(id)) - .orElseThrow(() -> new NotFoundException(id)); + @Transactional(readOnly = true) + public UserEntity get(long id) { + return repository.findById(id) + .orElseThrow(() -> new NotFoundException(UserEntity.class, id)); } + @Transactional public UserEntity create(UserEntity entity) { - return repository.create(entity); + if (entity == null) { + throw new IllegalArgumentException("Entity is null"); + } + checkEmail(entity.getEmail()); + return repository.save(entity); } + @Transactional public UserEntity update(Long id, UserEntity entity) { - final UserEntity existsEntity = get(id); - existsEntity.setFullname(entity.getFullname()); - existsEntity.setSurname(entity.getSurname()); - existsEntity.setEmail(entity.getEmail()); - existsEntity.setPassword(entity.getPassword()); - return repository.update(existsEntity); + checkEmail(entity.getEmail()); + final UserEntity existEntity = get(id); + existEntity.setFullname(entity.getFullname()); + existEntity.setSurname(entity.getSurname()); + existEntity.setEmail(entity.getEmail()); + existEntity.setPassword(entity.getPassword()); + repository.save(existEntity); + return existEntity; } + @Transactional public UserEntity delete(Long id) { - final UserEntity existsEntity = get(id); - return repository.delete(existsEntity); + final UserEntity existEntity = get(id); + repository.delete(existEntity); + return existEntity; } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 8b13789..62ab433 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1 +1,20 @@ +# Server +spring.main.banner-mode=off +server.port=8080 +# Logger settings +# Available levels are: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF +logging.level.com.example.demo=DEBUG + +# JPA Settings +spring.datasource.url=jdbc:h2:file:./data +spring.datasource.username=sa +spring.datasource.password=password +spring.datasource.driver-class-name=org.h2.Driver +spring.jpa.hibernate.ddl-auto=create +spring.jpa.open-in-view=false +# spring.jpa.show-sql=true +# spring.jpa.properties.hibernate.format_sql=true + +# H2 console +spring.h2.console.enabled=true \ No newline at end of file diff --git a/src/test/java/com/example/demo/OrderServiceTests.java b/src/test/java/com/example/demo/OrderServiceTests.java index c77915c..6b0b57b 100644 --- a/src/test/java/com/example/demo/OrderServiceTests.java +++ b/src/test/java/com/example/demo/OrderServiceTests.java @@ -29,7 +29,7 @@ class OrderServiceTests { @Test @Order(1) void createTest() { - orderService.create(new OrderEntity(null, null, null)); + orderService.create(new OrderEntity(null, null)); @SuppressWarnings({ "rawtypes", "unchecked" }) List lines = new ArrayList(); lines.add(new OrderLineEntity(null, 4)); @@ -37,7 +37,7 @@ class OrderServiceTests { lines.add(new OrderLineEntity(null, 6)); lines.add(new OrderLineEntity(null, 7)); // Создаем тестовую сущность OrderEntity - OrderEntity testOrder = new OrderEntity(null, null, null); + OrderEntity testOrder = new OrderEntity(null, null); // Вызываем метод create() и сохраняем созданную сущность OrderEntity createdOrder = orderService.create(testOrder); // Проверяем, что метод create() вернул не null diff --git a/src/test/java/com/example/demo/ProductServiceTests.java b/src/test/java/com/example/demo/ProductServiceTests.java index 8a545be..ebbacf1 100644 --- a/src/test/java/com/example/demo/ProductServiceTests.java +++ b/src/test/java/com/example/demo/ProductServiceTests.java @@ -28,19 +28,19 @@ class ProductServiceTests { @Order(1) void createTest() { - final var type1 = new TypeEntity(null, "Пицца"); - productService.create(new ProductEntity(null, "Mocarela", type1, 20.00)); - productService.create(new ProductEntity(null, "El'Diablo", type1, 20.00)); - productService.create(new ProductEntity(null, "Маргарита", type1, 499.00)); - productService.create(new ProductEntity(null, "Эль Дьябло", type1, 699.00)); - productService.create(new ProductEntity(null, "Гавайская", type1, 399.00)); + final var type1 = new TypeEntity("Пицца"); + productService.create(new ProductEntity("Mocarela", type1, 20.00)); + productService.create(new ProductEntity("El'Diablo", type1, 20.00)); + productService.create(new ProductEntity("Маргарита", type1, 499.00)); + productService.create(new ProductEntity("Эль Дьябло", type1, 699.00)); + productService.create(new ProductEntity("Гавайская", type1, 399.00)); Assertions.assertEquals(5, productService.getAll(0L).size()); } @Test @Order(2) void updateTest() { - final ProductEntity newProduct = new ProductEntity(null, "El'Diablo", new TypeEntity(null, "Пицца"), 20.00); + final ProductEntity newProduct = new ProductEntity("El'Diablo", new TypeEntity("Пицца"), 20.00); final ProductEntity updProduct = productService.update(1L, newProduct); Assertions.assertEquals(5, productService.getAll(0L).size()); Assertions.assertEquals(updProduct, productService.get(1L)); diff --git a/src/test/java/com/example/demo/TypeServiceTests.java b/src/test/java/com/example/demo/TypeServiceTests.java index 6c372b6..01cf8bd 100644 --- a/src/test/java/com/example/demo/TypeServiceTests.java +++ b/src/test/java/com/example/demo/TypeServiceTests.java @@ -26,9 +26,9 @@ class TypeServiceTests { @Test @Order(1) void createTest() { - typeService.create(new TypeEntity(null, "Пицца")); - typeService.create(new TypeEntity(null, "Напиток")); - final TypeEntity last = typeService.create(new TypeEntity(null, "Закуска")); + typeService.create(new TypeEntity("Пицца")); + typeService.create(new TypeEntity("Напиток")); + final TypeEntity last = typeService.create(new TypeEntity("Закуска")); Assertions.assertEquals(3, typeService.getAll().size()); Assertions.assertEquals(last, typeService.get(3L)); } @@ -39,7 +39,7 @@ class TypeServiceTests { final String test = "TEST"; final TypeEntity entity = typeService.get(3L); final String oldName = entity.getName(); - final TypeEntity newEntity = typeService.update(3L, new TypeEntity(1L, test)); + final TypeEntity newEntity = typeService.update(3L, new TypeEntity(test)); Assertions.assertEquals(3, typeService.getAll().size()); Assertions.assertEquals(newEntity, typeService.get(3L)); Assertions.assertEquals(test, newEntity.getName()); @@ -54,7 +54,7 @@ class TypeServiceTests { final TypeEntity last = typeService.get(2L); Assertions.assertEquals(2L, last.getId()); - final TypeEntity newEntity = typeService.create(new TypeEntity(null, "Закуска")); + final TypeEntity newEntity = typeService.create(new TypeEntity("Закуска")); Assertions.assertEquals(3, typeService.getAll().size()); Assertions.assertEquals(4L, newEntity.getId()); } diff --git a/src/test/java/com/example/demo/UserServiceTests.java b/src/test/java/com/example/demo/UserServiceTests.java index 9366084..a775926 100644 --- a/src/test/java/com/example/demo/UserServiceTests.java +++ b/src/test/java/com/example/demo/UserServiceTests.java @@ -26,9 +26,9 @@ class UserServiceTests { @Test @Order(1) void createTest() { - userService.create(new UserEntity(null, "John", "Doe", "gge@fkgjfdj", "password")); - userService.create(new UserEntity(null, "Alex", "Kryukov", "fhegehr@ghsjg.com", "password")); - final UserEntity last = userService.create(new UserEntity(null, "Alex", "selivanov", "fhegehr@ghsjg.com", + userService.create(new UserEntity("John", "Doe", "gge@fkgjfdj", "password")); + userService.create(new UserEntity("Alex", "Kryukov", "fhegehr@ghsjg.com", "password")); + final UserEntity last = userService.create(new UserEntity("Alex", "selivanov", "fhegehr@ghsjg.com", "password")); Assertions.assertEquals(3, userService.getAll().size()); Assertions.assertEquals(last, userService.get(3L)); @@ -39,7 +39,7 @@ class UserServiceTests { void updateTest() { final UserEntity entity = userService.get(3L); final String oldName = entity.getFullname(); - final UserEntity newEntity = userService.update(3L, new UserEntity(1L, "test", "test", "test", "test")); + final UserEntity newEntity = userService.update(3L, new UserEntity("test", "test", "test", "test")); Assertions.assertEquals(3, userService.getAll().size()); Assertions.assertEquals(newEntity, userService.get(3L)); Assertions.assertEquals("test", newEntity.getFullname());