/******/ (() => { // webpackBootstrap var __webpack_exports__ = {}; const { EventManager, Handlebars, utils } = ShopbySkin; let membershipInfo = {}; const gradePeriod = 2; (() => { const getGradeStartDate = () => { const period = gradePeriod; const day = 1; const today = new Date(); const startDay = new Date(today.getFullYear(), today.getMonth() - (period - 1), day); let year = startDay.getFullYear(); let month = startDay.getMonth() + 1; month = month > 10 ? month : '0' + month; return year + '-' + month + '-01'; } const getToDate = () => { const today = new Date(); let year = today.getFullYear(); let month = today.getMonth() + 1; month = month >= 10 ? month : '0' + month; let date = today.getDate(); date = date >= 10 ? date : '0' + date; return year + '-' + month + '-' + date; } const _getMembershipInfoFetchApis = async () => { const kaimenShopbyApi = new KaimenShopbyApi(); const result = await Promise.all([ kaimenShopbyApi.getProfileOrdersSummaryAmount({ queryString: { orderStatusType: 'BUY_CONFIRM', startYmd: getGradeStartDate(), endYmd: getToDate(), }, }), //kaimenShopbyApi.getProfileGrade({}), kaimenShopbyApi.getMemberGrades({queryString: {}}), ]); return result.map(({ data }) => data); }; const _getMembershipInfo = async (profile) => { const [summaryAmount, memberGrade] = await _getMembershipInfoFetchApis(); const grade = { label: profile.memberGradeName, gradeNo: profile.memberGradeNo, }; let currentGrade = []; let nextGrade = []; let currentGradePosition = 0; let nextGradePosition = 0; let lastGradePayment = 0; if(memberGrade !== undefined && memberGrade !== null){ lastGradePayment = memberGrade[memberGrade.length-1].evaluationCondition.minimumPayment; } let totalAmt = 0; if(summaryAmount !== undefined && summaryAmount.lastPayAmt !== undefined){ totalAmt = summaryAmount.lastPayAmt; } if(memberGrade !== undefined && memberGrade !== null){ memberGrade.forEach((gradeData, key) => { if(nextGrade.label === undefined && (gradeData.evaluationCondition.minimumPayment > totalAmt || (gradeData.evaluationCondition.minimumPayment === lastGradePayment && lastGradePayment <= totalAmt))){ nextGrade = gradeData; } let nextKey = key + 1; nextKey = memberGrade.length <= nextKey ? key : nextKey; if(gradeData.evaluationCondition.minimumPayment <= totalAmt && memberGrade[nextKey].evaluationCondition.minimumPayment > totalAmt || lastGradePayment <= totalAmt){ nextGradePosition = key; } if(gradeData.no === grade.gradeNo){ currentGrade = gradeData; currentGradePosition = key; } }); } if(currentGrade !== undefined && nextGrade.length === 0){ nextGrade = currentGrade; } let nextGradePrice = 0; if(nextGrade.evaluationCondition !== undefined){ nextGradePrice = nextGrade.evaluationCondition.minimumPayment - totalAmt; } let membershipData = { grade : grade.label, totalPrice : totalAmt, nextGrade : (nextGrade.label !== undefined ? nextGrade.label : ''), nextGradePrice : nextGradePrice, nextGradePosition : nextGradePosition, currentGradePosition : currentGradePosition, } return membershipData; }; const setGradePosition = () => { if(membershipInfo.currentGradePosition !== undefined){ document.querySelectorAll("#myPageSummary .grade_img img")[membershipInfo.currentGradePosition].classList.remove('dn'); } if(membershipInfo.nextGradePosition !== undefined){ document.querySelectorAll(".member_grade_info li")[membershipInfo.nextGradePosition].classList.add('active'); } }; EventManager.on('QUERY_GET_PROFILE', async (commonData) => { membershipInfo = await _getMembershipInfo(commonData); setGradePosition(); }); EventManager.on('FETCH_PROFILE_ORDERS_SUMMARY_AMOUNT', async (data) => { setGradePosition(); }); Handlebars.registerHelper({ setCurrentGradePosition(){ return membershipInfo.currentGradePosition; }, getGradePeriod(){ return gradePeriod; }, getMembershipInfoTotalPrice(){ return membershipInfo.totalPrice; }, getNextGradePrice(){ return membershipInfo.nextGradePrice; }, getNextGrade(){ return membershipInfo.nextGrade; }, }); })(); /******/ })() ;