From ba015abf6807ac945872f224b6e4fff4a96cb073 Mon Sep 17 00:00:00 2001 From: janguni Date: Thu, 11 Aug 2022 18:27:43 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=ED=8E=AB=20=EC=B6=94=EA=B0=80=20=EB=B0=8F?= =?UTF-8?q?=20=EB=93=B1=EB=A1=9D=20=EC=99=84=EB=A3=8C=20(member=EC=97=B0?= =?UTF-8?q?=EA=B4=80=EA=B4=80=EA=B3=84=20=EB=AF=B8=EC=99=84=EB=A3=8C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- back/.idea/.name | 1 + back/.idea/compiler.xml | 1 + back/.idea/vcs.xml | 1 + back/build.gradle | 5 ++ .../com/petchatbot/ApiController.class | Bin 0 -> 805 bytes .../com/petchatbot/config/CorsConfig.class | Bin 0 -> 1424 bytes .../petchatbot/config/ResponseMessage.class | Bin 0 -> 1711 bytes .../petchatbot/config/SecurityConfig.class | Bin 0 -> 4755 bytes .../com/petchatbot/config/StatusCode.class | Bin 0 -> 708 bytes .../auth/CustomAuthenticationEntryPoint.class | Bin 0 -> 1901 bytes .../config/auth/PrincipalDetails.class | Bin 0 -> 2929 bytes .../config/auth/PrincipalDetailsService.class | Bin 0 -> 1678 bytes .../auth/jwt/JwtAuthenticationFilter.class | Bin 0 -> 7061 bytes .../auth/jwt/JwtAuthorizationFilter.class | Bin 0 -> 3837 bytes .../ControllerExceptionHandler.class | Bin 0 -> 776 bytes .../controller/MemberController.class | Bin 0 -> 7240 bytes .../petchatbot/controller/PetController.class | Bin 0 -> 2439 bytes .../com/petchatbot/domain/dto/CodeDto.class | Bin 0 -> 524 bytes .../petchatbot/domain/dto/EmailCodeDto.class | Bin 0 -> 999 bytes .../com/petchatbot/domain/dto/EmailDto.class | Bin 0 -> 628 bytes .../com/petchatbot/domain/dto/MemberDto.class | Bin 0 -> 948 bytes .../com/petchatbot/domain/model/Breed.class | Bin 0 -> 1003 bytes .../com/petchatbot/domain/model/Member.class | Bin 0 -> 2440 bytes .../domain/model/Neutralization.class | Bin 0 -> 1075 bytes .../com/petchatbot/domain/model/Pet.class | Bin 0 -> 2629 bytes .../com/petchatbot/domain/model/PetSex.class | Bin 0 -> 1014 bytes .../requestAndResponse/ChangePwReq.class | Bin 0 -> 2286 bytes .../DefaultRes$DefaultResBuilder.class | Bin 0 -> 2595 bytes .../requestAndResponse/DefaultRes.class | Bin 0 -> 4665 bytes .../domain/requestAndResponse/JoinReq.class | Bin 0 -> 2249 bytes .../domain/requestAndResponse/PetRegReq.class | Bin 0 -> 4443 bytes .../repository/MemberRepository.class | Bin 0 -> 440 bytes .../petchatbot/repository/PetRepository.class | Bin 0 -> 344 bytes .../com/petchatbot/service/EmailService.class | Bin 0 -> 2759 bytes .../petchatbot/service/MemberService.class | Bin 0 -> 264 bytes .../service/MemberServiceImpl.class | Bin 0 -> 2723 bytes .../com/petchatbot/service/PetService.class | Bin 0 -> 267 bytes .../petchatbot/service/PetServiceImpl.class | Bin 0 -> 3141 bytes .../classes/com/petchatbot/startApp.class | Bin 0 -> 966 bytes back/out/production/resources/application.yml | 38 +++++++++++++ .../controller/MemberControllerTest.class | Bin 0 -> 625 bytes .../repository/MemberRepositoryTest.class | Bin 0 -> 656 bytes .../service/AnimalServiceImplTest.class | Bin 0 -> 2044 bytes .../com/petchatbot/config/SecurityConfig.java | 2 +- .../controller/MemberController.java | 2 +- .../petchatbot/controller/PetController.java | 36 +++++++++++++ .../com/petchatbot/domain/model/Breed.java | 5 ++ .../com/petchatbot/domain/model/Member.java | 12 +++++ .../domain/model/Neutralization.java | 5 ++ .../java/com/petchatbot/domain/model/Pet.java | 51 ++++++++++++++++++ .../com/petchatbot/domain/model/PetSex.java | 5 ++ .../domain/requestAndResponse/PetRegReq.java | 17 ++++++ .../petchatbot/repository/PetRepository.java | 10 ++++ .../com/petchatbot/service/PetService.java | 16 ++++++ .../petchatbot/service/PetServiceImpl.java | 51 ++++++++++++++++++ .../service/AnimalServiceImplTest.java | 27 ++++++++++ 56 files changed, 283 insertions(+), 2 deletions(-) create mode 100644 back/.idea/.name create mode 100644 back/out/production/classes/com/petchatbot/ApiController.class create mode 100644 back/out/production/classes/com/petchatbot/config/CorsConfig.class create mode 100644 back/out/production/classes/com/petchatbot/config/ResponseMessage.class create mode 100644 back/out/production/classes/com/petchatbot/config/SecurityConfig.class create mode 100644 back/out/production/classes/com/petchatbot/config/StatusCode.class create mode 100644 back/out/production/classes/com/petchatbot/config/auth/CustomAuthenticationEntryPoint.class create mode 100644 back/out/production/classes/com/petchatbot/config/auth/PrincipalDetails.class create mode 100644 back/out/production/classes/com/petchatbot/config/auth/PrincipalDetailsService.class create mode 100644 back/out/production/classes/com/petchatbot/config/auth/jwt/JwtAuthenticationFilter.class create mode 100644 back/out/production/classes/com/petchatbot/config/auth/jwt/JwtAuthorizationFilter.class create mode 100644 back/out/production/classes/com/petchatbot/controller/ControllerExceptionHandler.class create mode 100644 back/out/production/classes/com/petchatbot/controller/MemberController.class create mode 100644 back/out/production/classes/com/petchatbot/controller/PetController.class create mode 100644 back/out/production/classes/com/petchatbot/domain/dto/CodeDto.class create mode 100644 back/out/production/classes/com/petchatbot/domain/dto/EmailCodeDto.class create mode 100644 back/out/production/classes/com/petchatbot/domain/dto/EmailDto.class create mode 100644 back/out/production/classes/com/petchatbot/domain/dto/MemberDto.class create mode 100644 back/out/production/classes/com/petchatbot/domain/model/Breed.class create mode 100644 back/out/production/classes/com/petchatbot/domain/model/Member.class create mode 100644 back/out/production/classes/com/petchatbot/domain/model/Neutralization.class create mode 100644 back/out/production/classes/com/petchatbot/domain/model/Pet.class create mode 100644 back/out/production/classes/com/petchatbot/domain/model/PetSex.class create mode 100644 back/out/production/classes/com/petchatbot/domain/requestAndResponse/ChangePwReq.class create mode 100644 back/out/production/classes/com/petchatbot/domain/requestAndResponse/DefaultRes$DefaultResBuilder.class create mode 100644 back/out/production/classes/com/petchatbot/domain/requestAndResponse/DefaultRes.class create mode 100644 back/out/production/classes/com/petchatbot/domain/requestAndResponse/JoinReq.class create mode 100644 back/out/production/classes/com/petchatbot/domain/requestAndResponse/PetRegReq.class create mode 100644 back/out/production/classes/com/petchatbot/repository/MemberRepository.class create mode 100644 back/out/production/classes/com/petchatbot/repository/PetRepository.class create mode 100644 back/out/production/classes/com/petchatbot/service/EmailService.class create mode 100644 back/out/production/classes/com/petchatbot/service/MemberService.class create mode 100644 back/out/production/classes/com/petchatbot/service/MemberServiceImpl.class create mode 100644 back/out/production/classes/com/petchatbot/service/PetService.class create mode 100644 back/out/production/classes/com/petchatbot/service/PetServiceImpl.class create mode 100644 back/out/production/classes/com/petchatbot/startApp.class create mode 100644 back/out/production/resources/application.yml create mode 100644 back/out/test/classes/com/petchatbot/controller/MemberControllerTest.class create mode 100644 back/out/test/classes/com/petchatbot/repository/MemberRepositoryTest.class create mode 100644 back/out/test/classes/com/petchatbot/service/AnimalServiceImplTest.class create mode 100644 back/src/main/java/com/petchatbot/controller/PetController.java create mode 100644 back/src/main/java/com/petchatbot/domain/model/Breed.java create mode 100644 back/src/main/java/com/petchatbot/domain/model/Neutralization.java create mode 100644 back/src/main/java/com/petchatbot/domain/model/Pet.java create mode 100644 back/src/main/java/com/petchatbot/domain/model/PetSex.java create mode 100644 back/src/main/java/com/petchatbot/domain/requestAndResponse/PetRegReq.java create mode 100644 back/src/main/java/com/petchatbot/repository/PetRepository.java create mode 100644 back/src/main/java/com/petchatbot/service/PetService.java create mode 100644 back/src/main/java/com/petchatbot/service/PetServiceImpl.java diff --git a/back/.idea/.name b/back/.idea/.name new file mode 100644 index 0000000..445d235 --- /dev/null +++ b/back/.idea/.name @@ -0,0 +1 @@ +PetChatBot \ No newline at end of file diff --git a/back/.idea/compiler.xml b/back/.idea/compiler.xml index 4a72e34..7a4905d 100644 --- a/back/.idea/compiler.xml +++ b/back/.idea/compiler.xml @@ -8,6 +8,7 @@ + diff --git a/back/.idea/vcs.xml b/back/.idea/vcs.xml index 94a25f7..288b36b 100644 --- a/back/.idea/vcs.xml +++ b/back/.idea/vcs.xml @@ -1,6 +1,7 @@ + \ No newline at end of file diff --git a/back/build.gradle b/back/build.gradle index 13a1863..2974fbf 100644 --- a/back/build.gradle +++ b/back/build.gradle @@ -13,6 +13,7 @@ repositories { } dependencies { + implementation 'org.projectlombok:lombok:1.18.22' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0' // implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' @@ -40,6 +41,10 @@ dependencies { annotationProcessor 'org.projectlombok:lombok' + //테스트에서 lombok 사용 + testCompileOnly 'org.projectlombok:lombok' + testAnnotationProcessor 'org.projectlombok:lombok' + } test { diff --git a/back/out/production/classes/com/petchatbot/ApiController.class b/back/out/production/classes/com/petchatbot/ApiController.class new file mode 100644 index 0000000000000000000000000000000000000000..28449e99c7db8affaa0a83f0dc2a39d2269cc16e GIT binary patch literal 805 zcmb7C+iDa+5Iw!KH`nNH)_94=h$})8(0+`l2qAa@R|DB)UwrDBZFf7F=^lG(k_Yjh z^hxl+5AdVJ>PbiS2z&7r6P{*A%)>^pR!n#27xv_>`2t*s3 z6M_1!n`(jX&{+Mx%wp}wDo#1mAG$=P6Xi{aPm^_;n?hiHn7B;lnv%Jq*pb}H&91ZL zU7BkDOrSH<#JRC9NML1Sb9kVRluVVK$q{*DXN+0hFD;o&PfTIB!j83$6d7l^z>}f# zGg;&T`q8UQA3J|2k990#W2aJ`VdcL5RC1MfD$h@38%HWFx&OAxjijo9W~OQGrUKgw z%T`2gHhTSXyjWXB&NtB`zEWARz{7u*o)hKr4VyDuZSO6QZ{$j!=vSs%#9zaG945J7 zCv;&qOK70U`~E!ex+qf`JRP{h!54wG|E*M@cfP^B_&_Iw`-u2yg|7w?RN1yTlI#Wh z#@2U;Z`E;|Z8!!xxWsnp1i;Z{js(Y7SR{}iaTIV-zxI_~4d>ME1!{Cky~>yejOy~= i`v6g38GZH|*RX=?EY;Jvft!4MtCCwqpoCs-1AhQxI?-JK literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/config/CorsConfig.class b/back/out/production/classes/com/petchatbot/config/CorsConfig.class new file mode 100644 index 0000000000000000000000000000000000000000..595a37811760a8dc5beb6b5adfa4e1ed80fb7b6d GIT binary patch literal 1424 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 literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/config/StatusCode.class b/back/out/production/classes/com/petchatbot/config/StatusCode.class new file mode 100644 index 0000000000000000000000000000000000000000..893b550c9f08dbe519387bdf1ee78c145dff5607 GIT binary patch literal 708 zcmajcOK;Oa5C`!8lZ@HQNj*|YxtGWmO<pnJ>Ty6!jygz7Tw<8*4k6T!u`C+^#elv;8sLvIOX$< z(Dm~ole5!NHVKo_m^15snI_{XndHWQk_~;FPYJtzTAo@jGo2nMdQ@sFEsGcVku}hX zo=wffd;F0G{oG9J{wv)%NnRx#T*ei`_W$M(R!zG#PKqNd7@cIPZtS4Oe-2p2 z78+=RcVgAhVlP&_#BNt?`a2b`u+LQ7Wv^De#$K;@gMGH*P4>Bp&$BO7yv4p)@g=?~ qnY}q)zn?3RDNufW& z8M$*D$MM=b$C(zy@!IjH2)}{xJ-gdbN`^XKWOvVd-jC<~c;5W|69l|8FDqbCK!h6K_qT=T1}yDxy_IyWbC=& zs;dHX&V)I=5yTADx+hz_Ews1c>Za7(lhJzMbGM^6c&!s_*_xwI5$V8lbs(epNUQB- z8AO^8xJ1= z6dSUmJh2d%894poUY<9-V;EcMP@`L7HHZTmmANRAI_Wx1%2e;Pv`|9o?Y7`G*`m(T zq*QGj!>EN%ZCt}5!?+o--bqjnF-7Ra>FiGQ9>zvj#lm$PpP_E!25!=lt2grar|%#A^6=4jKTbUU`QAUfe;AKTHkR?Zg%ukO++vvN?d(5r!@?If zR&m?LD>%w9V#>=yH}d&jYiC|KBzHvf;B;nwhNuR`7+sO)J3w8ZBois5HyuJ-Z+r-HPoKGYlAx z63ve8$CWlHK{0x8=`OgQmWnblQPVw4Be&nW7P@g>;}mUm2Ly$F<7O=A@1mc+ zi7NDbl}?=AjNSuNyI{Z4M<2%MIhY6?G6L*W0k7dWofuxn3DPpgKajHldRL}P`0D}s z`tT6_U+p4yDL0mL21@MSeONol)1lxD?ZBRXfFs2C+zwuP8f%=QfuI!#mP5c!lJ7F1 zxIocO{7M=li*L>+F_B=ZP=ap|79%^2HwleH=QB8q9L|w+knYNuL>^P!gij@wK*1Tl dkCER{GC&AZqHZctBBQtH-G^zsok`CF{{pq78ixP? literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/config/auth/PrincipalDetails.class b/back/out/production/classes/com/petchatbot/config/auth/PrincipalDetails.class new file mode 100644 index 0000000000000000000000000000000000000000..576e1e09b56d85bdd4f2f7e338bca90d99b15dfb GIT binary patch literal 2929 zcmbVOZF3V<7(F*{o1_8SLJLI%u?5nkWff6g(xN4_P)$pv1q6IyyIGp0o87p3gZ5we z(eVe!7e3&OmKmIJ^o!2;n^Zh^H%&tb*m0)4ug`Ptd7gWoyZQ5<<2G5%qqh<)m$E==SLbU8Wsdnb*sK=`2u4V)2r(ZOPV!9 zu6k0hdUeBg^}1KJ9DO0QD$#z*c5Qh<;6#2W4&yfj5@kXN?5WtUwb)drtr)8gR|YGd zX*f3w-&XV1VnWvJKwz>P-Spgh_L^=qWldl5ZP&CLhI7f1hV2C8wR_EyGu-ohTiO-@ z4&=ux_l*aJ-jueZmp#X^Olf;AZTl2R+i>`0X2Z|Z+h}Z2tn~Dls(AjI9yG{p?VfMc zt*<G_s^**9EiRkw(4lrE4?X4zhI4cYXWlB+LaJyra_=zUDgk`V-C zQx({^h3^>dn!YR*S(OnQT@NhZC2fJdb}(a_UelF}o;&+>!}cw@#`EL1d1sw_OwhX8 z+HVJC+E}i%4JYVy%GklIt8SN886FbpNZ>em>_~5!VB0BWec2?wz)(KAfiQ@xtM_@c zB}GnnN>t&kcWwzJJy}yC?^EI$+md`PTy0NxEla~(UoaXiC8kZoomD3aq-#b{i)73+ z%oA|w+Wf*SPvkh|TS3#20$Lj?ExjnW0@-D+>6_M^trS1ht=yA}Yz_lh%wZ4unfq1dhEBUoUO~hhJ@nqx|aZ z0$*nS$CSAF*-_&G46@zJ*&Nqn?6ZX@5QXATi2cA>4EsXMINL!aXqn;45NE@YHT(UX z(Jw@05#j(wxTi2z*oT-uBYx`%5|!d(uEs;mY`8OmG!FN`OLO-iUL)EedgRzgE3b2O zm@6?H;ph#<6|q0XUT{5K_z|&9B-J?)_f)t(8lItWXw%}%GI*JPs@p%`(|;6WL{yPZ zuvgfz#G|g0Cp$c2?URq~!1Gj3&*MArJk!(j#11^CdV2E3YQ?Fy;!LVMcPFX8!#UXw zwa}K>d0vTMdC40lEf(&3*RG|cvSoi+IL9C9~FOv zwlGoHL^_;ukXf8yb3QTo2l_@5zhmGba+4#8O=Lrh@U|j7c9J+9!M912F^Q8re2A@1 zy~mizBY2CmI0{tz+Z-iuij;gUX`eL+Tz9C40Fh}}JQ;F#?)ItQ2+n{ literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/config/auth/PrincipalDetailsService.class b/back/out/production/classes/com/petchatbot/config/auth/PrincipalDetailsService.class new file mode 100644 index 0000000000000000000000000000000000000000..7f5bc1c88a14e0206e65e79d5ef93d2d0678cf8c GIT binary patch literal 1678 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 Gr~U_0T6wDg literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/config/auth/jwt/JwtAuthorizationFilter.class b/back/out/production/classes/com/petchatbot/config/auth/jwt/JwtAuthorizationFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..0b0d74ca21e0dfbe6e135fc2013732fb4589b257 GIT binary patch literal 3837 zcmb_fX?N2`6usjta%8a?C^ZyHShE14l%*sPmH-VjVKaMIMV{CSvgJw&0lLz?&>gzb zyYKnWe}4Z1z&8A>V<`@_U@@Le zqA!JmIF!V5I(pEb!T=5@aYTI_P2!l2=l zfw@Il9F+cXS@r@a^!!T#>-uf4XqIJY7p!p53r&A~(Hy9griSJnPRR*-1pKzxK-qUn z`61sb%2CfhZwAsH@tyFJX^n&hSqdH73LURx?y314uu7Kl=uvF9pAu;7^>R{RPQO!< zhey;=PFRC3XLwrMa!*;lqrNMXjbXtF1h&;%vAxoelaD+!het#6&}gXK^L*!W^* z4I{V~)*hnbwLtIxaCBZq&WkM_EYV!aas`TQ{lnG;>mp(FFSs%^3t?C``}oMl6UXJN zBQglPrxgpzUMZ0EaM5BqsfA!A`xJyJQZNKvy$)ZI!ns3=l*ZaZbm z-6uoKaf$Kz`kmDnAFUIoirKZu3T&DhQrq)oT?|o+=EradteqB+7&n2WFJo*3rU$!% zqCgX~!zl?Ysk2iJs6Y#&sZUxt>8prTH)*<7DQ{*&l_YdHNr4mIc}Y!8lF;(XXJtdn zK0jcUqoCEmC4K)zTb5PY1R6XIWp3PIyOqRiXj3<*XT1^MmbB04Uovq7Z%`f>Sbr86Of)gtmdNa9!!Xq2X%--{4yf-x>HGHwCs#;T~^m5^~V+gMlCMlYwP; zQea?8hezdLJspmYj+%R|z_Dw+jl+oLJvaA4};TASP)n^(XMj>nOYC3QjhuZfJ+5- z*QfQ=)H%Ld$#r#B@=DpYY-ZNJYG25kepWF~$*wSKe6pJP3D37e1(~9}jZwj|+&qg- zSSSYOo(HeA+BdMLcgs_o1fHq3S|N}2h+(JJL57)EYw6JG6BU|td>&_@Z6;dkO*yJQ z4H1vPJSBZ+s8Z8uZFQ}+Nd!rDgCmZc6Ij|-ubU3WI-`P{snu7t$j;+}vQ1jrJ_B^B zJlQ90maiOj(czV~1|}3^G%<#IUCUuJwfWJEMZ0Kc*`#(VdXrWVU#!3af)XWnZLR1~ zDrVM~@!E%+Qf}|1xMABLSC+}6s7mX^6@G0TC)3EORGCev6o;vJb|gE2#~++#By?P} z*K=KIt5QZ#c2;9~WN?@Zaf1@4QO!*KZe?rNlq?&y2rMq4ycn9oa7=Y{-ht>?_Zt$o zBH`71&W@H^(Zmfpx2)mZ@>m>e(Z(-sL_0dDOuZ=s2{fV;>o`)qC~&XNwHux3hA}iI z(AAh}ypLI##&pwdG~a}=zH{9ev zz_>;F)c|$Q9?ao$Ej{f(hTgZ*{}tGXr|}fFU=y-@p21fBR@;U$x^M~IxWZl6unX6* zH^OCzyCpVYJ^$J25iOG%l9WqR%Ov4!$*GCneKp_zM{gJ;}dO=Doo03WT)LXgW*2oIbl3silOMbx< U>UtSQk+{0HCH&gQF@gR60+tnvoB#j- literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/controller/ControllerExceptionHandler.class b/back/out/production/classes/com/petchatbot/controller/ControllerExceptionHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..aabd1f0dab80a2821df58f9c928a15909b960e5c GIT binary patch literal 776 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 literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/controller/PetController.class b/back/out/production/classes/com/petchatbot/controller/PetController.class new file mode 100644 index 0000000000000000000000000000000000000000..7fff2b2645f98084681b9ea6146a98443351ab03 GIT binary patch literal 2439 zcmcIm-E$LF6#v~MbenW3G(-VE)7CJCFX=vB!wUE4AYZVNZ& zS~oHftu_5(m<-DG5)G*+=$fgzb(`FB{@;vD=hoD9RWVdkQwpv~V0MOrIGC?f!m4~l zcXZ0etZ7=V>gtqthLc^heTx^BqHdNIwZ*F}TaLS+)@nj4!>)DJs8d9e(yaE#vsRW> zQ9GC0|Ir*lL15&pRThQro7PR;oniQ_BZL10{9whpqkJbW0zQp}39prQ#Yd(ZCrFC~1~^yO0b6HrI5Aa7jdlsSY^x($u2(#{;%{ zkR!xs+$Fn<)ENwkRJyZYDX!oHKx0lfD;DJ_)ydyR@w1Q>&YkGlxpTat)(x7yGz-GE zSTCh6wkd6lk&c3H}|)BN#*JGEHq;7NmL|e ze=xc8YRP|4qf{FI!6jGPP0Sgp<1}BT_IDY>^oH-F{{s2ne9vS}`yB?!2j9(#L9m4PN*dq+whx`z`?-F|m zuhKe5%77$dWc~m~=mawAsUyk=-AFM;@fw*NqjLy{aG3T%x~J%uz6RzXLp*@Qh%iA1 zM(uc%R^i=s5{b~B$UMYgW_%NSG83EFn>n%xc8}=38-2tr3@2&L`1~#N2`>xcdqOm~ v=UhSzG;+Nk3XU}_4SPC(Xng1q;u{DH^~{UXSDzr!*NGOwaW4izJpud;z6910 literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/domain/dto/CodeDto.class b/back/out/production/classes/com/petchatbot/domain/dto/CodeDto.class new file mode 100644 index 0000000000000000000000000000000000000000..b440e224e11e709215c16445e385aeb5fd44c91b GIT binary patch literal 524 zcmaiw%SyvQ6o&uPOOmFe)p~bV+-Mih(uLwi5rm>(rTa-Tv{TxQq|-i?8$l3U_y9hX zc#;;Or62?Uxp2PoALje#^9#TQjzd(jS3?E+xg7X7^l?N8COS=SY@!KtPY{`owVCNf z%eykEao2?M=~<6ZnGZHPCe;tqaip_n6^$5ec5JLhJ(ZcfUNkFiU?zl{yvpCeF%y->tKkgnD1Q?%yeF$Hz3d_q23R*tOFv)^{d16$|=&sAfu_hETwR zFA%^dwElG^Y~`dJskAR2qoIx+TKqRv{;(21-c@A0j$;{=Td>x-k{pR+wfzBlE5-z? pS2R6ra4zNp*hGUXHp4dSGW?Fx>k90zg_~>P@+usxg?9>z-Cq+4T73Wj literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/domain/dto/EmailCodeDto.class b/back/out/production/classes/com/petchatbot/domain/dto/EmailCodeDto.class new file mode 100644 index 0000000000000000000000000000000000000000..2cc32c948691e6851d57f39bf4be27abab855f4a GIT binary patch literal 999 zcma)3$!^n76g@9-hB_u`(lR71L!m{9CGY|y79chZQlv15RNXuFQ|ci#vAH)JA zA|w`k03U@o*N&Qyc){l0_pa`l-uwOM=Pv+HaAcx_TU#jOwv;n|+F6 zU!nXg2!rIgLb2OBQ7|&{#vlmw+jC(%c1IJ+wFZ&rPEOo7ko#h2B&Welp*!%Rsq;}M z-l?06qQvndS_mCKiJa7okiJYJ>i4?+{-&?ZiFm1vbuzrnOMgt<;OxUcq3fKySiu}zB$Wx+w=ML{sG_^wG^VLBoRS1ft>_)8PcKfgq(>RE`5e#d(3Ct^|>0lT@y+* zJYlGHrpm}b^yEbLeQ~aoHrz<9CJfcN;L&{$;Y3c1P@ZtF2PBH0N+r!1L!{p5F+?x) zKrrOnQidD^VF zK+}p_#C8Z%R@^*%g|l+VQ4mn1A|+Ck=T6lHd+9{FWj%&%V*W1l0_TY=)(hqSEL57a F%HQMvd*c8A literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/domain/dto/MemberDto.class b/back/out/production/classes/com/petchatbot/domain/dto/MemberDto.class new file mode 100644 index 0000000000000000000000000000000000000000..c0323e0ddba4c3fb9b56c9918947844d88562b92 GIT binary patch literal 948 zcma)4U279T6g{&^nkG$?Cbreouhv>jqqv|CK2!v$6$g%oZ4sb@x! zamNuCpxv>F+!xtGo|%Y3@AMWIvUp=>+!0vyHC9pPsx4nMN-NtPLP z8P(|PC}HIk4XmD`iPkaJm|(wI*#><H^Woqa^kX1&~oL!%YTzH zVfDWksG$Nw!)+{Um`71V2}OqDnX>*!Le;cWM?ZqgO1C`<5mjx z=OV7Mwstq^!D;kLrQIbV4$w~ez(Q5@K^YkZlyMEDOwoPX#ZsqWpOHC-^pPTl8}!e` zIf?KU+)VIKk%>>$vfTKB>^WqC&s@RZq7&@`g(XzuJWYd8LU9ukeSp%~SUyAUQ=CrA zU6w1jBdp_Yj9Eb*_pp)}c}ggTHksYJs(Z{u_JfBki%{gduf#MWfJ=eqNZI_kT2OzO>3Hu@0@5Q zyH*oUQNe|}s2>UEuqhlvHx=YcC;AV%X6jarAge~m*lx>mjk?%3n#PeSmMzP6b=R=1 zrh*X<{*%@aPSa?*!m0>uqe`QhkQWbxB^=!q)qUM;34&5hSFUTPeesM`K5cmTjr(g` z<&E-zf{f35t*#qno$q43=Q@VRJL^Ms^k(x%+o>vuJGLoEI@u6ziEM*xTdrYha)+D- z_KcdPyDdj3c-MCuyk0C->^gIGE62KfWV>3`W_(Ml+f`v|JHjn4(ZfVY>f4qm+nc&| zDzmQZjfSYMFzbX*k&{KkGTbG$YIcqdi>=b5g29quiLI7wP+4c`y&hI{b6;n(xNdL8 z++%}jUGK|o)9W+C-nhwf=n#VyP#xagf!FZiC5*U|#+&)91<9P&eBB$D(rLJk)zMCvOL2Ujxk`X+dFFZx+cMRmy^G}g^4mFBS z=sbgh#mJC)j>Wi&f){qgcN2u2#M^j>LHNDEop!J#Vq~y{%&99K`9TK@5hpQOB;Qve z@Rh(_5|_T-}l6 RjP?olB3Sm$fGp_>@ITJH6;l8J literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/domain/model/Neutralization.class b/back/out/production/classes/com/petchatbot/domain/model/Neutralization.class new file mode 100644 index 0000000000000000000000000000000000000000..c9d22b0ee6d7160b67042512c29e8f7f61fc5b00 GIT binary patch literal 1075 zcmb7C-*3`T6#gzP6uJ&Jrs!}wb(>PQQI}|ZfDp`riH1Nj7|G((rK_w1iyg z`u4k1fY&TTvKr$9~U4 z+xMyrnRci5J5<^1zi1scy9~Q;=F5^g<4$Ca7>trWXQ;eS!WeQb+q2q{JFtQtA2{@) z#5p@}85*V5DL><*YY#mhMge7#O2Uz@na(7*K9#!ZMQ&{#)pZ(=+V!Krv|iexBP+Ah ztB9s(SQ0z3tYH@whVuUpUqbrM;73`x`RJtDtR(x-~)3{EXG zB!SPS+q3WR(Wp8F`!lTBtkuRIEv`n}E;UvKIY2k@14~6w5P4)|kjDy$nXHF&i=&Rg zJ|S@l=>u5|H|d{>eG=gdxHZ8)MIwGx^K$t!l9!MLJ~4y8O)uIN3aco_e(DCH1mhkg z`T(W8y>@}r$JjkhcO98e+*ihxzSV(>& jmo%nLI+Dj&=$?ZKwyWY)k|UZ?Br%Bz!vkuEC}!gq=K=SV literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/domain/model/Pet.class b/back/out/production/classes/com/petchatbot/domain/model/Pet.class new file mode 100644 index 0000000000000000000000000000000000000000..18507ffdb7e2d0d0e3ee321e8c62eac1d9bccc91 GIT binary patch literal 2629 zcmbVO+fo}x5Iv(S62h2^<;cN+uLyxrF3uGP8)Ho5$T($GROQLFNMm_j(k>;f9LRU% zDPNIPMU|>Nx@TJ*g^Tsq)*GwZv7C0b?mF#th0^nZ$anJ2hzTV#eq_ouDeaE zvu|+(c@7??yjM0S>{@I}vSps%%CSzq^zVuj@g#1R0%c-Tg(Q%wCpef+TQj=mymS?Q zE=S}&dFg`2#b)_HCONCs@?QvrrFhAL_r~yVYmW&>6F*&EK2<>QjmXjIE%a?V#OWAd zD~$Wd!RvGDoUpeqP~MO7M}GDUnbFV-9db5vAMDNOpGPeaR$(?s5}N@RJYUp2PV)g11=o{2UE+0- z=gWP3#3ShimlIq+=HHygRm}5>r0JUw-ex8B_qnp5=&Nx)rVO-YVtme3aZOkLg8IXN zF4N|j1k9bn94g#NHFUxXR=Enm9a;hSm7W={ivmzt86r_x9U@t|GeoLVN)3rzN)M4a z!Jel=U^yw4lVc$lSk4T)P+~C)Y=q?7@G*mYL=RMvoroap7L5!^vlAgwW+!#0p|FN3 ztuQ>IcbaQa*d>KsO4yMX*`4B5G+s-zW!AsUj#b#26~pJQk1*m>G%S>$8WzH*D3b)? zQ$+H|#FH2#A~x&W3}hB7?u=|31E!r-KvW;F-wauklSpa55Y`8yWm>B$500g$e20{;VJ7&=S< literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/domain/model/PetSex.class b/back/out/production/classes/com/petchatbot/domain/model/PetSex.class new file mode 100644 index 0000000000000000000000000000000000000000..68b556880e9b8cd3bf5e64ac408679d20f1a377b GIT binary patch literal 1014 zcma)4{cF=u6g{s=n>NkbEoyajI-Q+MI&B>I1ubJ^bf82hL<_^8UbEO`f0Ghk9jck1`KP4Ib(^uL+lJ?+mF1L!?5f1U-NE2Cra9D?;XQa!#?82 z+zNQqvz(;wN4=&wn;_keT^@9J-xp0Mo#lv!M43E4U$~<7SFkMjp4YJQ4Do1`(_A4f4LONTxg(gdn)3PMegflica>jvL)=MyO%Qk zCXOFKUU<+M#hE@h`ch~741NqBt@YgOCS=Ku<2WJro_p>&=l;&`oO{FXe?R{jz%5kM z7{vPn(C~p8J~XhDrul{%ZmPXoN?KOZ?NRbrHE@SvuqqDsgtvCc?Iy!$8;E5+k!k2fQ`i}5huH%bBxj~4; z_VJE*LVz;+LPlVZ&CbOEAM4shuxI=W?&Gul-YToHu3^MKMfiA=5{USHw)a@nWNGdT z2IfYY47V6`S2l#lkW~cCL{b=OZ$)(zJ!TOElfA}~ouOUHYX?={3aK`0+*wm_8O#Rv z8$q3@Xq$v)duOw{MsP_^dBQ(xN(L(mVKiJu4l$)0GzUX^*FExTV%=87&i0h)nrb8q z!^m2&Fk~TvA%>;@Q*jIL;!O(^n6xmZq)SSA53_XQJ=c}K^mwZ(WW%ld!zp}Z;$sVU zagVmoyE&*q8fDyP=$5}8XaG9M^Y0k$23n& zJN2s!tSOj8{>(W{+j;69i16+O=dJUabiHQ=KBY2MT=(FpMP=G_9O0FlbRh+S__`NF z7$ab0gFE%6@Mi+YQa_9yO~moxvzCZ4|FXxv)ABv4FhrR*o4d9YB?A?Pt9|*!VPm-b z?{;{L-mgJ=xf1lDo@z_fRx}TQ9v@_B9HCW#W=69<{}b5vZ8P=Yr2-{hBiRb&F^toS zspg_F>ih!|-(7GvVx6fUW1N#0oy}P199|Edi|xb+=Y0N0B;s*Tkd4YDz^x=jgi7~~ z_&CY`8b=YS;?NDFQ8Do+on_G6$j^TZT|3SH3hf){$i_WG!(VP z-!PcdUSQ+|)?!XOgVC`ti#nN@#Z*pLHmMgFJ;6{;&!sv>+9{ot#KlT&1Q@y*H*gtO z2;n$(F->CvGq_K!afN*6aR+acq~R0NyhDcsd=S;4$?;g<<|6Kb^db+0u%(+NNtN zTWSzlW;TBUWAO|FUn#v=)YL{!3wKOKA#F{?Q?nFA4bM)}{{VAD0X^)vfjmhGq;VY! zgeOU4Ok$BFtxdxNXs<}25eR{{@8J({aN-++-W6-hDqAD_@^R9LKf0@oyH!q`- qR0%yN2)K9=^qz~5>7p;R`Mr(}n$r|z9S^9CITUGa(z-<7m45)>QPDvF literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/domain/requestAndResponse/DefaultRes$DefaultResBuilder.class b/back/out/production/classes/com/petchatbot/domain/requestAndResponse/DefaultRes$DefaultResBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..cdc58012b2008fb51847b0ec6bea15b84a871062 GIT binary patch literal 2595 zcmcIme{UN_5Pj>!KRIGzLP{x=0x4YFQUe7-8z-f46B^{CK&(`#|FE`~Q9)>NyuLQ)lKs8X|!1qG6qry-gP+Mz1mQQ5EmEJ*P zPX~^7uqrUyms+0Qd(eHXdYXIXJ?Fq9YQV!YoenjHrsFw!olARppNAv5YTNPD?(n#) zf{yIEBPzcq-F+E2W*sYM^`R3A%->T#%b}}(P~pbVar-I|u(mx<1ua*Gp`yt*?Vf+! z7%1I4l)CHdM&Cb{j@Jm(FGCgTyI!A%N5M4`u%$$dap~}4`;;S32V-a2)1hcGE$ig@ z*4|#84kE!GObu-8-XlAE_tW$Dr~eOqVgPZ0PA`D(ZC>M);Km;3yQa7WR_t>DvkaQ& zJ2`fsr2XiX3oH<6!rQl-o!cpWoYwWMitT039|k?O<(Su9O2vDb2VF_bXTfTjFLaD~TAlB0Fi%YvTHqfAwagGJSYWEDKyXmPe}P zdp)TiI{J_j&w83|@zxnVN;w(3UBn%eunmEwBv8kD;vcE_QxFku$)5Iur$yXjuW$SQ z(QqK}Yx;S|hoZ~4FTK92!llS^HOrgQoI2QHBc5RXC}lrRZ%P$Iw503qIa;k2u_C5UtdWsCj{;{_IW-HE?s68K^Y!Ntzf+jO z8ypKGWf_ZPHEoeiq8x0kj}vEaL#cq)-OFnuKpXvEZ|~f5(CnBb7l&YjQ^&%!o4{rF^b|L=O_wN%$}Jd%CkvO5}}F0L^y|e zQbh5*Pw4|J#bn>{&ycx+g+Gx0v3|m=oiMBu%sxk9a{i(VS;$<7(Ii>BO4JYW5l3?| zySxX(QcE+upksI$M=ir)G=?J|$6{lds~qaMHk$LeXjrHz(dJFoPz(D ICV!v*12!k0fdBvi literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/domain/requestAndResponse/DefaultRes.class b/back/out/production/classes/com/petchatbot/domain/requestAndResponse/DefaultRes.class new file mode 100644 index 0000000000000000000000000000000000000000..3b719210e26c3c19c26d0856bd3ac0a0360223f4 GIT binary patch literal 4665 zcmb_fT~iz96@Ff6R}x}nurN5-P9Q06g@BOMNuBWF#0I;@0g@PMH+I^3kv2$1>=NzD ziTj;@k;zT(>Kk9QGcn1eGoAJ(o#`*?Mbq>-`>v!FQZkIj#=IZrJ^P%G_nc>!fB)~R zzXQ04PqG-r?E&QQa~a-~;ZByrT^ZibVi3QO;g>S}N``xB*fQTvV@GsKGL&U-1nUD? z?aHc>r-fP?`wAyloe%6rEx76UR~pq?*{Lg7Yp(0mS8BHJJHA5J5A2}fuXtrgL9Hna z)gAx9bA4yS@qK%j(){{;`++@Qv)$eKt)O0YcNZ0mvK`o+XK(M^cS-@z2DYlZE>Y`z zIJvz|NouL;R)b3lV}-SDwCP*K(;f`1S6yebvA^Tgx9y!;Xx%H>wOe+*D*H%i1eGeC ze|5d&?av=LL8)Q~J6!*)22jFqrvvCg{%CdI#pigC_1mKY&XN z@e)y!%$&lFo)PwgOGsyFdm)yuD8rYYnu(_C@ApFNHay*D7%EVx96uE1voA}{Xwo~) zVqYut1vJ&JmZ)!d7v=8=;3-*XI-lEhf~{CjCJWQ-$~>jbT5dJwDMr_$HPh5x4ZE{b zq1B&eVLI%}oZo56D6B~<<|*#7HCpI4CCX_kYhxW6kuA|k734l;!LGDxY>}RtcSt{; zg6Rbnp{Y~S;Zy9WPA(b^kGtgqp}OXztk%(+*ZL{hrK0q6j@MAy+prHJ(#e!;_o{@T zkg3>yMKhN9&ds%rtBj7ml4=!(yS+1~v@@B&(*&weIA+H&Z{xjGqns9c7iH|OTDP9v z@*4G$bFC_@I@GT47o~(01~uc1 zSN4Ze2r_6`cz}<1+-@SBEpmB5D)w%?=$j?oPeFAD%KGA);wf<|4w15efd@Qfw$*G-#FUfHM$>fhYmPsqH5X&9L{}1%bUe7tZ;&49cVqgk`s;Fd#je%1s)4hZ#vc{Vcb)h0P2suk z*TeJtpd96=WD*Hs0-4iFmLW`V6Gc%&0G6{)M7MXfzc*aym3JMj2J2&}1dh&7fvNz}X1!BhC`i$d^dX z9uoHunVCZj93m^=I-)a3aebB%okNECv6!DBOfa^yv8YB`21g=;gvA{7<57uZf)btK z7wHUnH*#i@v;52a4TJA}0ZTkkvG4|>r(UL%jL1=Pa+$N_%PfA5#A7bB(>fzo=%7xh z8Ku3QVv$ISm2hhhxMVvA8ZLKCI1+ReQ`|e_DBOu-!Rb`JM*m*NLgeK-;U!tAungP9 zr`=44xVjEftzt_>#nz5r&UE~XSn5KaVQn85SyxyuSh7{y> zJmNEBXE{#LYn`7rxZ=xEN1>jhtu%ESGsQo{G#=0V6S>b|CLhoI1G$aa;vr6iTP}uJ z_d|b@Gj4`Axf@TBd5AvbQ0rFJqNI&$56oGHF-2GO$hdxyF@=JM6Zfa+L}> zLMNjUU7*IePK-6$ejeF$=D#?RM$Y;MV`+@?e@1ZNHA&t%jkmcnVqULC z`ID^OfblI;XE19@F;P(JTRzs_Cqys`v#HS3F*-$5qX+M_2xXHX!cTb#UP9+@{wq3$ zqjaEit;s4M#njHQNOZGK;$222-1jkOgY(fh(p--Q%Y>v*)cO&6uQ!m$r0J5eI%~d* z^w|W@bkp5rruAxzl`1czpWzl~gAorh-;A2FLB4Ot$n?L#@9|sSN|o{qHSY6w@Bf=` B0RjL3 literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/domain/requestAndResponse/JoinReq.class b/back/out/production/classes/com/petchatbot/domain/requestAndResponse/JoinReq.class new file mode 100644 index 0000000000000000000000000000000000000000..3ea5386fc1b57064d96f8467fae2c50f1b225f60 GIT binary patch literal 2249 zcmb7F-EJF26#mBE^{$g4y+CkNB%XoC;F40#c-MdN3W03ToH=vOneTk(%=q`epZ^TtCaNin z;JqX?TvNmQ2Ck=QzM+N>)ZR@cttjc%1bM6(xXmz96-WER+c@HOlVPIrm_OykCU*{s zd(yL=gEB)pFnPdz|0~z4GbC1R$Cl(A&*dL6XzOlWFpO1fN8CSF(H`>sCTS)rZjCn| zanDxkP^rm=?K51f)ZC+DOUPP-%Y9cC>n=fXik^6KEPQ##sqYHE|! z-IWdDF=SNQ^8?_=+gpRW3w>t2<0tzqd+O0W$!mvI-U_KTYuwpTKpD&i_ZvZ7s7Tv{ z{K~;NfH8vUh?h-JlH^QhV;PR}-7Is;m{({H3uDMwurO*N zjZuc>|65uM@8As!)0nX^tE7ucdKWq3?XK%eUwXV%6|&*h{jmf-H1UyzJGe{Ry?zZS zPhlPR7;+)NTp#0WY;i7Fb`o4;d4`!Iekj&mr^e-Hwj|OVUvfuMu~#BGB%)`ARR%T` zKB9WQhtGDNx`!gXR>66jye3`mnSoEJC>7T|JZ=%U+m0i=^(I|6K_I^F2NA{ysMz98 zy(#?pz_C0Gqfay7`0!avM3{fkXWwb;~uXl@i1zJ;!x7Jh~H4fObF;TLGt#f3BI?Ij6``-?P`w58uLlGR>d z`~=ogRy%{yu`o+InV6+SR#!HO7nnG~XjacAI!4+lofXIVN^J!gx*0cc36}}s6!tJj zV+`}SN3C(0d>3#VZ;_Iz770(B$e6(r zNm`qR9cZsep%D#?QR-mq6&dx`F{PM--ZALdXoD&;qw}tI`+tSbR5vfJl2i#jCkQxy i5%j)`knW-{w)tJg7R@P&vWXokV-_V^o3t*|Z}lJTTEhYW literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/domain/requestAndResponse/PetRegReq.class b/back/out/production/classes/com/petchatbot/domain/requestAndResponse/PetRegReq.class new file mode 100644 index 0000000000000000000000000000000000000000..9c965c09cfbee056ec8c7e24ae388b54e0bb92bc GIT binary patch literal 4443 zcmb7IOLH9675?t1Uo+D)8p)Pnh_MaGMlXB7kU)BD5?k>rk&Gi5^Grf()M&;Ub;~m? zgGpe+E*r=SipnOHD!g$ONmcArQIJYDq>3f0RAt4AKVbsj>F#-|EtHb_-gEEyzSH-d zd(ORG^Tq!@`3Hcf@OBP+@KP2QUY6z+X?`Wmuci5oG_RU)bL>~7sR@2nBu|>xq*;@u zE=@zUSI24DHxVf0H@uA%uXSd_Z8R0e7p}V3-AdE-*DA|ltKqLz6|7A!Jl*oVRfR_u zYQaW@<67MfSAwvz8j$E$HiA{JS&2X-m;_vOH#`M{(y6sXSoYpfnB39AB`+k3CdR~s zw-vVBX5&paYy`f-+>X>iG))*M8h#^uMqy-X`ig=!&owHHE;M}a;+FV)*tXt0CiLQVZ*iw!)M5cxB7Gw&k_MQ~v6b*WL{LwpZcOm%Ozl?;2lST=T-k{t`5t54NbgOo4F&ty_wcucyVxG`d17k2 z%d!!90((v$nc9WVLd(Up#OrtvdmYP>*N^UOEpb}R?M=)Lxn0@Wz>wEs$Y3hCP3Fpg zzt65*^=e^t`XvR$D(kPSM5UkyVclyflqA0Of<+Zn(p@Kc=e0H+urzLXilPO~4KqN)09goyQ`)Y+je4a6p zmV>QU%{$wW;xAt6lRTJue}-S!xX5BejK*ogP%-^B@N+CnjVpb+CJj~XP z0eA$H9MJ_FVS9*jkNh`e{=$iVaxRt3ic2An43qPzWL9blSsNzXsbp4o3Rxc}7gEVQ z8B)l`Fu9mY=82L*HiyZhspJYCOUMqxn_-ZRnc3UOr0>(O>=N0L+QJeh7s->n@aoJ2^w|ma$Z1o0;1FhDmev$N=~s{5Ku7z70Sg9NV`SBo{F$XSCD&pr{?*b-F>n@5W ztZ%T-#2)@z>Koi2i`oB6kKV!9t1@ppnkdRzqOl~UVpYM>BNekLB3Wg< zqbfQ^q%yiH=2*-cb<9Y`^h#J}M^$pHNM&_ZOgggmr>DRxu?LBtBlt5e;#vBq<4?Fm zDZ@?sBYsKWM~Ha`OO!OGL>@M!>1?`inWc>W2Ng7Vm6J~S5T2>Eu~k72zJq#jPNER;AShHKh2{w+$#mVA?1t@D>D9;b-~;$j;!C?fW2=*g5KscUhQ`{||q|U_M*Q_gq>(iv(nJo(db94b`@girVoQVVG)V*e{$QymwG0St+@X6YCVsn-${BaV>Aw zy->lPsce{>Gf?q0w0ac literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/repository/PetRepository.class b/back/out/production/classes/com/petchatbot/repository/PetRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..6f0b222c07f8378c64505405b50cdcc517760187 GIT binary patch literal 344 zcmbVIOHKko5Umzv05^t9xU*J-#SoV!nn^Tpf?}pX*EF?^S(%y?+3}6fQFuWH8KNWMH^()>GUm8+a>fdM0ehTYOyBT*kZ*wYUxHyj>}^ z{35!+iXveh2$h3uT@-!Ahd}egG%HGJF>ox`6qgdQl9rsuRw{1ri4$+9bnhcu*8Da% zFj~k?OTKeWvNKM=j`QYc!@%_s^B)WU;0CTbiQi)kOisF{Z@|D=ieCC2r0#s5FQC7# F**E*UZms|T literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/service/EmailService.class b/back/out/production/classes/com/petchatbot/service/EmailService.class new file mode 100644 index 0000000000000000000000000000000000000000..55312a52ef6b98f1f446eb689389642840abf9e9 GIT binary patch literal 2759 zcma)8TT>KA6#fQwca~ulT`#yA6>pJ?vR+X^jfxT>ppiw?n2W>GECaJMo0$eR=3*tW zV#P|84_f*V^O9Rxl?OEjFG=MG?70Y8*m)6o(b_NHsd}rjDagbQ*}FD~h+&+^vQlH5@Z2c3e?!E7=n| zdJV*piqrBb1Iut)#~B0f;H-{!HB{PeMnk;Y^)gA{9@;UI>~=F5;k9X~7FpA>Q^FY( zo`!7&k(_5anIX^2iu0~Fnp6_W5p&!Oh%OR6Q#v$J!v`KWmPPAToV{ zKbO>ZHk90|7#|Ihy_RFi{q$G;D>!UMlBnoL_onTliOPD#FjDTAmlhqCLcTD7Q1n5w z3aN%f@0cSQuYSw7825vY<4RMxl)fwv!e^9)D=+3m^0_->NMN~!+UGuP_C#7(<3gqI zzDu9zct3^@a88FA!vNAMSi+YvtiWqJ24fHy(y%?KoH@&4R*EnxC;K`!?~b7btiHvz zl^K@4>ulS8z%j>#*UZSqFbpe(5jBjeVFz}`U@IyMN5k6b-2T7xiowMm4GRvruJom6 z=6Zx2b_e~M2y#(;7=x!wwkVl(Gjge1`swgvkQk%I>9dayjEFRAZKYxrE2>aLtlg=6 zBHS4Vl&O6U^D{#BPRD?rsV|#w3ubmJhQ@M+SQH!UXD4V0r+~IirP!92$F1vycE&_Z zd%~2WB%E|y5#ij;q@@6BE};^X#lli3bzjI1&t=bAQs!n#B20-s-rV4v8Y@OasTFEA zq&hI0#mfOGV>K#|WzZJ-JTol}jN`n96Zt!j^FQ60d~o&I?Z=Z}->B2-^50#Vymoc+ z+7HdfBca&`)cwY(-ibv@9lBITb-!}hG_0Ci4r}=Nu#Ddd z60?A5QJyp!tp1BBJlq^2fx1Ub&Mjx2)*upux zqgK4U{v^!rvVH5`f^TfB{onAls9A*`fzXNDfNnzQA_1a4p!cWgRU^@lw}Zh2?*2z@ literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/service/MemberServiceImpl.class b/back/out/production/classes/com/petchatbot/service/MemberServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..e8b1492f5ba7affa874948b380bfc6f58d457028 GIT binary patch literal 2723 zcmbtWU2_vv7=BKYHffS3ZK0G_v;hjFZRjc#ga#B^N<|w$ibYV-&1Rc!+3beR7U(d{ zaN&hN!SOe6fhdK_j9z%bj6X%jf8aPiXLp-~kTN(!x?y;YfRr$fRsYO{BYnoAwNY1+%quc)_F#Z;}bvfxVf z`O#|vkr~<*NY5LVetuOtby+Q%q|k3oH5XOKko$lbahHvnz*wuVHQl*oXnNr2g1W*%^ zYgJtdMDj_zgV(&c+wYzHZMshQbr zW!-(r;`Z!lyE)Ta=W8@xPwQakG&HOw&V=J_U^i*?qnLk{BJ2FX>t#1bFF7MM^%je1 zf3rZKy4i<-w8aRgo>QJ5|KrBssPLx}Z?R@DGs~*8px<2Op`LGs6gVL;&>F(C982DH z*u{YR*Cj{nOG-_4Bek_k=CPX>^Z*2QB8(x~(Y)~cWSe^{yM}8A&xeuWb2oQogvbkQ z8~Yhzd;_5n3c2U#2tSBCAUTXZe5O2>A$|hvLNA+dFKHQH3?tab9Ti|d4p3==9|Kv8 zQtcS2F^Ip>8>Len9syARw3&f%Fr?FpZ87_yj>u;t0RNjyAb4S9f79a3O``L6Aqt zci3}bg8820Tci>AVHx-%wA4wrj&c>8fXDchnJ>^unfdhC6Ko$Fe+)5}dyG^gzETM2 zY07rG4kYarl{`<&VN6vqLYfLx@Af2tuD<@K*zps>QYo(pK7FOV6v%TI!ihS*lfb{5 C@6%NP literal 0 HcmV?d00001 diff --git a/back/out/production/classes/com/petchatbot/service/PetService.class b/back/out/production/classes/com/petchatbot/service/PetService.class new file mode 100644 index 0000000000000000000000000000000000000000..70e6d69727ca197211a8b9d60d54ba19028a88fb GIT binary patch literal 267 zcmZ{fy=nqM6ot?AZ;c|!D+no)#wjgQ*$6_wu!8+Md$O+V&gjhO!&&43d?;}?u@X{U z`0n}c&*ggl0Wifd!Bc{PVCYzsKG1zJ2&QkJ+SY2%pto7r*r0M-XQfe&ha-KMnLMT6 zTjQyskg`a5_;_CnMo};YBV3qoD|r2HQf+fqjr^+(R`%#L=Ve8~bEGS}Q>i)GWv5Iq tez?Z}bsPO26udN1RmJUUx!F;Nomd(hjDb_k%}+k z_!3{K_*%s`3L*t7uOPW%+4;0n*qPc(uUPrKurmr0MN!-q_PQupj^SGNp@Q+1tW`{x zgqz*f-EGTF+m(mu)sQt2T4`DBK3d29UbQKGTWpax99P(UpkR6=?3%NRx?xhlepxu~ zoS9n}PRTMIk@k@C>ta7Mx~U+#VC95@wiUw^Yh@YGeSN#Y6~>&^3!A!a$a%0Bb$1O% z!El((5%z(R^{_Ym+vQ@ZK$*>6h>}ggRM_j^XjBm2G0dEwJp}`&U=$feA;>XlBcxT( zSJ#+%kb969?ot)OqyLu4x=g-!xoQ59S>)CfWQO9?sy`$j43Hy3w z8cs}=Es>AP*W+lK%@zWd$cQYj_=Z)svtr4RC3T(-Rpl`$w_icedYL<26q|-)u+rvC z({jDUu+T>Q##54qW5;IZpIG+ev@CmJxrZf@4&X8x#xSlSjkh&i#uXLcYS6K*BC8>X z85Kgq4)Pi<;*yG84F>i!JVrso1@!P_mV%>j`@8Q|6g8NzG?b*rz8q{g8eEhWTn)9j zV|&E_HDqug2WEOOWLvvUsCc5`DR|TqM+I?rdrxF#4W9|Yb`-KXZHw6L9Q}YBF*H(D zdOlNT^yHF){t)u9VBhqln4Zfqa0Sl87V1BfXZWA!KtG)5AT<(D6;P1v8Y}hk7|5=h z>yR{=vhHx&m-MXvc_MS>f4;CZtG8gGpgRsLAnchzAHSZuKu|>3I@l`s1(uXe#JjT7 z@EYUuw{VqXFK1;mAj<2N)YwZXt8#2uOZ|e##A`$wur)sM5{=Jk&_Hkyypdx!K`uZe zd^f=_6TY9TDIW;eFu)lhF^D13#Ar2)5h7^(a2usvg!gQKfrRZqLXzCERdTE2uhG@R5TGSL%!zKpAb*B zkWh<&^VT&E=VqcD+h!U$CT3#4qy6FdL{GG*u_yKl$r-grJrdUMK@CvYAnAtCNy1B{ z>|>zA4DuGklw#L?%8J-bMeI$ygXYx15PeS4e38(D>xN_ z#1G&{A;z18rqXg^4<65q=gsr;?62S7e*$=fyG>Nlt>Ib|C2y}caRWDNxW!O?th91_ z4CUVLgrPDt2a;i9q_ljI#i6usL^z{JXJjHVn+U7CzX(>`kxCi5qsYWOkuEwCE;Np( zPFS~}Bmp5MB27OTd+vIX0P%){fsQ|W)h+S@ZO{s#p0tf74l?=r4Xyo9ZM-KOju`6}=S)1v*P literal 0 HcmV?d00001 diff --git a/back/out/production/resources/application.yml b/back/out/production/resources/application.yml new file mode 100644 index 0000000..8759a4c --- /dev/null +++ b/back/out/production/resources/application.yml @@ -0,0 +1,38 @@ +server: + port: 8080 + servlet: + context-path: / + encoding: + charset: UTF-8 + enabled: true + force: true + +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Seoul + username: user1 + password: 1234 + + mvc: + view: + prefix: /templates/ + suffix: .mustache + + jpa: + hibernate: + ddl-auto: create #create update none + naming: + physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl + show-sql: true + format_sql : true #이쁘게 해줌 + + mail: + host: smtp.naver.com + port: 465 + username: lightson23@naver.com + password: anjdianjdi2239!! + properties: + mail.smtp.auth: true + mail.smtp.ssl.enable: true + mail.smtp.ssl.trust: smtp.naver.com \ No newline at end of file diff --git a/back/out/test/classes/com/petchatbot/controller/MemberControllerTest.class b/back/out/test/classes/com/petchatbot/controller/MemberControllerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..0188f571c7996acbcb09904cbb347f5ac341dc05 GIT binary patch literal 625 zcmb7B%T59@6g@>?U>rn2R1{x3aADoC(3lt#SK}i>*q5=vl9`qa9TPuG7n->61N@2KE=! zyPsMa(Oa5?4jO(|tPH=3m9{+_OA*oC>wmxu&Lk}g=}{W(Ph#dmETu<>odI@GpkGW! zjwam-3}sqz%8YVh?-}eNJ9a4+Gq8ktT6>=blq<9Y7Koh7$X&`Qx%`M+ZSD#AZvi*+ Y@u;-&L!>+tsS+u*SftFbL@|fj2k7yUz5oCK literal 0 HcmV?d00001 diff --git a/back/out/test/classes/com/petchatbot/repository/MemberRepositoryTest.class b/back/out/test/classes/com/petchatbot/repository/MemberRepositoryTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c3dfd9a560b65248ae720246dd9583654dd8f221 GIT binary patch literal 656 zcma)4%T59@6g@>AiXiw7J6A@Hp{~?KV}d5GP!k~RJ41mY(~?f{@ma1+T=)Tgl<{^T zEGEXdx%c+m$GJW2*Z0RKfHUkCv4pJxwhP!{s75jhq;1KGiIp?^1w*Yh)lNmSt6~+5WkYM@gi}Vx4ChT_2Rxowr3Za0BKd6WBM+p|G4G4e z^Kr3g;Eky>&&tXkjV;d>YfJm2Ldme7-YTAD<}1zXs4;)3v~pJrO9zKthU|^$QG2DS zw7j4CyLJSv$*|Ehp%{0CRsK8&vu>zp?~^py9};wA?1;A5Hd7nQTjgih(mMH~`bazp zhST3QF(kC3Djpi` literal 0 HcmV?d00001 diff --git a/back/out/test/classes/com/petchatbot/service/AnimalServiceImplTest.class b/back/out/test/classes/com/petchatbot/service/AnimalServiceImplTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ae91a17c24896b45dbfd20321405807a251055ca GIT binary patch literal 2044 zcma)7TU#4d6kR6)CJa-+6pF32kX{3%9JQ5RKy093tAW-gf>>{pa7a&_%*2@q)i?iv zFFxp7ANuG+y?lYT>JRXzh`+(leP%)u(~!@Hxtu-g?7i38`|SDipJ#snxB^qhC@yN4 ziGj!PnvMuw*YJjpK3wd_QCu3pWxT1DvpT`A>bQpM3N@#e^E%$bg2KJ6Y&Qmw#-fHL z9XGM8VTB=TIYowe#&L_>v$ijnc*ZFfg*(SESP_0!xI3~SZkH<-!VkEs?fu$2WcH*dD{xFiyplc5&M^%i^Kqe!=s?v^~CU z7JSG3nwyOcJYDsjhtd^W)gtAvi;TTIXdMGS6ZbA^_iOtdg=uq;n&a;b#tO) zpjHquklyl_Rny8j4A=gDq;%f%U78n-SUM>|s$@uJI<+K4P`;`!Ev{^o&852crtJ_G z3g7VCS*#|6nq3_rI`uSOW|Q|@nxwl{O&65gV55%9G(c$5jvO!uy0YGY)T!-Ln&zOi zw@JIvR_*F|)gfc;J66Ie8}?2(>KV?p?q0H}u=NuE=Z}C1`j3p#UnznU>h#eY)X4=+ zAbRVg=PUG#(nYg_R;TEV)05G&cWM{xCwhrsobCz?43SH~2mwgoG_8O$v^f%NevID0 z-P&_RHsjHF&n|j1&(XKJ3vG4kSHz}MPthMmss?=z1JgAa8+1FehryoT2^LLdYZ%)2 z8N&)u!%I&QkD!^wDQFb$7-cYq5h5~9M5c+v0uflHEGFpdM3_N6I|GY2i*uCm2(IHi uE(BtPe3FEYVX{Fz5%2=~<45-}@(YGlV48+>59trm<|$f5DCmKLDd1o6%Qp-F literal 0 HcmV?d00001 diff --git a/back/src/main/java/com/petchatbot/config/SecurityConfig.java b/back/src/main/java/com/petchatbot/config/SecurityConfig.java index 583f077..85c5d2a 100644 --- a/back/src/main/java/com/petchatbot/config/SecurityConfig.java +++ b/back/src/main/java/com/petchatbot/config/SecurityConfig.java @@ -39,7 +39,7 @@ protected void configure(HttpSecurity http) throws Exception .authenticationEntryPoint(new CustomAuthenticationEntryPoint()) .and() .authorizeRequests() - .antMatchers("/", "/login", "/join", "/sendEmail", "/enterEmailCode/join","/validateDuplicateEmail").permitAll() + .antMatchers("/", "/login", "/join", "/sendEmail", "/enterEmailCode/join","/validateDuplicateEmail","/addPet").permitAll() .anyRequest().authenticated(); diff --git a/back/src/main/java/com/petchatbot/controller/MemberController.java b/back/src/main/java/com/petchatbot/controller/MemberController.java index 44090f0..ffd60c6 100644 --- a/back/src/main/java/com/petchatbot/controller/MemberController.java +++ b/back/src/main/java/com/petchatbot/controller/MemberController.java @@ -95,7 +95,7 @@ public ResponseEntity enterEmailCode(@RequestBody EmailCodeDto ecCode){ } } - // 인증코드 입력 (비밀번호 변경)2 + // 인증코드 입력 (비밀번호 변경) @PostMapping("/enterEmailCode/changePw") public ResponseEntity enterEmailCode_password(@RequestBody CodeDto codeDto){ int sendCode = codeDto.getSendCode(); diff --git a/back/src/main/java/com/petchatbot/controller/PetController.java b/back/src/main/java/com/petchatbot/controller/PetController.java new file mode 100644 index 0000000..6f9cf3d --- /dev/null +++ b/back/src/main/java/com/petchatbot/controller/PetController.java @@ -0,0 +1,36 @@ +package com.petchatbot.controller; + +import com.petchatbot.config.ResponseMessage; +import com.petchatbot.config.StatusCode; +import com.petchatbot.domain.dto.MemberDto; +import com.petchatbot.domain.requestAndResponse.DefaultRes; +import com.petchatbot.domain.requestAndResponse.JoinReq; +import com.petchatbot.domain.requestAndResponse.PetRegReq; +import com.petchatbot.repository.MemberRepository; +import com.petchatbot.service.MemberService; +import com.petchatbot.service.PetService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequiredArgsConstructor +public class PetController { + + private final MemberRepository memberRepository; + private final MemberService memberService; + private final PetService petService; + + @PostMapping("/addPet") + public ResponseEntity addPet(@RequestBody PetRegReq petRegReq) { + + petService.registerPet(petRegReq); + log.info("petRegReg={}",petRegReq.getPetName()); + return new ResponseEntity(DefaultRes.res(StatusCode.OK, ResponseMessage.ENTER_JOIN_INFORMATION), HttpStatus.OK); + } +} diff --git a/back/src/main/java/com/petchatbot/domain/model/Breed.java b/back/src/main/java/com/petchatbot/domain/model/Breed.java new file mode 100644 index 0000000..538b38a --- /dev/null +++ b/back/src/main/java/com/petchatbot/domain/model/Breed.java @@ -0,0 +1,5 @@ +package com.petchatbot.domain.model; + +public enum Breed { + DOG, CAT +} diff --git a/back/src/main/java/com/petchatbot/domain/model/Member.java b/back/src/main/java/com/petchatbot/domain/model/Member.java index a9d4c66..8bda0cb 100644 --- a/back/src/main/java/com/petchatbot/domain/model/Member.java +++ b/back/src/main/java/com/petchatbot/domain/model/Member.java @@ -1,6 +1,7 @@ package com.petchatbot.domain.model; import lombok.Getter; +import lombok.extern.slf4j.Slf4j; import javax.persistence.*; import javax.validation.constraints.Email; @@ -12,6 +13,7 @@ @Getter @Entity +@Slf4j public class Member { @Id @@ -21,6 +23,9 @@ public class Member { private String memberPassword; private String roles; // USER, ADMIN + @OneToMany(mappedBy = "member") + private List petList = new ArrayList<>(); + public Member() { } @@ -29,6 +34,13 @@ public Member(String memberEmail, String memberPassword) { this.memberPassword = memberPassword; } + public void addPet(Pet pet){ + petList.add(pet); + pet.addMember(this); + log.info("pet.addMember={}", pet.getMember()); + + } + public void changePassword(String password){ this.memberPassword = password; diff --git a/back/src/main/java/com/petchatbot/domain/model/Neutralization.java b/back/src/main/java/com/petchatbot/domain/model/Neutralization.java new file mode 100644 index 0000000..5ba6c92 --- /dev/null +++ b/back/src/main/java/com/petchatbot/domain/model/Neutralization.java @@ -0,0 +1,5 @@ +package com.petchatbot.domain.model; + +public enum Neutralization { + NEUTER, NOTNEUTER +} diff --git a/back/src/main/java/com/petchatbot/domain/model/Pet.java b/back/src/main/java/com/petchatbot/domain/model/Pet.java new file mode 100644 index 0000000..787b674 --- /dev/null +++ b/back/src/main/java/com/petchatbot/domain/model/Pet.java @@ -0,0 +1,51 @@ +package com.petchatbot.domain.model; + +import lombok.Getter; + +import javax.persistence.*; + +@Getter +@Entity +public class Pet { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long pet_serial; + + @ManyToOne + @JoinColumn(name="member_serial") + private Member member; + @Enumerated(EnumType.STRING) + private Breed petBreed; + private String petName; + private String petAge; + @Enumerated(EnumType.STRING) + private PetSex petSex; + @Enumerated(EnumType.STRING) + private Neutralization petNeutralization; + + public Pet() { + } + + public Pet(Breed petBreed, String petName, String petAge, PetSex petSex, Neutralization petNeutralization) { + this.petBreed = petBreed; + this.petName = petName; + this.petAge = petAge; + this.petSex = petSex; + this.petNeutralization = petNeutralization; + } + + public void changePetInfo(String petName, String petAge, PetSex petSex, Neutralization petNeutralization){ + this.petName = petName; + this.petAge = petAge; + this.petSex = petSex; + this.petNeutralization = petNeutralization; + } + + public void addMember(Member member) { + this.member = member; + } + + + +} \ No newline at end of file diff --git a/back/src/main/java/com/petchatbot/domain/model/PetSex.java b/back/src/main/java/com/petchatbot/domain/model/PetSex.java new file mode 100644 index 0000000..44a2ec0 --- /dev/null +++ b/back/src/main/java/com/petchatbot/domain/model/PetSex.java @@ -0,0 +1,5 @@ +package com.petchatbot.domain.model; + +public enum PetSex { + MALE, FEMALE +} diff --git a/back/src/main/java/com/petchatbot/domain/requestAndResponse/PetRegReq.java b/back/src/main/java/com/petchatbot/domain/requestAndResponse/PetRegReq.java new file mode 100644 index 0000000..46d5597 --- /dev/null +++ b/back/src/main/java/com/petchatbot/domain/requestAndResponse/PetRegReq.java @@ -0,0 +1,17 @@ +package com.petchatbot.domain.requestAndResponse; + +import com.petchatbot.domain.model.Breed; +import com.petchatbot.domain.model.Neutralization; +import com.petchatbot.domain.model.PetSex; +import lombok.Data; + +@Data +public class PetRegReq { + private String memberEmail; + private Breed petBreed; + private String petName; + private String petAge; + private PetSex petSex; + private Neutralization petNeutralization; + +} diff --git a/back/src/main/java/com/petchatbot/repository/PetRepository.java b/back/src/main/java/com/petchatbot/repository/PetRepository.java new file mode 100644 index 0000000..446d084 --- /dev/null +++ b/back/src/main/java/com/petchatbot/repository/PetRepository.java @@ -0,0 +1,10 @@ +package com.petchatbot.repository; + + +import com.petchatbot.domain.model.Member; +import com.petchatbot.domain.model.Pet; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface PetRepository extends JpaRepository { + +} \ No newline at end of file diff --git a/back/src/main/java/com/petchatbot/service/PetService.java b/back/src/main/java/com/petchatbot/service/PetService.java new file mode 100644 index 0000000..8f31bc6 --- /dev/null +++ b/back/src/main/java/com/petchatbot/service/PetService.java @@ -0,0 +1,16 @@ +package com.petchatbot.service; + +import com.petchatbot.domain.dto.MemberDto; +import com.petchatbot.domain.model.Member; +import com.petchatbot.domain.model.Pet; +import com.petchatbot.domain.requestAndResponse.PetRegReq; + +public interface PetService { + + // 반려동물 추가 + void registerPet(PetRegReq petRegReq); + + // 반려동물 변경 + void changePetInfo(Pet pet); + +} diff --git a/back/src/main/java/com/petchatbot/service/PetServiceImpl.java b/back/src/main/java/com/petchatbot/service/PetServiceImpl.java new file mode 100644 index 0000000..ae76522 --- /dev/null +++ b/back/src/main/java/com/petchatbot/service/PetServiceImpl.java @@ -0,0 +1,51 @@ +package com.petchatbot.service; + +import com.petchatbot.domain.model.*; +import com.petchatbot.domain.requestAndResponse.PetRegReq; +import com.petchatbot.repository.MemberRepository; +import com.petchatbot.repository.PetRepository; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +@Slf4j +public class PetServiceImpl implements PetService{ + + private final MemberRepository memberRepository; + private final PetRepository petRepository; + + + + @Override + public void registerPet(PetRegReq petRegReq) { + Member findMember = getFindMember(petRegReq); + Pet pet = createPetEntity(petRegReq); + petRepository.save(pet); + findMember.addPet(pet); + } + + private Member getFindMember(PetRegReq petRegReq) { + String memberEmail = petRegReq.getMemberEmail(); + Member findMember = memberRepository.findByMemberEmail(memberEmail); + return findMember; + } + + private Pet createPetEntity(PetRegReq petRegReq) { + Breed petBreed = petRegReq.getPetBreed(); + log.info("petBreed={}", petBreed); + String petName = petRegReq.getPetName(); + String petAge = petRegReq.getPetAge(); + PetSex petSex = petRegReq.getPetSex(); + Neutralization petNeutralization = petRegReq.getPetNeutralization(); + + Pet pet = new Pet(petBreed, petName, petAge, petSex, petNeutralization); + return pet; + } + + @Override + public void changePetInfo(Pet pet) { + + } +} diff --git a/back/src/test/java/com/petchatbot/service/AnimalServiceImplTest.java b/back/src/test/java/com/petchatbot/service/AnimalServiceImplTest.java index a009199..a9f1823 100644 --- a/back/src/test/java/com/petchatbot/service/AnimalServiceImplTest.java +++ b/back/src/test/java/com/petchatbot/service/AnimalServiceImplTest.java @@ -1,7 +1,34 @@ package com.petchatbot.service; +import com.petchatbot.domain.model.Member; +import com.petchatbot.domain.model.Pet; +import lombok.extern.slf4j.Slf4j; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import static org.assertj.core.api.Assertions.*; + +@SpringBootTest +@Slf4j class AnimalServiceImplTest { + @Autowired + PetService petServiceImpl; + + @Test + void 반려동물추가(){ + Member member = new Member("abc@naver.com", "password"); + Pet pet = new Pet(); + + petServiceImpl.registerPet(member, pet); + assertThat(pet.getMember()).isEqualTo(member); + assertThat(member.getPetList()).contains(pet); + log.info(pet.getMember().getMemberEmail()); + } + + } \ No newline at end of file From 4c16ff3ac392bf0d5b774e497c38e155be3a0c76 Mon Sep 17 00:00:00 2001 From: janguni Date: Thu, 11 Aug 2022 18:53:27 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=ED=8E=AB=20=EC=B6=94=EA=B0=80=20=EB=B0=8F?= =?UTF-8?q?=20=EB=93=B1=EB=A1=9D=20=EC=99=84=EB=A3=8C=20(member=EC=97=B0?= =?UTF-8?q?=EA=B4=80=EA=B4=80=EA=B3=84=20=EC=99=84=EB=A3=8C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/petchatbot/domain/model/Member.class | Bin 2440 -> 2440 bytes .../domain/requestAndResponse/PetRegReq.class | Bin 4443 -> 4739 bytes .../petchatbot/service/PetServiceImpl.class | Bin 3141 -> 3214 bytes .../service/AnimalServiceImplTest.class | Bin 2044 -> 2103 bytes .../com/petchatbot/domain/model/Member.java | 1 - .../domain/requestAndResponse/PetRegReq.java | 8 +++++++ .../petchatbot/service/PetServiceImpl.java | 2 ++ .../service/AnimalServiceImplTest.java | 22 +++++++++++------- 8 files changed, 24 insertions(+), 9 deletions(-) diff --git a/back/out/production/classes/com/petchatbot/domain/model/Member.class b/back/out/production/classes/com/petchatbot/domain/model/Member.class index 31b2ec1bf871c4a1bd1cae17c079a0960c39b38a..6da1f8771be0504877d2e1aaee6de9128fb4a30f 100644 GIT binary patch delta 24 gcmeAW?hxLvkeyL;@*;M3R$T^G2EEPi*k>^U09kwn^U09l*{=Kufz diff --git a/back/out/production/classes/com/petchatbot/domain/requestAndResponse/PetRegReq.class b/back/out/production/classes/com/petchatbot/domain/requestAndResponse/PetRegReq.class index 9c965c09cfbee056ec8c7e24ae388b54e0bb92bc..0dc701ba6c71e194909ddfcdecabe72ea1af1f4d 100644 GIT binary patch delta 315 zcmXAi%`O8`9L0ZkI&)__5vh-U3>r~NdzHqjTT2`4>`O#a)ld{Iy6^@j5szSD(=-!_ zg$M8k;wij<_;)Ps$?u$;`#;}>hob-a`~Csc=nwo&WxbZdA6*Th6By@IazOsl4ZNNoTmBYf4{@n!T{)mepPO>_+N7-0>d! zFIc#;v~1o`W;Mbxm578{i?B^#M>r;MBD4u~ggcO?#e!%7PjmvCNs>%4&a`NnfDH3w zDUy>8Z2eznktK1mBfT^#rVLpl=SE>p!bD7gkR8(uvp6x$kw*_x$#pN^mB5$(*W7X= MYsca}@lAOrf5j>?Z~y=R delta 156 zcmZoxy{*J`>ff$?3=9nB40Rj192l9HH8y``)Ma6mpRCL_O|gK3p^%56h@qH~K_Dx! zEKxrvF)v-;KPf9UxrB?MgrRiv12%I;wla{Ks>!k(nv6A*-8r^0)=vJ*F^N~7fe{E9 z7+AHoGcZm*$SpS6Pl#>uYA&wL)?C^gvXww7E}(*PhH8ci21$l&AfE%s&jI3G02pi~ Ab^rhX diff --git a/back/out/production/classes/com/petchatbot/service/PetServiceImpl.class b/back/out/production/classes/com/petchatbot/service/PetServiceImpl.class index 16d25d2e8be44f7b79191dd970e61e3b7ca95815..2a49ca5cc0e6718581614822d52eeac61c7f35c3 100644 GIT binary patch delta 587 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 diff --git a/back/src/main/java/com/petchatbot/domain/model/Member.java b/back/src/main/java/com/petchatbot/domain/model/Member.java index 8bda0cb..e8a5298 100644 --- a/back/src/main/java/com/petchatbot/domain/model/Member.java +++ b/back/src/main/java/com/petchatbot/domain/model/Member.java @@ -38,7 +38,6 @@ public void addPet(Pet pet){ petList.add(pet); pet.addMember(this); log.info("pet.addMember={}", pet.getMember()); - } diff --git a/back/src/main/java/com/petchatbot/domain/requestAndResponse/PetRegReq.java b/back/src/main/java/com/petchatbot/domain/requestAndResponse/PetRegReq.java index 46d5597..99cd073 100644 --- a/back/src/main/java/com/petchatbot/domain/requestAndResponse/PetRegReq.java +++ b/back/src/main/java/com/petchatbot/domain/requestAndResponse/PetRegReq.java @@ -14,4 +14,12 @@ public class PetRegReq { private PetSex petSex; private Neutralization petNeutralization; + public PetRegReq(String memberEmail, Breed petBreed, String petName, String petAge, PetSex petSex, Neutralization petNeutralization) { + this.memberEmail = memberEmail; + this.petBreed = petBreed; + this.petName = petName; + this.petAge = petAge; + this.petSex = petSex; + this.petNeutralization = petNeutralization; + } } diff --git a/back/src/main/java/com/petchatbot/service/PetServiceImpl.java b/back/src/main/java/com/petchatbot/service/PetServiceImpl.java index ae76522..06be6ae 100644 --- a/back/src/main/java/com/petchatbot/service/PetServiceImpl.java +++ b/back/src/main/java/com/petchatbot/service/PetServiceImpl.java @@ -7,6 +7,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; @Service @RequiredArgsConstructor @@ -18,6 +19,7 @@ public class PetServiceImpl implements PetService{ + @Transactional @Override public void registerPet(PetRegReq petRegReq) { Member findMember = getFindMember(petRegReq); diff --git a/back/src/test/java/com/petchatbot/service/AnimalServiceImplTest.java b/back/src/test/java/com/petchatbot/service/AnimalServiceImplTest.java index a9f1823..dbc8f21 100644 --- a/back/src/test/java/com/petchatbot/service/AnimalServiceImplTest.java +++ b/back/src/test/java/com/petchatbot/service/AnimalServiceImplTest.java @@ -1,7 +1,10 @@ package com.petchatbot.service; -import com.petchatbot.domain.model.Member; -import com.petchatbot.domain.model.Pet; +import com.petchatbot.domain.dto.MemberDto; +import com.petchatbot.domain.model.*; +import com.petchatbot.domain.requestAndResponse.PetRegReq; +import com.petchatbot.repository.MemberRepository; +import com.petchatbot.repository.PetRepository; import lombok.extern.slf4j.Slf4j; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; @@ -17,15 +20,18 @@ class AnimalServiceImplTest { @Autowired PetService petServiceImpl; + @Autowired + MemberService memberService; + + @Test void 반려동물추가(){ - Member member = new Member("abc@naver.com", "password"); - Pet pet = new Pet(); + MemberDto memberDto = new MemberDto("abc@naver.com", "password"); + memberService.join(memberDto); + PetRegReq petRegReq = new PetRegReq("abc@naver.com", Breed.DOG, "hera", "33", PetSex.FEMALE, Neutralization.NOTNEUTER); + + petServiceImpl.registerPet(petRegReq); - petServiceImpl.registerPet(member, pet); - assertThat(pet.getMember()).isEqualTo(member); - assertThat(member.getPetList()).contains(pet); - log.info(pet.getMember().getMemberEmail()); }