728x90

2023 새해 복주머니 이벤트 진행

팝업페이지에 이벤트 안내

=> 클릭시 이벤트 페이지 및 순위보기 버튼

=> 클릭시 이벤트 랭킹 페이지 출력

- 실시간 출력

- 1,2,3등 상단에 출력

- 내 성별카테고리로 클릭시 1,2,3등 밑에 내 순위 출력

- 그 밑에 다른 4등부터 500등까지 출력

- 500명까지 받은 순위가 없을 시 최근 접속한 유저 출력

- 우측하단에 복주머니 아이콘에 보유개수와 아이템 구매창으로 이동하는 버튼 생성

=> 랭커 클릭시 프로필 페이지

- 탑3랭커 클릭시 프로필페이지로 이동, 중간에 순위배너 설정

- 일반 랭커는 배너에 받은 복주머니 갯수 출력

=> 배너 우측에 선물하기 버튼 생성 및 클릭시 선물하기 팝업

- 갯수 설정, 초기화, 보유한 복주머니 갯수, 구매버튼 출력

=> 선물하기 클릭시 lottie 애니메이션 출력

- 갈색토끼(x1), 흰토끼(x3), 검은토끼(x5) 확률설정에 의해 랜덤 출력

- 남성일 경우 초기 복주머니 3개 지급, 검은토끼 나올시 프로필 열람권 1회 아이템 획득

- 여성 유저일 경우 매일 복주머니 100개 세팅, 상대방 프로필 열람시 복주머니 10개 지급

=> 복주머니 아이템 구매 페이지 이동

- 여성일때 정책에 따라 위로 올리기 아이템 추가 지급

 

-->서버 테스트진행

어려웠던 버그

no.7 => 기존 이벤트에서 아이템명을 DB쪽에서 초기 아이템명으로 통일이 되어 구매내역에 아이템명이 최신 이벤트 아이템명으로 되어있었다. DB쪽에서는 따로 변경하는게 어렵다고 하여 기획팀과 협의한 후 지난아이템은 환불처리가 되기 때문에 모두 '선물 이벤트'로 지정하기로 하여 JAVA쪽에서 아이템명을 '선물이벤트' 으로 글자를 바꾸었다 하지만 취소 부분에서 '복주머니 취소'로 되어있어 취소부분이 빠지게 되었다.

그래서 '복주머니 취소' 라는 구문에 이벤트 아이템명이 포함되어있으면 아이템명만 선물이벤트로 치환하는 방식을 사용하였다.

- 이전 코드

/**
 * 이벤트 DB, 디자인은 glove, pocket, ... 등으로 나눠서 개발이 진행됨.
 * 아이템 코드는 glove로 고정됨에 따라 아래와 같이 obj_code_name으로 조회해서 분기..
 */
if (!StringUtils.isEmpty(objCodeName)) {
    String replaceObjCodeName = objCodeName.replaceAll(" [0-9]+개", "");
    EventInfoVO eventInfoVO = eventInfoComponent.searchEventInfoFromEvtSubName(replaceObjCodeName);
    if (eventInfoVO != null) {
        //vo.setObjClass(eventInfoVO.getEvtType());
        vo.setObjClass("evnt_"+eventInfoVO.getEvtType());
    }
}

- 변경한 코드

/**
 * 이벤트 DB, 디자인은 glove, pocket, ... 등으로 나눠서 개발이 진행됨.
 * 아이템 코드는 glove로 고정됨에 따라 아래와 같이 obj_code_name으로 조회해서 분기..
 */
if (!StringUtils.isEmpty(objCodeName)) {
    String replaceObjCodeName = objCodeName.replaceAll(" [0-9]+개", "");
    EventInfoVO eventInfoVO = eventInfoComponent.searchEventInfoFromEvtSubName(replaceObjCodeName);
    if (eventInfoVO != null) {
        if( replaceObjCodeName.contains(eventInfoVO.getEvtName())){
            String itemName = objCodeName.replaceAll(eventInfoVO.getEvtName(),"선물이벤트");
            vo.setObjCodeName(itemName);
            vo.setObjClass("evnt_past");
        }
    }
}

 

결과 화면

 

 

 

 

 

 

 

 

 

728x90
복사했습니다!