Explorar o código

游戏详情中的福利列表添加赏金福利2

zengjiebin %!s(int64=7) %!d(string=hai) anos
pai
achega
1f337f007b

+ 22 - 2
app/src/main/java/com/sheep/gamegroup/model/entity/Release_task.java

@@ -2,6 +2,7 @@ package com.sheep.gamegroup.model.entity;
 
 import android.text.TextUtils;
 
+import com.chad.library.adapter.base.entity.MultiItemEntity;
 import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.sheep.gamegroup.helper.DownloadHelper;
 import com.sheep.gamegroup.util.TimeUtil;
@@ -52,7 +53,7 @@ import java.util.Locale;
  * ) ENGINE=InnoDB AUTO_INCREMENT=1589 DEFAULT CHARSET=utf8 COMMENT='发布任务';
  */
 
-public class Release_task implements Serializable {
+public class Release_task implements Serializable, MultiItemEntity {
     private float bonus;// 0,
     private float vip_bonus;// 0,
     private String create_time;// 0,
@@ -471,6 +472,14 @@ public class Release_task implements Serializable {
     public String getRewardMsg() {
         return String.format(Locale.CHINA, "+%s元%s", getBonusText(), getRewardTypeNameMsg());
     }
+    /**
+     * +5元
+     *
+     * @return
+     */
+    public String getRewardMsgSimple() {
+        return String.format(Locale.CHINA, "+%s元", getBonusText());
+    }
 
 
     //以下为福利相关方法
@@ -522,10 +531,14 @@ public class Release_task implements Serializable {
     public CharSequence getWelfareValue() {
         return new SpannableSb().append("价值:").append(String.format(Locale.CHINA, "¥%s", bonus), "#FD2D54").getSsb();
     }
-    //获取福利的价值
+    //获取福利剩余时间
     public CharSequence getRemainderTime() {
         return new SpannableSb().append("剩余时间:").append(TimeUtil.getDurationText2(Long.valueOf(deadline) - System.currentTimeMillis() / 1000L)).getSsb();
     }
+    //获取福利剩余时间
+    public CharSequence getRemainderTime2() {
+        return new SpannableSb().append("有效期:").append(NumberFormatUtils.parseInteger(deadline, 0) > 0 ? TimeUtil.TimeStamp2Date(Long.valueOf(deadline), "yyyy-MM-dd") : "永久").getSsb();
+    }
 
     //获取级别,其对应资源中的R.drawable.ic_welfare_level_1
     public int getLevel() {
@@ -534,4 +547,11 @@ public class Release_task implements Serializable {
     public boolean isVipWelfare(){
         return vip == 1;
     }
+
+
+
+    @Override
+    public int getItemType() {//游戏详情中赏金任务与福利列表用到,只显示这两种类型
+        return task.getTask_type() == 1020 ? 1020 : 1019;
+    }
 }

+ 105 - 0
app/src/main/java/com/sheep/gamegroup/module/game/adapter/AdpGameWelfareAndMoneyReward.java

@@ -0,0 +1,105 @@
+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.BaseMultiItemQuickAdapter;
+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.ViewUtil;
+import com.sheep.jiuyan.samllsheep.R;
+
+import java.util.List;
+
+/**
+ * Created by realicing on 2019/3/28.
+ * realicing@sina.com
+ * 玩转游戏详情中 福利或赏金福利
+ */
+public class AdpGameWelfareAndMoneyReward extends BaseMultiItemQuickAdapter<Release_task, BaseViewHolder> {
+    public AdpGameWelfareAndMoneyReward(@Nullable List<Release_task> data) {
+        super(data);
+        addItemType(1019, R.layout.item_all_welfare);
+        addItemType(1020, R.layout.item_money_reward_and_top);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder holder, Release_task release_task) {
+        switch (holder.getItemViewType()){
+            case 1019:
+                convert1019(holder, release_task);
+                break;
+            case 1020:
+                convert1020(holder, release_task);
+                break;
+        }
+    }
+    //福利
+    private void convert1019(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));
+    }
+    //赏金任务
+    private void convert1020(BaseViewHolder viewHolder, Release_task release_task) {
+        //top
+//        TextView hp_gwe_tv1 = viewHolder.itemView.findViewById(R.id.hp_gwe_tv1);
+        TextView hp_gwe_tv2 = viewHolder.itemView.findViewById(R.id.hp_gwe_tv2);
+        ImageView hp_gwe_iv = viewHolder.itemView.findViewById(R.id.hp_gwe_iv);
+        ViewUtil.setText(hp_gwe_tv2, "该任务奖励,只可消费不可提现");
+        ViewUtil.setVisibility(hp_gwe_iv, false);
+
+        //content
+        ImageView item_icon_iv = viewHolder.itemView.findViewById(R.id.item_icon_iv);
+        TextView item_name_tv = viewHolder.itemView.findViewById(R.id.item_name_tv);
+        TextView item_time_tv = viewHolder.itemView.findViewById(R.id.item_time_tv);
+        TextView item_info_tv = viewHolder.itemView.findViewById(R.id.item_info_tv);
+        TextView item_value_tv = viewHolder.itemView.findViewById(R.id.item_value_tv);
+//        TextView item_btn_tv = viewHolder.itemView.findViewById(R.id.item_btn_tv);
+        TextView item_vip_tv = viewHolder.itemView.findViewById(R.id.item_vip_tv);
+        ImageView item_vip_iv = viewHolder.itemView.findViewById(R.id.item_vip_iv);
+
+        if (release_task == null) {
+            return;
+        }
+        TaskEty taskEty = release_task.getTask();
+        if (taskEty == null) {
+            return;
+        }
+        ViewUtil.setGameImage(item_icon_iv, taskEty.getIcon());
+        ViewUtil.setVisibility(item_vip_iv, release_task.isVipWelfare());
+        ViewUtil.setText(item_name_tv, taskEty.getDesc());
+        ViewUtil.setText(item_time_tv, release_task.getName());
+        ViewUtil.setText(item_info_tv, release_task.getRemainderTime());
+        ViewUtil.setText(item_value_tv, release_task.getRewardMsgSimple());
+        ViewUtil.setVisibility2(item_value_tv, !release_task.isVipWelfare());
+        ViewUtil.setText(item_vip_tv, release_task.getVipBonusText());
+        ViewUtil.setOnClickListener(viewHolder.itemView, view -> Jump2View.getInstance().goEntity(release_task));
+
+
+    }
+}

+ 3 - 2
app/src/main/java/com/sheep/gamegroup/module/game/fragment/FgtGameWelfare.java

@@ -12,6 +12,7 @@ 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.module.game.adapter.AdpGameWelfareAndMoneyReward;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.ListUtil;
@@ -36,7 +37,7 @@ import io.reactivex.schedulers.Schedulers;
 /**
  * Created by realicing on 2019/3/28.
  * realicing@sina.com
- * 小绵羊3.5.3 新增 -- 玩转游戏 福利
+ * 小绵羊3.5.3 新增 -- 玩转游戏详情中 福利或赏金福利列表
  */
 public class FgtGameWelfare extends BaseRefreshLoadMoreFragment {
 
@@ -62,7 +63,7 @@ public class FgtGameWelfare extends BaseRefreshLoadMoreFragment {
         recyclerView.setHasFixedSize(true);
         recyclerView.setNestedScrollingEnabled(false);
         recyclerView.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance()));
-        AdpGameWelfare adapter = new AdpGameWelfare(list);
+        AdpGameWelfareAndMoneyReward adapter = new AdpGameWelfareAndMoneyReward(list);
         adapter.bindToRecyclerView(recyclerView);
         adapter.setEmptyView(R.layout.include_empty_view);
         initData();

+ 4 - 0
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -1841,6 +1841,10 @@ public class Jump2View {
                     goWeb(SheepApp.getInstance().getCurrentActivity(), new WebParams(Config.getUrlByPath(Config.PATH_WELFARE_DETAIL
                             , "id", item.getId(), "device_id", DeviceUtil.getDeviceId(SheepApp.getInstance()), "app_version", String.valueOf(BuildConfig.VERSION_CODE))).setTitle(item.getName()));
                     break;
+                case 1020:
+                    goWeb(SheepApp.getInstance().getCurrentActivity(), new WebParams(Config.getUrlByPath(Config.PATH_MONEY_REWARD_DETAIL
+                            , "id", item.getId(), "device_id", DeviceUtil.getDeviceId(SheepApp.getInstance()), "app_version", String.valueOf(BuildConfig.VERSION_CODE))).setTitle(item.getName()));
+                    break;
                 default:
                     goTaskDetailView(SheepApp.getInstance().getCurrentActivity(), item.getId());
                     break;

+ 10 - 10
app/src/main/java/com/sheep/gamegroup/util/TimeUtil.java

@@ -287,14 +287,14 @@ public class TimeUtil {
     // 将Unix时间戳转变为日期,如调用TimeStampToDate("1252639886", "yyyy-MM-dd
     // HH:mm:ss")返回值:2009-11-09 11:31:26
 
-    public String TimeStamp2Date(Long timestamp, String formats) {
-        String date = "";
-        try {
-            date = new java.text.SimpleDateFormat(formats).format(new java.util.Date(timestamp));
-
-        } catch (NumberFormatException e) {
-
-        }
-        return date;
-    }
+//    public String TimeStamp2Date(Long timestamp, String formats) {
+//        String date = "";
+//        try {
+//            date = new java.text.SimpleDateFormat(formats).format(new java.util.Date(timestamp));
+//
+//        } catch (NumberFormatException e) {
+//
+//        }
+//        return date;
+//    }
 }

+ 12 - 4
app/src/main/java/com/sheep/gamegroup/view/activity/MiddleSchemeAct.java

@@ -9,6 +9,7 @@ import android.support.annotation.Nullable;
 import android.text.TextUtils;
 
 import com.alibaba.fastjson.JSONObject;
+import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.sheep.gamegroup.model.api.BaseMessageConverter;
 import com.sheep.gamegroup.model.entity.DialogConfig;
 import com.sheep.gamegroup.model.entity.HomeListEntity;
@@ -18,6 +19,7 @@ import com.sheep.gamegroup.util.ActionUtil;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.util.LogUtil;
+import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
@@ -88,14 +90,14 @@ public class MiddleSchemeAct extends Activity {
                 break;
             //sheep://small.kfzs.com/xmy?type=bind_mobile
             //sheep://small.kfzs.com/xmy?type=bm
-            case "bm"://跳转福利界面
-            case "bind_mobile"://跳转福利界面
+            case "bm"://跳转绑定手机
+            case "bind_mobile"://跳转绑定手机
                 Jump2View.getInstance().goBindPhone(activity, null);
                 break;
             //sheep://small.kfzs.com/xmy?type=welfare
             //sheep://small.kfzs.com/xmy?type=wfa
-            case "welfare"://跳转福利界面
-            case "wfa"://跳转福利界面
+            case "welfare"://跳转原生福利专区
+            case "wfa"://跳转原生福利专区
                 Jump2View.getInstance().toActWelfareSpecialArea();
                 break;
             //sheep://small.kfzs.com/xmy?type=jhl&data={"Jump":"1"}
@@ -172,6 +174,12 @@ public class MiddleSchemeAct extends Activity {
                         .setBtnLeftText("取消").setBtnRightText("前往")
                         .setBtnRightOnClickListener(view -> Jump2View.getInstance().goWeb(SheepApp.getInstance().getCurrentActivity(), new WebParams(url).setTitle("爱奇艺会员VIP"))));
                 break;
+            //sheep://small.kfzs.com/xmy?type=startAlermApp&hour=7&min=5
+            case "startAlermApp":
+                int hour = NumberFormatUtils.parseInteger(uri.getQueryParameter("hour"), 7);
+                int min = NumberFormatUtils.parseInteger(uri.getQueryParameter("min"), 5);
+                SysAppUtil.startAlermApp(activity, activity.getString(R.string.smallsheep_checkin_task), hour, min);
+                break;
         }
 //                    LogUtil.println("ActMain", "checkScheme","url: " + url);
 //                    // scheme部分

+ 2 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/Config.java

@@ -82,6 +82,8 @@ public class Config {
     public static final String PATH_SBD_HOME = STATION_SUI_BIAN_DA + "/";
     //福利
     public static final String PATH_WELFARE_DETAIL = STATION_WELFARE + "/detail";
+    //赏金福利
+    public static final String PATH_MONEY_REWARD_DETAIL = STATION_WELFARE + "/money-reward-detail";
     //赏金任务列表
     public static final String PATH_WELFARE_MONEY_REWARD_LIST = STATION_WELFARE + "/money-reward-list";
     //邀请赚钱主页

+ 1 - 0
app/src/main/res/layout/hp_game_welfare_entrance.xml

@@ -38,6 +38,7 @@
         app:layout_constraintStart_toEndOf="@id/hp_gwe_tv1" />
 
     <ImageView
+        android:id="@+id/hp_gwe_iv"
         android:layout_width="5dp"
         android:layout_height="wrap_content"
         android:adjustViewBounds="true"

+ 115 - 0
app/src/main/res/layout/item_money_reward.xml

@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <ImageView
+        android:id="@+id/item_icon_iv"
+        android:layout_width="89dp"
+        android:layout_height="89dp"
+        android:layout_marginStart="15dp"
+        android:layout_marginTop="11dp"
+        android:layout_marginBottom="19dp"
+        android:src="@mipmap/sheep_logo"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:id="@+id/item_name_tv"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="3dp"
+        android:layout_marginEnd="5dp"
+        android:ellipsize="end"
+        android:singleLine="true"
+        android:text="王者荣耀皮肤"
+        android:textColor="#ff333333"
+        android:textSize="14sp"
+        app:layout_constraintEnd_toStartOf="@id/item_value_tv"
+        app:layout_constraintStart_toEndOf="@id/item_icon_iv"
+        app:layout_constraintTop_toTopOf="@id/item_icon_iv" />
+
+    <TextView
+        android:id="@+id/item_time_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="5dp"
+        android:text="剩余时间:3天54小时12分"
+        android:textColor="#ff999999"
+        android:textSize="12sp"
+        app:layout_constraintBottom_toTopOf="@id/item_info_tv"
+        app:layout_constraintStart_toStartOf="@id/item_name_tv" />
+
+    <TextView
+        android:id="@+id/item_info_tv"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="5dp"
+        android:ellipsize="end"
+        android:singleLine="true"
+        android:text="内容:xx皮肤、xx皮肤"
+        android:textColor="#ff999999"
+        android:textSize="10sp"
+        app:layout_constraintBottom_toBottomOf="@id/item_icon_iv"
+        app:layout_constraintEnd_toStartOf="@id/item_vip_tv"
+        app:layout_constraintStart_toStartOf="@id/item_name_tv" />
+
+    <TextView
+        android:id="@+id/item_value_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="21dp"
+        android:layout_marginBottom="4dp"
+        android:text="+8元"
+        android:textColor="#ffff2d4b"
+        android:textSize="18sp"
+        app:layout_constraintBottom_toTopOf="@id/item_vip_tv"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="@id/item_btn_tv" />
+
+    <TextView
+        android:id="@+id/item_btn_tv"
+        style="@style/style_button_find"
+        android:layout_marginEnd="17dp"
+        android:text="查看详情"
+        app:layout_constraintBottom_toBottomOf="@id/item_icon_iv"
+        app:layout_constraintEnd_toEndOf="parent" />
+
+    <TextView
+        android:id="@+id/item_vip_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="21dp"
+        android:layout_marginBottom="4dp"
+        android:text="会员+9.6元"
+        android:textColor="#ffc3995e"
+        android:textSize="12sp"
+        app:layout_constraintBottom_toTopOf="@id/item_btn_tv"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="@id/item_btn_tv" />
+
+    <ImageView
+        android:id="@+id/item_vip_iv"
+        android:layout_width="28dp"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="4dp"
+        android:adjustViewBounds="true"
+        android:scaleType="fitXY"
+        android:src="@mipmap/ic_mr_vip"
+        app:layout_constraintBottom_toTopOf="@id/item_vip_tv"
+        app:layout_constraintEnd_toEndOf="@id/item_btn_tv"
+        app:layout_constraintStart_toStartOf="@id/item_btn_tv" />
+
+
+    <View
+        android:layout_width="0dp"
+        android:layout_height="1dp"
+        android:layout_marginStart="16dp"
+        android:layout_marginEnd="16dp"
+        android:background="#F2F2F2"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent" />
+</android.support.constraint.ConstraintLayout>

+ 8 - 0
app/src/main/res/layout/item_money_reward_and_top.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+    <include layout="@layout/hp_game_welfare_entrance"/>
+    <include layout="@layout/item_money_reward"/>
+</LinearLayout>

BIN=BIN
app/src/main/res/mipmap-xxhdpi/ic_mr_vip.png