์ด๋ฒ ํํ ๊ณผ์ ์์ ๋ด๊ฐ ๋งก๊ฒ๋ ๋ถ๋ถ์ ์ฃผ๋ฌธ/์ฅ๋ฐ๊ตฌ๋
ํ์๋จ๊ณ์๋ ์ฃผ๋ฌธ๊น์ง ๊ตฌํ์ด๊ณ , ์ฅ๋ฐ๊ตฌ๋๋ ๋์ ๊ณผ์ ์ด์ง๋ง
์ฒ์๋ถํฐ ์ฐ๋ฆฌ๋ ์ฅ๋ฐ๊ตฌ๋๋ฅผ ๊ฐ์ด ๊ตฌํํ๋ ๊ฒ์ ๋ชฉํ๋ก ์ค๊ณํ๋ค !
AOP๋ก ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค์์ฒญ ์๊ฐ,๊ฐ๊ฒ id,์ฃผ๋ฌธ id๐ ฐ๏ธ / ํํฐ๋
User1 : NCart1 : 1Menu
์ ์ ๋ ์ฌ๋ฌ ๊ฐ์ Cart ํญ๋ชฉ์ ๊ฐ์ง ์ ์์User โโ Cart1 (Menu: ์งฌ๋ฝ, Quantity: 1) โโ Cart2 (Menu: ํ์์ก, Quantity: 2) โโ Cart3 (Menu: ๋ณถ์๋ฐฅ, Quantity: 1)
๐ ฑ๏ธ์ / ๋ด๊ฐ ์ต์ด ์๊ฐํ ์ฐ๊ด๊ด๊ณ
User1 : 1Cart1 : NMenu
์ ์ ๋ Cart ๋ฑ ํ๋๋ง ๊ฐ์งUser โโ Cart1 โโ CartMenu (Menu: ์งฌ๋ฝ, Quantity: 2) โโ CartMenu (Menu: ํ์์ก, Quantity: 1)
1. ๋ฐ์ดํฐ ์ ๊ทํ๊ฐ ๊น๋ํจ
2. ์ฃผ๋ฌธ ์์ฑ ๋ก์ง์ด ๊น๋ํด์ง
3. ํ์ฅ์ฑ์ด ์ข์
Cart๊ฐ ํ ์ ์ ๋น 1๊ฐ๋ก ๊ณ ์ ๋จ
โ ๋ฉ๋ด 1๊ฐ๋ง ๋นผ๋ ค๋ฉด List<Menu>์์ ๊บผ๋ด์ ์๋ ๊ฐฑ์ ํ๊ณ ๋ค์ ์ ์ฅํด์ผ ํจ
Cart๊ฐ ๋ฉ๋ด ๋ฆฌ์คํธ๋ฅผ ์ง์ ๊ฐ๊ณ ์์ โ ์ค๊ฐ ํ
์ด๋ธ ํ์
โ ๋ฉ๋ด์ ์๋์ ๋ฐ๋ก ์ ์ฅํ๋ ค๋ฉด ์ค๊ฐ ์ํฐํฐ๊ฐ ํ์ํด์ง
๋น์ฆ๋์ค ๋ก์ง์ด ์์ผ๋ฒ๋ฆด ์ ์์
โ ์ฅ๋ฐ๊ตฌ๋์์ ๋ฉ๋ด ์๋ ๋๋ฆฌ๊ธฐ, ์ค์ด๊ธฐ, ์ญ์ ํ๊ธฐ ๋ชจ๋ ๋ณต์กํ ๋ก์ง์ ์๊ตฌํจ
๐ ์ดํดํ ๋ด์ฉ ์์ฝ ์ ๋ฆฌ
A์ - cart1, cart2, cart3์ ๊ฐ๊ฐ ์งฌ๋ฝ ์นดํธ, ํ์์ก ์นดํธ, ๋ณถ์๋ฐฅ ์นดํธ
B์ - cart1, cart2, cart3์ ๊ฐ๊ฐ ์๋ฆฐ์ด ์นดํธ, ๊ด์ ์นดํธ, ์์์ด ์นดํธ์๋ฆฐ์ด ์นดํธ์ ํ์์ก, ์งฌ๋ฝ์ ๋ด์ ์๋ ์๋๋ฐ
๊ฐ๊ฐ์ ์๋์ ์ ํ๋ ค๋ฉด ์ํฐํฐ๊ฐ ํ๋ ๋ ์์ด์ ๊ทธ ์ํฐํฐ์ (๋ฉ๋ด์ด๋ฆ,๋ฉ๋ด์๋) ์ ๋ด์์ ๊ตฌํํด์ผํ๋ค
โ๏ธ A์์
Cart1,2,3์ ๋ฉ๋ด ํ๋์ฉ ๋ด๊ธด ๋ ๋ฆฝ์ ์ธ ํญ๋ชฉ
โ๏ธ B์์Cart1์ด ์ ์ ์ ์ฒด ์ฅ๋ฐ๊ตฌ๋ ์ญํ , ์์ ๋ฉ๋ด์ ์๋ ๋ฐ๋ก ๋ค์ด๊ฐ์ผ ํด์ ์ค๊ฐ ์ํฐํฐ ํ์
โ๏ธ ๊ทธ๋์ ์ค๋ฌด์์๋ A์์ ์ฐ๊ณ , ํ์ ์CartGroup,Order,CartItem์ ๋ถ์ฌ์ ํ์ฅํ๋ ๋ฐฉ์ ์ฌ์ฉ
โถ ์ฅ๋ฐ๊ตฌ๋ ์ถ๊ฐ์

โท ์ฅ๋ฐ๊ตฌ๋ ์ ์ฒด ์กฐํ / ์ฅ๋ฐ๊ตฌ๋ ์์ ์

๐ Dto์์ ์นดํธ ๊ธ์ก์ ๊ตฌํด์ ์๋น์ค๋จ์ ์ฝ๋๋ฅผ ์ค์ผ ์ ์์ ๊ฒ ๊ฐ๋ค...!