billyyoyo лет назад: 6
Родитель
Сommit
6c51fc2f0a

+ 9 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/Release_task.java

@@ -97,6 +97,15 @@ public class Release_task implements Serializable, MultiItemEntity {
     private double vip_shop_amount = 0d;
     private double video_amount = 0d;
     private boolean auto_progress = false; //充值完成
+    private int h5_accepted_task_id = 0;
+
+    public int getH5_accepted_task_id() {
+        return h5_accepted_task_id;
+    }
+
+    public void setH5_accepted_task_id(int h5_accepted_task_id) {
+        this.h5_accepted_task_id = h5_accepted_task_id;
+    }
 
     public boolean isAuto_progress() {
         return auto_progress;

+ 29 - 1
app/src/main/java/com/sheep/gamegroup/module/task/fragments/FgtVideoTaskBase.java

@@ -135,7 +135,12 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                     @Override
                     public void onError(BaseMessage baseMessage) {
-                        G.showToast(baseMessage.getErrorMsg());
+                        if (baseMessage.getCode() == 400001) {
+                            randomGoods();
+                        } else {
+                            hideProgress();
+                            G.showToast(baseMessage.getErrorMsg());
+                        }
                     }
 
                     @Override
@@ -147,6 +152,29 @@ public abstract class FgtVideoTaskBase extends BaseFragment {
                 });
     }
 
+    public void randomGoods() {
+        SheepApp.getInstance()
+                .getNetComponent()
+                .getApiService()
+                .randomGoodsForTask(releaseTaskId)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        hideProgress();
+                        acceptTask();
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        hideProgress();
+                        G.showToast(baseMessage.getErrorMsg());
+                    }
+                });
+    }
+
     public void loadAcceptedTask() {
         CommonUtil.getInstance().getAcceptedTask(releaseTaskId, at -> {
             if (at == null) {

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/module/task/fragments/FgtVideoTaskDK.java

@@ -18,7 +18,7 @@ public class FgtVideoTaskDK extends FgtVideoTaskBase implements DkAppDownloadLis
 
     @Override
     protected void initData() {
-        if (releaseTask.getAccepted_task_id() > 0) {
+        if (releaseTask.getH5_accepted_task_id() > 0) {
             loadAcceptedTask();
         } else {
             LogUtil.logI("---------------没有接受任务---------------");

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/module/task/fragments/FgtVideoTaskZK.java

@@ -98,7 +98,7 @@ public class FgtVideoTaskZK extends FgtVideoTaskBase {
 
     @Override
     protected void initData() {
-        if (releaseTask.getAccepted_task_id() > 0) {
+        if (releaseTask.getH5_accepted_task_id() > 0) {
             loadAcceptedTask();
         } else {
             LogUtil.logI("---------------没有接受任务---------------");

+ 10 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtFindChild.java

@@ -46,9 +46,11 @@ import org.greenrobot.eventbus.Subscribe;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Set;
 
 import io.reactivex.Observable;
 import rx.functions.Action1;
@@ -65,6 +67,7 @@ public class FgtFindChild extends BaseListFragment5<Article> {
     private int type;
     private int subType;
     protected List<SheepAd> ads = new ArrayList<>();
+    protected Set<Long> adSet = new HashSet<>();
 
     @Override
     public void initView() {
@@ -248,6 +251,7 @@ public class FgtFindChild extends BaseListFragment5<Article> {
         CommonUtil.getInstance().refreshAds(SheepAd.FORM_NEWS, (ret, list) -> {
             if (ret) {
                 ads = list;
+                adSet.clear();
             }
             AdHelper.stat(list, 1);
             action.call(null);
@@ -328,8 +332,13 @@ public class FgtFindChild extends BaseListFragment5<Article> {
             index++;
             temp.add(art);
             if (index > 0 && index % 3 == 0) {
-                SheepAd ad = ads.get(adi++);
+                SheepAd ad = ads.get(adi);
+                if (adSet.contains(ad.getAd_id())) {
+                    continue;
+                }
+                adi++;
                 temp.add(new Article().convertFrom(ad));
+                adSet.add(ad.getAd_id());
                 if (adi == ads.size()) adi = 0;
             }
         }