ソースを参照

添加老师端首页领奖弹窗逻辑

Pq 2 年 前
コミット
be83757a65

+ 9 - 0
teacher/src/main/java/com/cooleshow/teacher/api/APIService.java

@@ -3,6 +3,7 @@ package com.cooleshow.teacher.api;
 import com.common.im.bean.ContactRoomListBean;
 import com.cooleshow.base.bean.QueryParamsConfigBean;
 import com.cooleshow.base.data.net.BaseResponse;
+import com.cooleshow.teacher.bean.AwardStatusBean;
 import com.cooleshow.teacher.bean.HomeHotAlbumListBean;
 import com.cooleshow.teacher.bean.HomeHotMusicSheetBean;
 import com.cooleshow.teacher.bean.HomeLiveAndVideoBean;
@@ -784,4 +785,12 @@ public interface APIService {
      */
     @POST(TEACHER_GROUP + "music/sheet/list")
     Observable<BaseResponse<HomeHotMusicSheetBean>> getHotMusicSheetList(@Body RequestBody body);
+
+    /**
+     * 获取领奖状态
+     *
+     * @return
+     */
+    @GET(TEACHER_GROUP + "activity/checkReceiveReward")
+    Observable<BaseResponse<AwardStatusBean>> getAwardStatus();
 }

+ 14 - 0
teacher/src/main/java/com/cooleshow/teacher/bean/AwardStatusBean.java

@@ -0,0 +1,14 @@
+package com.cooleshow.teacher.bean;
+
+import java.io.Serializable;
+
+/**
+ * Author by pq, Date on 2022/10/10.
+ */
+public class AwardStatusBean implements Serializable {
+
+    /**
+     * check :
+     */
+    public String check;//1可领取 0无
+}

+ 3 - 0
teacher/src/main/java/com/cooleshow/teacher/contract/HomeContract.java

@@ -1,6 +1,7 @@
 package com.cooleshow.teacher.contract;
 
 import com.cooleshow.base.presenter.view.BaseView;
+import com.cooleshow.teacher.bean.AwardStatusBean;
 import com.cooleshow.teacher.bean.CountOfUnreadBean;
 import com.cooleshow.teacher.bean.HelpCenterContentBean;
 import com.cooleshow.teacher.bean.HomeCountBean;
@@ -32,6 +33,8 @@ public interface HomeContract {
         void getHotAlbumListSuccess(HomeHotAlbumListBean homeHotAlbumListBean);
 
         void getHotMusicSheetListSuccess(HomeHotMusicSheetBean homeHotMusicSheetBean);
+
+        void getAwardStatus(AwardStatusBean awardStatusBean);
     }
 
     interface Presenter {

+ 17 - 0
teacher/src/main/java/com/cooleshow/teacher/presenter/main/HomePresenter.java

@@ -5,6 +5,7 @@ import com.cooleshow.base.presenter.BasePresenter;
 import com.cooleshow.base.rx.BaseObserver;
 import com.cooleshow.base.utils.RequestBodyUtil;
 import com.cooleshow.teacher.api.APIService;
+import com.cooleshow.teacher.bean.AwardStatusBean;
 import com.cooleshow.teacher.bean.CountOfUnreadBean;
 import com.cooleshow.teacher.bean.HelpCenterContentBean;
 import com.cooleshow.teacher.bean.HomeCountBean;
@@ -15,6 +16,7 @@ import com.cooleshow.teacher.bean.HomeMenuBean;
 import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.teacher.contract.HomeContract;
 import com.cooleshow.usercenter.bean.UserInfo;
+import com.cooleshow.usercenter.helper.UserHelper;
 
 import org.json.JSONException;
 import org.json.JSONObject;
@@ -221,4 +223,19 @@ public class HomePresenter extends BasePresenter<HomeContract.HomeView> implemen
         });
     }
 
+
+    public void getAwardStatus() {
+        if (UserHelper.getShowAwardDialogTipIsCompleted()) {
+            //如果今日目标账号已经显示过就不再请求接口了
+            return;
+        }
+        addSubscribe(create(APIService.class).getAwardStatus(), new BaseObserver<AwardStatusBean>(getView()) {
+            @Override
+            protected void onSuccess(AwardStatusBean data) {
+                if (null != getView()) {
+                    getView().getAwardStatus(data);
+                }
+            }
+        });
+    }
 }

+ 23 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/main/NewHomeFragment.java

@@ -18,11 +18,13 @@ import com.cooleshow.base.utils.TimeUtils;
 import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.utils.Utils;
 import com.cooleshow.base.utils.helper.WebStartHelper;
+import com.cooleshow.base.widgets.dialog.AwardTipDialog;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.HomeGoodMusicSheetAdapter;
 import com.cooleshow.teacher.adapter.HomeHotAlbumAdapter;
 import com.cooleshow.teacher.adapter.HomeHotMusicSheetAdapter;
 import com.cooleshow.teacher.adapter.HomeMenuPageAdapter;
+import com.cooleshow.teacher.bean.AwardStatusBean;
 import com.cooleshow.teacher.bean.CountOfUnreadBean;
 import com.cooleshow.teacher.bean.HelpCenterContentBean;
 import com.cooleshow.teacher.bean.HomeCountBean;
@@ -197,6 +199,8 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
             presenter.getHotAlbumList();
             //热门曲目
             presenter.getHotMusicSheetList();
+            //获取领奖状态
+            presenter.getAwardStatus();
         }
     }
 
@@ -431,6 +435,25 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
         }
     }
 
+    @Override
+    public void getAwardStatus(AwardStatusBean awardStatusBean) {
+        if (isDetached()) {
+            return;
+        }
+        if (awardStatusBean != null && TextUtils.equals(awardStatusBean.check, "1")) {
+            showAwardTipDialog();
+        }
+    }
+
+    private void showAwardTipDialog() {
+        if (UserHelper.getShowAwardDialogTipIsCompleted()) {
+            return;
+        }
+        AwardTipDialog awardTipDialog = new AwardTipDialog(getContext());
+        awardTipDialog.show();
+        UserHelper.setShowAwardDialogTipCompleted();
+    }
+
     public void getTeacherInfoSuccess(TeacherUserInfo teacherUserInfo) {
         if (teacherUserInfo == null) {
             return;