|
|
@@ -1,13 +1,14 @@
|
|
|
package kr.co.zumo.app.lifeplus.view.screen.event;
|
|
|
|
|
|
-import kr.co.zumo.app.R;
|
|
|
import kr.co.zumo.app.lifeplus.bean.EventDeliveryBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.EventRecommendDeliveryBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.EventRecordDeliveryBean;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.APIData;
|
|
|
import kr.co.zumo.app.lifeplus.bean.api.EventBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.EventDetailBean;
|
|
|
import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
|
|
|
import kr.co.zumo.app.lifeplus.view.DoubleChecker;
|
|
|
import kr.co.zumo.app.lifeplus.view.Event;
|
|
|
-import kr.co.zumo.app.lifeplus.view.ToastProvider;
|
|
|
import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
|
|
|
|
|
|
/**
|
|
|
@@ -89,7 +90,10 @@ public class MyEventPresenter extends Presenter<MyEventModel, IMyEventView> {
|
|
|
break;
|
|
|
case Event.CLICK:
|
|
|
// 이벤트 클릭
|
|
|
- linkEvent(event.getIndex());
|
|
|
+ EventBean eventBean = model.getEventBeans().get(event.getIndex());
|
|
|
+ // 이벤트 디테일 확인해서 처리
|
|
|
+ model.setEventNo(eventBean.getItemNo());
|
|
|
+ model.loadEventDetail();
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
@@ -103,7 +107,7 @@ public class MyEventPresenter extends Presenter<MyEventModel, IMyEventView> {
|
|
|
*/
|
|
|
protected void onEventListClick() {
|
|
|
//진행중인 이벤트 - 마이 메인에서 진입
|
|
|
- if(model.getPrevScreenId() == ScreenID.EVENT_LIST) {
|
|
|
+ if (model.getPrevScreenId() == ScreenID.EVENT_LIST) {
|
|
|
// 이벤트 리스트로 돌아감
|
|
|
back();
|
|
|
}
|
|
|
@@ -112,42 +116,62 @@ public class MyEventPresenter extends Presenter<MyEventModel, IMyEventView> {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void linkEvent(int index) {
|
|
|
- /* todo 이벤트 클릭
|
|
|
- -> 진행 중
|
|
|
- => 이벤트 상세
|
|
|
- -> 종료
|
|
|
- => 응모형: 이벤트 상세
|
|
|
- => 항목형: 이벤트 종료 팝업 노출
|
|
|
- */
|
|
|
- EventBean bean = model.getEventBeans().get(index);
|
|
|
- if (bean.isEventEnd()) {
|
|
|
- // 종료
|
|
|
- if (bean.getEventType().equals(EventBean.TYPE_ENTRY)) {
|
|
|
- // 응모형
|
|
|
- gotoEvent(index);
|
|
|
+ private void linkEvent() {
|
|
|
+ EventDetailBean bean = model.getEventDetailBean();
|
|
|
+ if (model.isAvailableParticipation() && bean.isBetween()) {
|
|
|
+ // 참여 가능
|
|
|
+ gotoEvent(bean);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ // 참여불가
|
|
|
+ if (EventBean.TYPE_ENTRY.equals(bean.getEventType())) {
|
|
|
+ // 응모형 -> 화면 이동
|
|
|
+ gotoEvent(bean);
|
|
|
}
|
|
|
else {
|
|
|
// 선택형
|
|
|
- // todo 단일 질문 => 참여 결과 보여주기.
|
|
|
// 복수 질문 => 태그 추천 컨텐츠
|
|
|
- ToastProvider.showSimple(R.string.event_end);
|
|
|
+ onDetailLoadCompleted();
|
|
|
}
|
|
|
}
|
|
|
- else {
|
|
|
- // 진행 중
|
|
|
- gotoEvent(index);
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
- private void gotoEvent(int index) {
|
|
|
- String eventNo = model.getEventBeans().get(index).getItemNo();
|
|
|
- String eventType = model.getEventBeans().get(index).getEventType();
|
|
|
+ private void gotoEvent(EventDetailBean bean) {
|
|
|
+ String eventNo = bean.getItemNo();
|
|
|
+ String eventType = bean.getEventType();
|
|
|
EventDeliveryBean eventDeliveryBean = new EventDeliveryBean(eventNo, eventType);
|
|
|
+ eventDeliveryBean.setEventDetailBean(bean);
|
|
|
model.setDeliveryPackaging(eventDeliveryBean);
|
|
|
go(ScreenID.EVENT_DETAIL);
|
|
|
}
|
|
|
|
|
|
+ private void onDetailLoadCompleted() {
|
|
|
+ // fixme event 선택형과 같은 코드가 있다. 리팩토링 필요
|
|
|
+ // 단일 질문 => 결과 페이지 표시 => 추천 콘텐츠(버튼) => tag or 기본 형 추천 컨텐츠 표시
|
|
|
+ // 복수 질문 => tag 추천 컨텐츠 표시
|
|
|
+ if (model.isSimpleQuestion()) {
|
|
|
+ // 단일 질문
|
|
|
+ // 참여 결과 노출 => 설정 된 추천 컨텐츠(tar or basic) 표시
|
|
|
+
|
|
|
+ // eventNO 필수, eventDetailBean 있으면 전달
|
|
|
+ String eventNo = model.getEventDetailBean().getItemNo();
|
|
|
+ EventRecordDeliveryBean eventDeliveryBean = new EventRecordDeliveryBean(eventNo);
|
|
|
+ eventDeliveryBean.setEventDetailBean(model.getEventDetailBean());
|
|
|
+ model.setDeliveryPackaging(eventDeliveryBean);
|
|
|
+ go(ScreenID.EVENT_RECORD);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ // 복수 질문 -> tag 추천 컨텐츠
|
|
|
+
|
|
|
+ // eventNO 필수, eventDetailBean 있으면 전달
|
|
|
+ String eventNo = model.getEventDetailBean().getItemNo();
|
|
|
+ EventRecommendDeliveryBean eventDeliveryBean = new EventRecommendDeliveryBean(eventNo);
|
|
|
+ eventDeliveryBean.setEventDetailBean(model.getEventDetailBean());
|
|
|
+ model.setDeliveryPackaging(eventDeliveryBean);
|
|
|
+ go(ScreenID.EVENT_RECOMMEND);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void onScreenReady() {
|
|
|
doubleChecker.checkFirst();
|
|
|
@@ -160,6 +184,9 @@ public class MyEventPresenter extends Presenter<MyEventModel, IMyEventView> {
|
|
|
if (event.getInteger() == Event.EVENT_LIST) {
|
|
|
doubleChecker.checkSecond();
|
|
|
}
|
|
|
+ else if (event.getInteger() == Event.EVENT_DETAIL) {
|
|
|
+ linkEvent();
|
|
|
+ }
|
|
|
break;
|
|
|
case Event.ERROR:
|
|
|
showErrorDialog(event.getString());
|