์ค์ค๋ก ์ฝ์ํ๊ธฐ
๊ธฐ์กด์ ์กด์ฌํ๋ ์์ค๋ฅผ ์ต๋ํ ์ฌํ์ฉํ๋ฉฐ, ๊ฐ์ฒด์งํฅ ์ํ ์ฒด์กฐ 9๊ฐ์ง ์์น์ ๋ฐ๋ผ ๊ฐ๋ฐ์ ์งํํ๋ค.
๊ธฐ์กด์ ์กด์ฌํ๋ ๋ฐ๊ถ ๋ก์ง
๊ธฐ์กด์ ๊ฐ๋ฐํ ๋ฐ๊ถ ํ๋ก์ธ์ค๋ ์ฌ์ฉ์ ์ฟ ํฐํ์
, ๊ณ์ , ๊ธ์ก, ์ฐ๋ฝ์ฒ๋ฅผ ์
๋ ฅ๋ฐ์ ๊ณ์ ์ ๋ฑ๋ก๋ ์ฟ ํฐ ์ค์ ์ ๋ณด ๊ฐ์ DB ์์ ์ฝ์ด๋ค์ธ ํ,
์ฟ ํฐ๋ฒํธ ์์ฑ ๋ก์ง์ ํ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์๋ค.
ํ์กดํ๋ ๊ธฐ๋ฅ
1. ๊ณ์ ์ ํ ๋น๋ ์ฟ ํฐ ์ค์ ์ ๋ณด ์ฝ๊ธฐ
2. ์ฟ ํฐ๋ฒํธ ์์ฑ ๋ก์ง
3. ์ฟ ํฐ๋ฒํธ ์ ์ฅ(๋ฐ๊ถ) ๋ก์ง
4. ์ฟ ํฐ๋ฒํธ ๋ฐ์ก ๋ก์ง
5. ์ฟ ํฐ ์ ๋ณด ์ฝ๊ธฐ
ํฉ์น ๊ธฐ๋ฅ
๊ธฐ์กด์ ๋ฐ์ก๋ ์ฟ ํฐ ๋ฒํธ๋ฅผ ๋์ผํ ์ฐ๋ฝ์ฒ์ ์ฌ๋ฐ์ก
๋ค์ด์ดํธ ๋ก์ง
๋ฐ์ก์ ๋ด๋นํ๋ ํ๋ก์ธ์ค๊ฐ ๋ฉ์๋ ๋จ์๋ก ์ถ๊ฐ๋๊ธธ ์์น ์๋๋ค.
๋ฐ๊ถ ํ๋ก์ธ์ค์ ๊ธฐ๋ฅ๋ค์ ๊ฐ๋ฐ ๋น์ ๋จ์ผ์์น์ ์ํด ๋ชจ๋ํ๋ก ์ ๊ฒฝ์จ์ ๊ฐ๋ฐํ์๊ธฐ์ '2. ์ฟ ํฐ ๋ฒํธ ์์ฑ ๋ก์ง' ์์ ๊ฐ๋ฆผ๊ธธ์ ๋๋๊ณ ,
'5. ์ฟ ํฐ ์ ๋ณด ์ฝ๊ธฐ' ์์ ์ฒ๋ฆฌ ํ, '4. ์ฟ ํฐ๋ฒํธ ๋ฐ์ก ๋ก์ง' ์ผ๋ก ์งํํ๋ฉด ๋๊ฒ ๋ค.
//NOTE: additionalInfo <- HashMap<String, String>
//NOTE: Convenience.StringUtils.rtnRnd(9999): ์ฟ ํฐ ๋ฒํธ ์์ฑ(๋์)
additionalInfo = couponModel.getCouponNo() == null ?
couponMapper.additionalInfo(
Convenience.StringUtils.rtnRnd(9999) + //NOTE: ์ค๊ฐ 4์๋ฆฌ
Convenience.StringUtils.rtnRnd(9999), //NOTE: ๋ 4์๋ฆฌ
couponModel.getGroup())
:
couponMapper.getCouponInfo(couponModel.getCouponNo());
couponModel.setCouponNo(additionalInfo.get("couponNo"));
couponModel.setExpireDate(additionalInfo.get("expireDate"));