๊ฐœ๋ฐœ์ผ์ง€-4 [๐Ÿ‘จโ€๐ŸณํŒ๋งค์ž ๋„๋ฉ”์ธ ๊ตฌํ˜„ ์ค€๋น„]

๊น€์„ฑ์ธยท2023๋…„ 9์›” 4์ผ
0
post-thumbnail

๐Ÿ‘จโ€๐Ÿณ ํŒ๋งค์ž ํšŒ์›์ œ(Seller)

0. ๊ธฐ๋Šฅ ์ •์˜

1-1) ํšŒ์›์ œ

  • ํšŒ์›๊ฐ€์ž…, ๋ณธ์ธ์ธ์ฆ, ๋กœ๊ทธ์ธ
  • ์•„์ด๋”” ์ค‘๋ณต ํ™•์ธ, ์•„์ด๋”” ์ฐพ๊ธฐ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์„ค์ •

1. ํŒ๋งค์ž ํšŒ์›๊ฐ€์ž… ํ™”๋ฉด

1-1) ์•ฝ๊ด€ ๋™์˜, ๊ฐœ์ธ์ •๋ณด, ํšŒ์› ์ •๋ณด ์ž…๋ ฅ ํ™”๋ฉด

1-2) ํšŒ์› ๊ฐ€์ž… ์™„๋ฃŒ ํ™”๋ฉด


2. ๋„๋ฉ”์ธ ์ •์˜(DB ํ…Œ์ด๋ธ”)

2-1) ํŒ๋งค์ž์˜ ์ž…๋ ฅ ์ •๋ณด

1. ๊ฐ€์ž… ์‹œ ์•ฝ๊ด€๋™์˜ ๋‚ด์—ญ๋“ค(์„œ๋น„์Šค, ๊ฐœ์ธ์ •๋ณด ์ˆ˜์ง‘, SMS, ์ด๋ฉ”์ผ, ์ „ํ™” ์ˆ˜์‹  ๋™์˜) 
2. ํŒ๋งค์ž์˜ ๊ฐœ์ธ ์ •๋ณด์— ๋Œ€ํ•œ ๋‚ด์—ญ๋“ค (์ด๋ฆ„, ์ƒ๋…„์›”์ผ, ํœด๋Œ€ํฐ๋ฒˆํ˜ธ, ์ด๋ฉ”์ผ)
3. ํŒ๋งค์ž์˜ ํšŒ์› ๊ฐ€์ž… ์ •๋ณด๋“ค(ID, PW)
4. ํŒ๋งค์ž๊ฐ€ ์•ฑ ์‚ฌ์šฉ์‹œ ๋“ฑ๋กํ•˜๋Š” ๊ฐ€๊ฒŒ์ •๋ณด(์ตœ์ดˆ ๋กœ๊ทธ์ธ /๊ฐ€๊ฒŒ ๋“ฑ๋ก ์—ฌ๋ถ€) 
5. ํ–‰ ์ƒ์„ฑ/์ˆ˜์ •์ผ, ์ƒํƒœ, ๊ถŒํ•œ   

์œ„์™€ ๊ฐ€์ž…์‹œ ํ•„์š”ํ•œ ๊ฐ ์ •๋ณด๋“ค๊ณผ, ํŒ๋งค์ž๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ๋•Œ ํ•„์š”ํ•œ ๊ฐ€๊ฒŒ์— ๋Œ€ํ•œ ์ •๋ณด๋กœ ํ…Œ์ด๋ธ”์„ ๊ตฌ์„ฑํ•˜์˜€๋‹ค.


3. ๊ธฐ๋Šฅ ํ๋ฆ„

  1. ํŒ๋งค์ž ์•ฝ๊ด€ ๋™์˜ (์•ฝ๊ด€์— ๋Œ€ํ•œ ์•ˆ๋‚ด ์ถœ๋ ฅ์€ ํ”„๋ก ํŠธ์—์„œ ์ฒ˜๋ฆฌ)
  2. ๊ฐœ์ธ์ •๋ณด ์ž…๋ ฅ, SMS ํœด๋Œ€ํฐ ์ธ์ฆ
  3. ํšŒ์›์ •๋ณด (ID/PW ์ž…๋ ฅ) , ID ์ค‘๋ณต ํ™•์ธ ๋ฐ PW ๊ทœ์น™ ๊ฒ€์‚ฌ
  4. ํšŒ์›๊ฐ€์ž… ์™„๋ฃŒ, ๊ฐ€์ž… ์ •๋ณด ์ถœ๋ ฅ

4. API ๋ช…์„ธ "/jat/sellers/~"

๋ชจ๋“  ํšŒ์› ๊ฐ€์ž…์— ๊ด€ํ•œ ํŒ๋งค์ž์˜ ์ž…๋ ฅ์ •๋ณด๋Š” ํ•œ๋ฒˆ์— ๋„˜๊ฒจ๋ฐ›๋Š” ๊ฒƒ์œผ๋กœ ์ง„ํ–‰ํ•˜์˜€๋‹ค.
๋˜, ๋…ธ์ถœ๋˜๋ฉด ์•ˆ๋˜๋Š” ์ค‘์š”ํ•œ ์ •๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์—, POST๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์˜€๋‹ค.

- ๊ธฐ๋Šฅ ํ๋ฆ„์— ๋”ฐ๋ผ์„œ ๋ณธ์ธ์ธ์ฆ์„ ์œ„ํ•œ ํœด๋Œ€ํฐ ํ™•์ธ
- ํšŒ์› ๊ฐ€์ž… ์‹œ์— ๋ชจ๋“  ์ •๋ณด๋ฅผ ๋ฐ›์•„์„œ DB์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ํšŒ์›๊ฐ€์ž…
- ๊ฐ€์ž…์‹œ DB ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์•„์ด๋”” ์ค‘๋ณต ํ™•์ธ, ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ทœ์น™ ํ™•์ธ
- ๋กœ๊ทธ์ธ์„ ํ†ตํ•œ ํ† ํฐ ๋ฐœํ–‰
- ์•„์ด๋””/ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ ๋ฐ ์žฌ์„ค์ •

๋“ฑ์˜ ๊ธฐ๋Šฅ์ด ํ™”๋ฉด์—์„œ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์˜€๊ณ  ์œ„์™€ ๊ฐ™์ด API๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค.


5. ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

jatdauree/src/main/java/com/jatduaree/src/domain/web/seller

5-0) ํ•ด๋‹น ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ํด๋ž˜์Šค ๊ณ„์ธต์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜๋ˆด๋‹ค.

  • SellerControlelr.java : ํŒ๋งค์ž ๋„๋ฉ”์ธ ์š”์ฒญ API ์ปจํŠธ๋กค๋Ÿฌ ํด๋ž˜์Šค
  • service/SellerService.java : ํŒ๋งค์ž ์š”์ฒญ API ๋กœ์ง ์ฒ˜๋ฆฌ ํด๋ž˜์Šค
  • dao/SellerDao.java : ํŒ๋งค์ž ๋„๋ฉ”์ธ DB ์•ก์„ธ์Šค ํด๋ž˜์Šค

5-1) SellerControlelr.java

  • /jat/sellers ๋ผ๋Š” ๋„๋ฉ”์ธ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ์ด๋‹ค. (@RequestMapping์„ ํ†ตํ•ด์„œ ํŒ๋ณ„)
  • @RestController๋ฅผ ํ†ตํ•ด Spring Controller์— ๋Œ€ํ•œ Bean ์ฃผ์ž…์„ ํด๋ž˜์Šค์— ์™„๋ฃŒํ•˜๊ณ ,
  • @Autowired๋ฅผ ํ†ตํ•ด์„œ ํ”„๋กœ์ ํŠธ ๋‚ด์— ์กด์žฌํ•˜๋Š” Service ํด๋ž˜์Šค(Seller๋„๋ฉ”์ธ ์„œ๋น„์Šค, Jwt ์ธ๊ฐ€ ํ† ํฐ ์„œ๋น„์Šค)์˜ ๋นˆ ์ฃผ์ž…ํ•˜์˜€๋‹ค.
  • ๋นˆ์ฃผ์ž…์„ ์œ„ํ•ด ๊ฐ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ํ•„๋“œ๋ฅผ ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด์„œ ์ฑ„์›Œ์ฃผ์—ˆ๋‹ค.

5-2) SellerService.java

  • ํŒ๋งค์ž ์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ์œ„ํ•ด ํŒ๋งค์ž, Sms, ๊ฐ€๊ฒŒ Dao ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์˜€๊ณ ,
  • JwtToken์„ ์ƒ์„ฑํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ ํด๋ž˜์Šค,
  • ๋ฌธ์ž ๋ณธ์ธ์ธ์ฆ์„ ์œ„ํ•œ coolSMS API ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํด๋ž˜์Šค๋ฅผ ์ฐธ์กฐํ•˜์˜€๋‹ค.
  • coolSMS API ๊ด€๋ จ ํฌ์ŠคํŒ…

5-3) SellerDao.java

  • JdbcTemplate ํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด์„œ DB์•ก์„ธ์Šค๋ฅผ ํ•˜์˜€๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€