Spring(57)
-
์ผํ๋ชฐ ํ๋ก์ ํธ(13) ์ํ ์์ธ ํ์ด์ง ๋ฐ๋ก ๊ตฌ๋งค
๋ฐ๋ก ๊ตฌ๋งค ๊ธฐ๋ฅ ๋ฐ๋ก ๊ตฌ๋งค ์ ๊ตฌ๋งค insert ์ฟผ๋ฆฌ 2๊ฐ ์๋ํจ. 1. ์ ์ฒด ๊ตฌ๋งค ์ ๋ณด์์๋ buyCode, memId, buyPrice๊ฐ ํ์ buyCode, memId html์์ ๊ฐ์ ธ์ฌ ํ์ x buyPrice๋ html์์ ์๋์ ์ฌ๋ฆฌ๋ฉด ๋ฐ๋ก ์ด๊ธ์ก์ด ์ฌ๋ผ๊ฐ์ง ์๊ธฐ ๋๋ฌธ์ ์๋ ๋ฐ์ดํฐ * ๋จ๊ฐ = ์ด ๊ตฌ๋งค๊ฐ๊ฒฉ์ผ๋ก ๊ตฌํด์ผ ๋จ. 2. ์์ธ ๊ตฌ๋งค ์ ๋ณด์์๋ ํด๋น ์ํ์ itemCode ํ์. buyCnt๋ html์์์ ์๋ ์ ๋ณด์ ๊ฐ๊ณ buyCode ์ ์ฒด ๊ตฌ๋งค ์ ๋ณด์์ ๊ฐ์ ธ์ค๋ฉด ๋จ detailBuyPrice๋ ์ ์ฒด ๊ตฌ๋งค ์ ๋ณด์์ buyPrice๋ ๊ฐ๋ค. >๊ตฌ๋งคํ๋ ์ํ ํ๋์ด๊ธฐ ๋๋ฌธ์ ์ ๋ฆฌํ๋ฉด ๋ฐ๋ก ๊ตฌ๋งค ์ ํ์ ๋ฐ์ดํฐ๋ ๋จ๊ฐ, ์๋, ์ํ์ฝ๋. ์๋ ๋ฐ์ดํฐ ๋๊ธฐ๊ธฐ ์ํด ์๋ input ํ๊ทธ for..
2023.04.13 -
์ผํ๋ชฐ ํ๋ก์ ํธ(12) ํ์ MY PAGE - ๊ตฌ๋งค ๋ด์ญ (2) ๊ฒ์ ๊ธฐ๋ฅ (๋ณด์)
---ํ์ฌ๊น์ง ๋ถ์กฑํ ๊ธฐ๋ฅ ๊ตฌ๋งค ๋ชฉ๋ก ํ์ด์ง์ ๋ฉ๋ด ๋์ฐ๊ธฐ > interceptorConfig์ ์นดํ ๊ณ ๋ฆฌ ๋ชฉ๋ก ์กฐํํ ๋ ๊ตฌ๋งค ๊ด๋ จ ํ์ด์ง ๋ค์ด๊ฐ๋ ๊ฒฝ์ฐ๋ ์ถ๊ฐ ํ์์ด ๋ณด๋ ์ฌ์ด๋ ๋ฉ๋ด ํด๋ฆญ ์ ํด๋น ๋ฉ๋ด ํ๋์ ๋ณ๊ฒฝ personal_side.html์์ ๋ฉ๋ด์ active ์์ฑ์ ๋ฃ์ผ๋ฉด ํด๋ฆญ ์ ์ ๋ฐ๋. ์ด๋ค ๋ฉ๋ด๋ฅผ ํด๋ฆญํด์ ํด๋น ํ์ด์ง์ ์๋์ง ์ ์ ์๋๋ก ๋ฐ์ดํฐ ๋๊ธฐ๋ ์์ ํ์. db ์์ ํด์ ๋ฉ๋ด ๋ถ๋ฌ์จ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ์์์ ๊ฐ ์ง์ . ์ฅ๋ฐ๊ตฌ๋ ๋ชฉ๋ก ๊ตฌ๋งค ๋ด์ญ ๊ฐ์ธ์ ๋ณด์์ BuyController ์์ฑ 1.๊ตฌ๋งค๋ด์ญ ๋ฉ๋ด ์์ ํด๋น ํ์ด์ง ์ค๋ controller ์์ ๋งค๊ฐ๋ณ์๋ก String personalMenu ๋ฃ๊ธฐ. ๋ฐ์์จ ๋ฐ์ดํฐ html๋ก ๋๊ฒจ์ฃผ๋ฉด ๊ฐ์ด ํ๋ฉด ์ด๋ฆฌ๋ personal..
2023.04.13 -
์ผํ๋ชฐ ํ๋ก์ ํธ(12) ํ์ MY PAGE - ๊ตฌ๋งค ๋ด์ญ (2) ๊ฒ์ ๊ธฐ๋ฅ
๊ตฌ๋งค ๋ด์ญ ๊ธฐ๊ฐ๋ณ ๊ฒ์ ๊ธฐ๋ฅ ์ ์ฒด, ์ต๊ทผ1๊ฐ์, ์ต๊ทผ 3๊ฐ์ ๋ฒํผ input ํ๊ทธ๋ก ์์ฑ input ํ๊ทธ type date๋ก ๊ธฐ๊ฐ ์ค์ ํ ์ ์๊ฒ ์์ฑ. n๊ฐ์ ๋ฒํผ, ํน์ ์ง์ ๊ธฐ๊ฐ ์ค์ ํ์ฌ ๊ฒ์ ๋ฒํผ ๋๋ฅด๋ ์๋ ๊ตฌ๋งค๋ด์ญ ํ์ด์ง๋ก ๋์์ค๋ฉด ๋จ. ๊ฐ ๋ฒํผ ํจ์๋ก js ์ฐ๊ฒฐ js์ ํจ์ ์์ฑ //๊ธฐ๊ฐ๋ณ ๊ตฌ๋งค ๋ด์ญ ์กฐํ (3๊ฐ์ ๊ธฐ๊ฐ ๋ฒํผ ํด๋ฆญ) function getBuyList(month){ //form ํ๊ทธ ์ ํ const month_form = document.querySelector('#month-form'); //form ํ๊ทธ ์์ value์ ๊ฐ๊ฐ ๋ฒํผ ํด๋ฆญ ์ ๋งค๊ฐ๋ณ์๋ก ๋์ด์จ 0, -1, -3์ด ๋ค์ด๊ฐ. month_form.querySelector('input').value = month;..
2023.04.12 -
์ผํ๋ชฐ ํ๋ก์ ํธ(12) ํ์ MY PAGE - ๊ตฌ๋งค ๋ด์ญ
MY PAGE ํด๋ฆญ ์ฌ์ด๋๋ฉ๋ด ๊ตฌ๋งค๋ด์ญ ํญ ๋๋ฅด๋ฉด bootstrap Components ํญ์ Accordion Always open ์์ค ์ฌ์ฉ. ์๋ ์ฒ๋ผ ๊ตฌ๋งค ๋ด์ญ์ฐฝ ๊ตฌํ. personal_side.html์์ ํ์ด์ง ์ด๋ ์ค์ . ๊ตฌ๋งค๋ด์ญ ์๋ธ ๋ฉ๋ด aํ๊ทธ ๊ฐ์ธ์ฃผ๊ธฐ. ๊ตฌ๋งค ๋ด์ญ BuyController ์์ฑ. ํ์ด์ง ์ด๋ ๊ฒฝ๋ก ์ค์ //๊ตฌ๋งค ๋ด์ญ ํ์ด์ง @GetMapping("/buyList") public String buyList() { return "content/buy/buy_list"; } content-buy-buy_list.html ์์ฑ ํ๋ฉด ๊ฐ์ด ์ด๋ฆฌ๋ personal_layout ์ฐ๊ฒฐ ๊ตฌ๋งค ๋ด์ญ ์กฐํ ๊ธฐ๋ฅ ๊ตฌ๋งค ์ ๋ณด ์กฐํ ์ฟผ๋ฆฌ ์์ฑ (์กฐ์ธ ์ฌ์ฉ) SELECT BUY.BUY_CODE , ..
2023.04.11 -
์ผํ๋ชฐ ํ๋ก์ ํธ(11) ํ์ MY PAGE - ์ฅ๋ฐ๊ตฌ๋ ๋ชฉ๋ก (3) ์ ํ ๊ตฌ๋งค
์ฅ๋ฐ๊ตฌ๋ ์ ํ ๊ตฌ๋งค ๊ธฐ๋ฅ ์ ์ฒด ๊ตฌ๋งค ์ ๋ณด insert ์ฟผ๋ฆฌ ์์ฑ INSERT INTO SHOP_BUY ( BUY_CODE , MEM_ID , BUY_PRICE ) VALUES ( #{buyCode} , #{memId} , #{buyPrice} ) buyCode ์๋ธ์ฟผ๋ฆฌ ์์ฑ ํ์ง ์๊ณ ๋ค์์ ๋ค์ด๊ฐ ๋ฐ์ด์ฝ๋ ์ ๋ ํธ ์ฟผ๋ฆฌ ์์ฑํ์ฌ ์ด์ฉ. SELECT 'BUY_'||LPAD(NVL(MAX(TO_NUMBER(SUBSTR(BUY_CODE, 5))), 0) + 1, 3, '0') FROM SHOP_BUY BuyService ์์ฑ //๋ค์ buyCode ์กฐํ String getNextBuyCode(); BuyServiceImpl ์์ฑ //๋ค์ buyCode ์กฐํ @Override public String getNe..
2023.04.11 -
์ผํ๋ชฐ ํ๋ก์ ํธ(11) ํ์ MY PAGE - ์ฅ๋ฐ๊ตฌ๋ ๋ชฉ๋ก (2)
์ฅ๋ฐ๊ตฌ๋ ์ํ ๋ฑ๋ก ์ ์ค๋ณต ์ํ ์๋ ์ฆ๊ฐ, ์ํ ์์ผ๋ฉด ํด๋น ์ํ ๋ฑ๋ก. ์ฅ๋ฐ๊ตฌ๋ ์ํ ๋ฑ๋ก ์ฟผ๋ฆฌ ์์ MERGE INTO ์ด์ฉ ์ด๋ค ํ์์ ์ฅ๋ฐ๊ตฌ๋์ ํด๋น ์ํ์ด ์๋์ง ์๋์ง ํ์ธ WHEN MATCHED THEN ํด๋น ์ํ์ itemCode๊ฐ ํ์ฌ ์ฅ๋ฐ๊ตฌ๋์ ์๋ itemCode์ ์ผ์น ๋ก๊ทธ์ธ๋ ํ์์ memId์ ํด๋น ์ํ์ด ๋ด๊ธด ํ์์ memId๊ฐ ์ผ์น >> UPDATE ์ฟผ๋ฆฌ ์คํํ์ฌ ์ฅ๋ฐ๊ตฌ๋์ ์๋ cartCnt ์ฆ๊ฐ WHEN NOT MATCHED THEN ์ ๋๊ฐ์ง ์กฐ๊ฑด์ด ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ >>ํด๋น ์ํ ์ฅ๋ฐ๊ตฌ๋์ INSERT ์ฟผ๋ฆฌ ์คํํ์ฌ ๋ด๊ธฐ. ์ต์ข ์ฅ๋ฐ๊ตฌ๋ ์ํ ๋ฑ๋ก ์ฟผ๋ฆฌ ๊ธฐ์กด์ ์ฅ๋ฐ๊ตฌ๋ ๋ฑ๋ก ์ฟผ๋ฆฌ ์ค INSERT INTO SHOP_CART์์ INTO SHOP_CART๋ ์ง์์ค์ผ ..
2023.04.07