瀏覽代碼

添加游戏详情福利列表

zengjiebin 7 年之前
父節點
當前提交
2d71719fcd

+ 5 - 0
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -265,6 +265,11 @@ public interface ApiService {
     @GET(ApiKey.GET_ALL_WELFARE)
     Observable<BaseMessage> getAllWelfare(@Query("page") int page, @Query("per_page") int per_page);
     /**
+     * 获取游戏对应的福利
+     */
+    @GET(ApiKey.GET_ALL_WELFARE)
+    Observable<BaseMessage> getAppWelfare(@Query("page") int page, @Query("per_page") int per_page, @Query("app_id") int app_id);
+    /**
      * 获取游戏福利专区中的全部福利
      */
     @GET(ApiKey.GET_MY_WELFARE)

+ 18 - 9
app/src/main/java/com/sheep/gamegroup/module/game/activity/ActGameGroupOrGameDetail.java

@@ -37,6 +37,7 @@ import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.module.game.adapter.AdpGameGroupGameCompare;
 import com.sheep.gamegroup.module.game.fragment.FgtGameComment;
 import com.sheep.gamegroup.module.game.fragment.FgtGameDetail;
+import com.sheep.gamegroup.module.game.fragment.FgtGameGift;
 import com.sheep.gamegroup.module.game.fragment.FgtGameWelfare;
 import com.sheep.gamegroup.module.game.model.GameGroup;
 import com.sheep.gamegroup.util.ApiUtil;
@@ -48,6 +49,7 @@ import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.RefreshUtil;
 import com.sheep.gamegroup.util.RequestCodeConstants;
+import com.sheep.gamegroup.util.StringUtils;
 import com.sheep.gamegroup.util.TagListUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.viewHelper.LayoutParamsUtil;
@@ -96,6 +98,7 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
     }
 
     public static final String AUTO_DOWNLOAD = "auto_download";//自动下载的标识
+    public static final String KEY_HAS_WELFARE = "has_welfare";//有没有福利
 
     @Override
     protected int getLayoutId() {
@@ -163,6 +166,7 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
         Intent intent = getIntent();
         id = intent.getIntExtra("id", 0);
         isAutoDownload = intent.getBooleanExtra(AUTO_DOWNLOAD, false);
+        boolean hasWelfare = intent.getBooleanExtra(KEY_HAS_WELFARE, false);//有没有福利
         gameGroup = DataUtil.getObject(intent, GameGroup.class);
         EventBus.getDefault().register(this);
         //tagList
@@ -175,6 +179,12 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
         fgtGameComment.setSmartRefreshLayout(refresh);
         fgtGameComment.setListAction1(fgtGameDetail);
         mAdapter.add(fgtGameDetail, "详情");
+        if(hasWelfare){
+            FgtGameWelfare fgtGameWelfare = FgtGameWelfare.newInstance(id);
+            fgtGameWelfare.setSmartRefreshLayout(refresh);
+            mAdapter.add(fgtGameWelfare, "福利");
+        }
+
         mAdapter.add(fgtGameComment, "评价");
         viewPager.setOffscreenPageLimit(mAdapter.getCount());
         viewPager.setAdapter(mAdapter);
@@ -259,7 +269,7 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
         this.gameEntity = gameEntity;
         //更新关注状态
         updateFocusTv();
-        tryInitWelfare();
+        tryInitGift();
         //更新评价数量
         if (gameEntity.getApp().getComment_num() > 0) {
             TabLayout.Tab tab = tabLayout.getTabAt(1);
@@ -334,17 +344,16 @@ public class ActGameGroupOrGameDetail extends BaseActivity {
         ViewUtil.setText(gc_game_app_detail_score_tv, NumberFormatUtils.retain1(score) + "分");
     }
 
-    private FgtGameWelfare fgtGameWelfare;
-
+    private FgtGameGift fgtGameGift;
     //重新初始化viewPager的数据
-    private void tryInitWelfare() {
-        if (fgtGameWelfare != null || !gameEntity.isGift()) {
+    private void tryInitGift() {
+        if (fgtGameGift != null || !gameEntity.isGift()) {
             return;
         }
-        fgtGameWelfare = FgtGameWelfare.newInstance(id);
-        fgtGameWelfare.setSmartRefreshLayout(refresh);
-        fgtGameWelfare.loadData(gameEntity);
-        mAdapter.add(fgtGameWelfare, "礼包");
+        fgtGameGift = FgtGameGift.newInstance(id);
+        fgtGameGift.setSmartRefreshLayout(refresh);
+        fgtGameGift.loadData(gameEntity);
+        mAdapter.add(fgtGameGift, "礼包");
         mAdapter.notifyDataSetChanged();
         viewPager.setOffscreenPageLimit(mAdapter.getCount());
     }

+ 56 - 0
app/src/main/java/com/sheep/gamegroup/module/game/adapter/AdpGameWelfare.java

@@ -0,0 +1,56 @@
+package com.sheep.gamegroup.module.game.adapter;
+
+import android.support.annotation.Nullable;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.sheep.gamegroup.model.entity.Release_task;
+import com.sheep.gamegroup.model.entity.TaskEty;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.ViewHolder;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.adapter.AdbCommonRecycler;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+
+import java.util.List;
+
+/**
+ * Created by realicing on 2019/3/28.
+ * realicing@sina.com
+ */
+public class AdpGameWelfare extends BaseQuickAdapter<Release_task, BaseViewHolder> {
+    public AdpGameWelfare(@Nullable List<Release_task> data) {
+        super(R.layout.item_all_welfare, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder holder, Release_task release_task) {
+        ImageView item_icon_iv = holder.itemView.findViewById(R.id.item_icon_iv);
+        ImageView item_level_iv = holder.itemView.findViewById(R.id.item_level_iv);
+        TextView item_name_tv = holder.itemView.findViewById(R.id.item_name_tv);
+        TextView item_time_tv = holder.itemView.findViewById(R.id.item_time_tv);
+        TextView item_info_tv = holder.itemView.findViewById(R.id.item_info_tv);
+        TextView item_value_tv = holder.itemView.findViewById(R.id.item_value_tv);
+//        TextView item_btn_tv = holder.itemView.findViewById(R.id.item_btn_tv);
+        TextView item_vip_tv = holder.itemView.findViewById(R.id.item_vip_tv);
+
+        if (release_task == null) {
+            return;
+        }
+        TaskEty taskEty = release_task.getTask();
+        if (taskEty == null) {
+            return;
+        }
+        ViewUtil.setGameImage(item_icon_iv, taskEty.getIcon());
+        ViewUtil.setImageLevel(item_level_iv, release_task.getLevel());
+        ViewUtil.setText(item_name_tv, release_task.getName());
+        ViewUtil.setText(item_time_tv, release_task.getRemainderTime());
+        ViewUtil.setText(item_info_tv, release_task.getWelfareInfo());
+        ViewUtil.setText(item_value_tv, release_task.getWelfareValue());
+        ViewUtil.setVisibility(item_vip_tv, release_task.isVipWelfare());
+        ViewUtil.setOnClickListener(holder.itemView, view -> Jump2View.getInstance().goEntity(release_task));
+    }
+}

+ 154 - 0
app/src/main/java/com/sheep/gamegroup/module/game/fragment/FgtGameGift.java

@@ -0,0 +1,154 @@
+package com.sheep.gamegroup.module.game.fragment;
+
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+
+import com.sheep.gamegroup.absBase.BaseRefreshLoadMoreFragment;
+import com.sheep.gamegroup.model.entity.Article;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.GameEntity;
+import com.sheep.gamegroup.model.entity.GameInfoList;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.TestUtil;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.adapter.AdpGcGameAppActivityRecommend;
+import com.sheep.gamegroup.view.adapter.AdpGcGameAppArticleRecommend;
+import com.sheep.gamegroup.view.adapter.AdpGcGameAppGiftBag;
+import com.sheep.gamegroup.view.adapter.AdpGcGameAppInfoList;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+
+/**
+ * Created by realicing on 2019/1/22.
+ * realicing@sina.com
+ * 小绵羊3.4.10新增 -- 玩转游戏 礼包
+ */
+public class FgtGameGift extends BaseRefreshLoadMoreFragment {
+
+    @BindView(R.id.recyclerView)
+    RecyclerView recyclerView;
+
+    public static FgtGameGift newInstance(int appId) {
+        FgtGameGift fgt = new FgtGameGift();
+        fgt.appId = appId;
+        return fgt;
+    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.common_rv;
+    }
+
+
+    private ArrayList<GameInfoList> gameInfoListArrayList = ListUtil.emptyList();
+
+    @Override
+    public void onViewCreated() {
+        recyclerView.setHasFixedSize(true);
+        recyclerView.setNestedScrollingEnabled(false);
+        recyclerView.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance()));
+        AdpGcGameAppInfoList adpGcGameAppInfoList = new AdpGcGameAppInfoList(gameInfoListArrayList);
+        adpGcGameAppInfoList.bindToRecyclerView(recyclerView);
+        adpGcGameAppInfoList.setEmptyView(R.layout.include_empty_view);
+
+        refreshData();
+        if(gameEntity != null){
+            loadGameData();
+        }
+    }
+
+    //加载游戏数据
+    private void loadGameData() {
+        if (gameEntity.isGift()) {
+            gameInfoListArrayList.add(new GameInfoList("礼包推荐", new AdpGcGameAppGiftBag(SheepApp.getInstance(), gameEntity.getHas_gift_bag(), gameEntity)).setSort(SORT_GIFT));
+        }
+        ViewUtil.notifyDataSetChanged(recyclerView);
+    }
+
+
+    private int appId;
+
+
+    private GameEntity gameEntity;
+    public void loadData(final GameEntity gameEntity) {
+        this.gameEntity = gameEntity;
+        if(recyclerView != null) {
+            loadGameData();
+        }
+    }
+
+    @Override
+    public void refreshData() {
+        ListUtil.removeItem(gameInfoListArrayList, new ListUtil.CallBack<GameInfoList, Boolean>() {
+            @Override
+            public Boolean call(GameInfoList gameInfoList) {
+                return gameInfoList.getSort() == SORT_ACTIVITY || gameInfoList.getSort() == SORT_ARTICLE;
+            }
+        });
+        ViewUtil.notifyDataSetChanged(recyclerView);
+        //文章推荐
+        SheepApp.getInstance().getNetComponent().getApiService().getDetailArticleRecommend(appId)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        List<Article> newList = baseMessage.getDatas(Article.class);
+                        if (!ListUtil.isEmpty(newList)) {
+                            gameInfoListArrayList.add(new GameInfoList("文章推荐", new AdpGcGameAppArticleRecommend(getContext(), newList)).setSort(SORT_ARTICLE));
+                            ViewUtil.notifyDataSetChanged(recyclerView);
+                        }
+                        refreshOrLoadMoreComplete();
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        if (TestUtil.isDev()) G.showToast(baseMessage);
+                        refreshOrLoadMoreComplete();
+                    }
+                });
+        //活动推荐
+        SheepApp.getInstance().getNetComponent().getApiService().getDetailActivityRecommend(appId)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        List<Article> newList = baseMessage.getDatas(Article.class);
+                        if (!ListUtil.isEmpty(newList)) {
+                            gameInfoListArrayList.add(new GameInfoList("活动推荐", new AdpGcGameAppActivityRecommend(getContext(), newList)).setSort(SORT_ACTIVITY));
+                            ViewUtil.notifyDataSetChanged(recyclerView);
+                        }
+                        refreshOrLoadMoreComplete();
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        if (TestUtil.isDev()) G.showToast(baseMessage);
+                        refreshOrLoadMoreComplete();
+                    }
+                });
+    }
+
+    @Override
+    public void loadMoreData() {
+        setNoMore(true);
+        refreshOrLoadMoreComplete();
+    }
+
+    //礼包推荐
+    public static final int SORT_GIFT = 1;
+    //文章推荐
+    public static final int SORT_ARTICLE = 2;
+    //活动推荐
+    public static final int SORT_ACTIVITY = 3;
+}

+ 97 - 68
app/src/main/java/com/sheep/gamegroup/module/game/fragment/FgtGameWelfare.java

@@ -8,7 +8,12 @@ import com.sheep.gamegroup.model.entity.Article;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.GameEntity;
 import com.sheep.gamegroup.model.entity.GameInfoList;
+import com.sheep.gamegroup.model.entity.Release_task;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.module.game.adapter.AdpAllWelfare;
+import com.sheep.gamegroup.module.game.adapter.AdpGameWelfare;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.ViewUtil;
@@ -20,6 +25,8 @@ import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
+import org.afinal.simplecache.ApiKey;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -27,9 +34,9 @@ import butterknife.BindView;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
 /**
- * Created by realicing on 2019/1/22.
+ * Created by realicing on 2019/3/28.
  * realicing@sina.com
- * 小绵羊3.4.10新增 -- 玩转游戏 礼包
+ * 小绵羊3.5.3 新增 -- 玩转游戏 福利
  */
 public class FgtGameWelfare extends BaseRefreshLoadMoreFragment {
 
@@ -48,106 +55,128 @@ public class FgtGameWelfare extends BaseRefreshLoadMoreFragment {
     }
 
 
-    private ArrayList<GameInfoList> gameInfoListArrayList = ListUtil.emptyList();
+    private ArrayList<Release_task> list = ListUtil.emptyList();
 
     @Override
     public void onViewCreated() {
         recyclerView.setHasFixedSize(true);
         recyclerView.setNestedScrollingEnabled(false);
         recyclerView.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance()));
-        AdpGcGameAppInfoList adpGcGameAppInfoList = new AdpGcGameAppInfoList(gameInfoListArrayList);
-        adpGcGameAppInfoList.bindToRecyclerView(recyclerView);
-        adpGcGameAppInfoList.setEmptyView(R.layout.include_empty_view);
+        AdpGameWelfare adapter = new AdpGameWelfare(list);
+        adapter.bindToRecyclerView(recyclerView);
+        adapter.setEmptyView(R.layout.include_empty_view);
+        initData();
+    }
 
-        refreshData();
-        if(gameEntity != null){
-            loadGameData();
-        }
+
+    private int appId;
+
+    public void initListener() {
     }
 
-    //加载游戏数据
-    private void loadGameData() {
-        if (gameEntity.isGift()) {
-            gameInfoListArrayList.add(new GameInfoList("礼包推荐", new AdpGcGameAppGiftBag(SheepApp.getInstance(), gameEntity.getHas_gift_bag(), gameEntity)).setSort(SORT_GIFT));
-        }
-        ViewUtil.notifyDataSetChanged(recyclerView);
+    private boolean isFirstCache = false;//是否首先尝试缓存
+
+    //先尝试缓存数据,无缓存数据时,再尝试获取网络数据
+    private void initData() {
+        isFirstCache = true;
+        setNoMore(false);
+        page = 1;
+        list.clear();
+        mInitData();
     }
 
+    //强制刷新数据
+    public void refreshData() {
+        isFirstCache = false;
+        setNoMore(false);
+        page = 1;
+        list.clear();
+        mInitData();
+    }
 
-    private int appId;
 
+    public void loadMoreData() {
+        if (ListUtil.size(list) >= per_page * page) {
+            setNoMore(false);
+            page += 1;
+            //先加载缓存
+            getReleaseFromACache();
+            //再加载网络数据
+            getReleaseFromNetWork();
+        } else {
+            setNoMore(true);
+        }
+        notifyDataSetChanged();
+    }
+    private int page = 1;
+    private int per_page = DataUtil.PER_PAGE;
+
+    public void mInitData() {
 
-    private GameEntity gameEntity;
-    public void loadData(final GameEntity gameEntity) {
-        this.gameEntity = gameEntity;
-        if(recyclerView != null) {
-            loadGameData();
+        //先加载缓存
+        if(isFirstCache) {
+            getReleaseFromACache();
         }
+        //再加载网络数据
+        getReleaseFromNetWork();
     }
 
+    private int onResumeCount = 0;
+
     @Override
-    public void refreshData() {
-        ListUtil.removeItem(gameInfoListArrayList, new ListUtil.CallBack<GameInfoList, Boolean>() {
-            @Override
-            public Boolean call(GameInfoList gameInfoList) {
-                return gameInfoList.getSort() == SORT_ACTIVITY || gameInfoList.getSort() == SORT_ARTICLE;
+    public void onResume() {
+        super.onResume();
+        if (onResumeCount > 0) {//直接全部刷新
+            initData();
+        }
+        onResumeCount++;
+    }
+
+
+    //从ACache获取发布的任务列表
+    private void getReleaseFromACache() {
+        try {
+            List<Release_task> cacheList = DataUtil.getInstance().getCacheList(getKey(), Release_task.class);
+            if(!ListUtil.isEmpty(cacheList)){
+                ListUtil.addAllItem(list, cacheList);
             }
-        });
-        ViewUtil.notifyDataSetChanged(recyclerView);
-        //文章推荐
-        SheepApp.getInstance().getNetComponent().getApiService().getDetailArticleRecommend(appId)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        List<Article> newList = baseMessage.getDatas(Article.class);
-                        if (!ListUtil.isEmpty(newList)) {
-                            gameInfoListArrayList.add(new GameInfoList("文章推荐", new AdpGcGameAppArticleRecommend(getContext(), newList)).setSort(SORT_ARTICLE));
-                            ViewUtil.notifyDataSetChanged(recyclerView);
-                        }
-                        refreshOrLoadMoreComplete();
-                    }
+            notifyDataSetChanged();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 
-                    @Override
-                    public void onError(BaseMessage baseMessage) {
-                        if (TestUtil.isDev()) G.showToast(baseMessage);
-                        refreshOrLoadMoreComplete();
-                    }
-                });
-        //活动推荐
-        SheepApp.getInstance().getNetComponent().getApiService().getDetailActivityRecommend(appId)
+    private String getKey() {
+        return ApiKey.pageKeyUrl(ApiKey.GET_ALL_WELFARE, page, per_page) + "&app_id="+appId;
+    }
+
+    //从网络获取发布的任务列表
+    private void getReleaseFromNetWork() {
+        SheepApp.getInstance().getNetComponent().getApiService().getAppWelfare(page, per_page, appId)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        List<Article> newList = baseMessage.getDatas(Article.class);
-                        if (!ListUtil.isEmpty(newList)) {
-                            gameInfoListArrayList.add(new GameInfoList("活动推荐", new AdpGcGameAppActivityRecommend(getContext(), newList)).setSort(SORT_ACTIVITY));
-                            ViewUtil.notifyDataSetChanged(recyclerView);
+                        boolean isNewData = DataUtil.getInstance().isNewData(getKey());
+                        if (isNewData || !isFirstCache) {
+                            List<Release_task> cacheList = baseMessage.getDataList(Release_task.class);
+                            if(!ListUtil.isEmpty(cacheList)){
+                                ListUtil.addAllItem(list, cacheList);
+                            }
                         }
-                        refreshOrLoadMoreComplete();
+                        notifyDataSetChanged();
                     }
 
                     @Override
                     public void onError(BaseMessage baseMessage) {
-                        if (TestUtil.isDev()) G.showToast(baseMessage);
-                        refreshOrLoadMoreComplete();
+                        notifyDataSetChanged();
                     }
                 });
     }
-
-    @Override
-    public void loadMoreData() {
-        setNoMore(true);
+    private void notifyDataSetChanged() {
+        ViewUtil.notifyDataSetChanged(recyclerView);
         refreshOrLoadMoreComplete();
     }
 
-    //礼包推荐
-    public static final int SORT_GIFT = 1;
-    //文章推荐
-    public static final int SORT_ARTICLE = 2;
-    //活动推荐
-    public static final int SORT_ACTIVITY = 3;
 }

+ 7 - 4
app/src/main/java/com/sheep/gamegroup/module/home/fragment/FgtDailyPlayList.java

@@ -77,7 +77,7 @@ public class FgtDailyPlayList extends BaseFragment implements ILoadMore, IRefres
         activity = getActivity();
         initView();
         initListener();
-        refreshData();
+        initData();
     }
 
     public void initView() {
@@ -98,8 +98,11 @@ public class FgtDailyPlayList extends BaseFragment implements ILoadMore, IRefres
     private boolean isFirstCache = false;//是否首先尝试缓存
 
     //先尝试缓存数据,无缓存数据时,再尝试获取网络数据
-    public void initData() {
+    private void initData() {
         isFirstCache = true;
+        noMore = false;
+        page = 1;
+        list.clear();
         mInitData();
     }
 
@@ -143,7 +146,7 @@ public class FgtDailyPlayList extends BaseFragment implements ILoadMore, IRefres
     public void onResume() {
         super.onResume();
         if (onResumeCount > 0) {//直接全部刷新
-            refreshData();
+            initData();
         }
         onResumeCount++;
     }
@@ -175,7 +178,7 @@ public class FgtDailyPlayList extends BaseFragment implements ILoadMore, IRefres
                             @Override
                             public void onNext(BaseMessage baseMessage) {
                                 boolean isNewData = DataUtil.getInstance().isNewData(getKey());
-                                if (isNewData && !isFirstCache) {
+                                if (isNewData || !isFirstCache) {
                                     List<GameEntity> cacheList = baseMessage.getDataList(GameEntity.class);
                                     if(!ListUtil.isEmpty(cacheList)){
                                         ListUtil.addAllItem(list, cacheList);

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/module/home/fragment/FgtPromoteGoodsList.java

@@ -178,7 +178,7 @@ public class FgtPromoteGoodsList extends BaseFragment implements ILoadMore, IRef
                             @Override
                             public void onNext(BaseMessage baseMessage) {
                                 boolean isNewData = DataUtil.getInstance().isNewData(getKey());
-                                if (isNewData && !isFirstCache) {
+                                if (isNewData || !isFirstCache) {
                                     GetPromoteGoodsUrl getPromoteGoodsUrl = baseMessage.getData(GetPromoteGoodsUrl.class);
                                     if(getPromoteGoodsUrl != null){
                                         adapter.setBaseUrl(getPromoteGoodsUrl.getGoods_url());

+ 27 - 2
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -204,6 +204,7 @@ import okhttp3.Call;
 import rx.functions.Action1;
 
 import static com.sheep.gamegroup.module.game.activity.ActGameGroupOrGameDetail.AUTO_DOWNLOAD;
+import static com.sheep.gamegroup.module.game.activity.ActGameGroupOrGameDetail.KEY_HAS_WELFARE;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.ASK_MAKE_MONEY_INVITATION;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.FIND_ITEM;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.GAME_DOWNLOAD_WELFARE_LIST;
@@ -2896,6 +2897,7 @@ public class Jump2View {
                             G.showToast(R.string.please_contact_customer_service);
                             return;
                         }
+
                         Activity activity = SheepApp.getInstance().getCurrentActivity();
                         Intent intent = new Intent(activity, ActGameGroupOrGameDetail.class);
                         int id = gameGroup.getFirstApplicationsId();
@@ -2907,7 +2909,7 @@ public class Jump2View {
                         }
                         if(ListUtil.size(gameGroup.getApplications()) > 1)//有多个游戏时才添加游戏组数据
                             DataUtil.putObject(intent, gameGroup);
-                        activity.startActivity(intent);
+                        goPlayGameDetailAndCheckWelfare(activity, intent, id);
                     }
 
                     @Override
@@ -2935,11 +2937,34 @@ public class Jump2View {
             Intent intent = new Intent(activity, ActGameGroupOrGameDetail.class);
             intent.putExtra("id", id);
             intent.putExtra(AUTO_DOWNLOAD, isAutoDownload);
-            activity.startActivity(intent);
+            goPlayGameDetailAndCheckWelfare(activity, intent, id);
         } else {
             G.showToast(R.string.please_contact_customer_service);
         }
     }
+    /**
+     * 小绵羊3.4.10新增 -- 游戏组游戏详情 界面
+     */
+    public void goPlayGameDetailAndCheckWelfare(Activity activity, Intent intent, int appId) {
+        SheepApp.getInstance().getNetComponent().getApiService().getAppWelfare(1, DataUtil.PER_PAGE, appId)
+                        .subscribeOn(Schedulers.io())
+                        .observeOn(AndroidSchedulers.mainThread())
+                        .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                            @Override
+                            public void onNext(BaseMessage baseMessage) {
+                                List<Release_task> list = baseMessage.getDataList(Release_task.class);
+                                boolean hasWelfare = !ListUtil.isEmpty(list);
+                                intent.putExtra(KEY_HAS_WELFARE, hasWelfare);
+                                activity.startActivity(intent);
+                            }
+
+                            @Override
+                            public void onError(BaseMessage baseMessage) {
+                                intent.putExtra(KEY_HAS_WELFARE, false);
+                                activity.startActivity(intent);
+                            }
+                        });
+    }
 
     /**
      * 抢购优惠

+ 8 - 2
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtHomeTaskReleaseList.java

@@ -153,7 +153,7 @@ public class FgtHomeTaskReleaseList extends BaseFragment implements TryMakeMoney
         activity = getActivity();
         initView();
         initListener();
-        refreshData();
+        initData();
     }
 
     private String task_type = "-1";
@@ -198,8 +198,14 @@ public class FgtHomeTaskReleaseList extends BaseFragment implements TryMakeMoney
     private boolean isFirstCache = false;//是否首先尝试缓存
 
     //先尝试缓存数据,无缓存数据时,再尝试获取网络数据
-    public void initData() {
+    private void initData() {
         isFirstCache = true;
+        noMore = false;
+        releasePage = 1;
+        releaseBeginPage = 1;
+        acceptedEtyList.clear();
+        releaseEtyLists.clear();
+        releaseEtyListsBegin.clear();
         mInitData();
     }