Преглед на файлове

[이벤트][New] 응모형 참여제한 이벤트 팝업 처리

hyodong.min преди 6 години
родител
ревизия
1fe40d8bc9

+ 30 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventListPresenter.java

@@ -1,6 +1,8 @@
 package kr.co.zumo.app.lifeplus.view.screen.event;
 
 import kr.co.zumo.app.lifeplus.bean.EventDeliveryBean;
+import kr.co.zumo.app.lifeplus.bean.api.APIData;
+import kr.co.zumo.app.lifeplus.bean.api.EventBean;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.view.DoubleChecker;
 import kr.co.zumo.app.lifeplus.view.Event;
@@ -79,11 +81,34 @@ public class EventListPresenter extends Presenter<EventListModel, IEventView> {
         break;
       case Event.CLICK:
         int index = event.getIndex();
-        String eventNo = model.getEventBeans().get(index).getItemNo();
-        String eventType = model.getEventBeans().get(index).getEventType();
-        EventDeliveryBean eventDeliveryBean = new EventDeliveryBean(eventNo, eventType);
-        model.setDeliveryPackaging(eventDeliveryBean);
-        go(ScreenID.EVENT_DETAIL);
+        EventBean eventBean = model.getEventBeans().get(index);
+        String eventNo = eventBean.getItemNo();
+        String eventType = eventBean.getEventType();
+        boolean isAnswered = APIData.isTrue(eventBean.getEntryCompleted());
+        if (isAnswered) {
+          // 응모 완료 ->
+          /*
+          응모형은 진행,
+
+          선택형은
+          단일 질문 -> 결과 -> 추천
+          복수 질물 -> 추천
+           */
+          if(EventBean.TYPE_ENTRY.equals(eventBean.getEventType())) {
+            EventDeliveryBean eventDeliveryBean = new EventDeliveryBean(eventNo, eventType);
+            model.setDeliveryPackaging(eventDeliveryBean);
+            go(ScreenID.EVENT_DETAIL);
+          }
+          else {
+
+          }
+
+        }
+        else {
+          EventDeliveryBean eventDeliveryBean = new EventDeliveryBean(eventNo, eventType);
+          model.setDeliveryPackaging(eventDeliveryBean);
+          go(ScreenID.EVENT_DETAIL);
+        }
         break;
       default:
         break;

+ 10 - 9
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/entry/EventDetailEntryHolder.java

@@ -52,15 +52,16 @@ public abstract class EventDetailEntryHolder<T extends EventPageBean> extends Ev
           if (StringUtil.isFull(bean.getButtonName())) {
             buttonEntry.setText(bean.getButtonName());
           }
-          if (bean.isAvailableEntry()) {
-            buttonEntry.setEnabled(true);
-            buttonEntry.setOnClickListener(view -> {
-              listener.onEvent(new Event.Builder(Event.ENTRY).build());
-            });
-          }
-          else {
-            buttonEntry.setEnabled(false);
-          }
+//          if (bean.isAvailableEntry()) {
+          // 이벤트 참여가 불가해도 버튼을 누르고 팝업을 표시한다.
+          buttonEntry.setEnabled(true);
+          buttonEntry.setOnClickListener(view -> {
+            listener.onEvent(new Event.Builder(Event.ENTRY).build());
+          });
+//          }
+//          else {
+//            buttonEntry.setEnabled(false);
+//          }
         }
 
       }

+ 16 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/entry/EventDetailEntryPresenter.java

@@ -2,7 +2,9 @@ package kr.co.zumo.app.lifeplus.view.screen.event.entry;
 
 import android.util.Log;
 
+import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.EventDeliveryBean;
+import kr.co.zumo.app.lifeplus.bean.api.EventDetailBean;
 import kr.co.zumo.app.lifeplus.helper.ActionBarHelper;
 import kr.co.zumo.app.lifeplus.helper.NavigationBar;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
@@ -69,9 +71,9 @@ public class EventDetailEntryPresenter extends Presenter<EventDetailEntryModel,
       model.clearResultPackaging();
       model.setDisableParticipation();
 
-      if (false == model.isAvailableParticipation()) {
-        view.setDisableEntryButton();
-      }
+//      if (false == model.isAvailableParticipation()) {
+//        view.setDisableEntryButton();
+//      }
     }
   }
 
@@ -112,6 +114,17 @@ public class EventDetailEntryPresenter extends Presenter<EventDetailEntryModel,
             model.setDeliveryPackaging(model.getEventDetailBean());
             go(ScreenID.EVENT_QUESTION);
           }
+          else {
+            String limit = model.getEventDetailBean().getEventLimit();
+            if (EventDetailBean.LIMIT_ONE_A_DAY.equals(limit)) {
+              // 하루 제한
+              showErrorDialog(R.string.event_limit_a_day);
+            }
+            else {
+              // 1회 제한
+              showErrorDialog(R.string.event_limit_a_time);
+            }
+          }
         }
         else {
           showPopupForGuest();

+ 2 - 0
app/src/main/res/values/strings.xml

@@ -849,6 +849,8 @@
   <string name="event_record_title">투표 결과!\n%1$s님의 선택은 ‘%2$s’</string>
   <string name="event_record_description">투표는 현재 기준이며,\n진행 기간동안 순위 변동 될 수 있습니다.</string>
   <string name="event_record_recommend">추천 콘텐츠 보러 가기</string>
+  <string name="event_limit_a_day">1일 1회 참여 가능합니다.</string>
+  <string name="event_limit_a_time">1회만 참여 가능합니다.</string>
 
 
   <!--검색 -->

Файловите разлики са ограничени, защото са твърде много
+ 5 - 1
app/src/sandbox/java/kr/co/zumo/app/lifeplus/network/api/LifeplusAPIService.java