Pārlūkot izejas kodu

展示 元旦活动中 提示用户邀请人数到达一定数量时,获得了礼品,需要填写收件地址 对话框
游戏福利展示与领取

zengjiebin 7 gadi atpakaļ
vecāks
revīzija
8d5901d822

+ 58 - 16
app/src/main/java/com/kfzs/duanduan/utils/NumberFormatUtils.java

@@ -7,43 +7,42 @@ import java.text.DecimalFormat;
 import java.util.Locale;
 
 /**
- *
  * Created by HooRang on 2017/3/21.
  */
 public class NumberFormatUtils {
 
-    private static final int DIVISOR_DEFAULT = 10 ;
+    private static final int DIVISOR_DEFAULT = 10;
 
-    public static float getDivideResult(int dividend){
-        if (dividend <= 0){
+    public static float getDivideResult(int dividend) {
+        if (dividend <= 0) {
             return 0.0f;
         }
 
         BigDecimal bDivisor = new BigDecimal(Double.valueOf(dividend));
         BigDecimal bDividend = new BigDecimal(Double.valueOf(DIVISOR_DEFAULT));
-        BigDecimal result = bDivisor.divide(bDividend, 1,BigDecimal.ROUND_HALF_DOWN);
+        BigDecimal result = bDivisor.divide(bDividend, 1, BigDecimal.ROUND_HALF_DOWN);
 
         return result.floatValue();
     }
 
-    public static float getDivideResult(int dividend, int divisor){
-        if (dividend <= 0){
+    public static float getDivideResult(int dividend, int divisor) {
+        if (dividend <= 0) {
             return 0.0f;
         }
 
-        if (divisor > dividend){
+        if (divisor > dividend) {
             return 0.0f;
         }
         BigDecimal bDivisor = new BigDecimal(Double.valueOf(dividend));
         BigDecimal bDividend = new BigDecimal(Double.valueOf(divisor));
-        BigDecimal result = bDivisor.divide(bDividend, 1,BigDecimal.ROUND_HALF_DOWN);
+        BigDecimal result = bDivisor.divide(bDividend, 1, BigDecimal.ROUND_HALF_DOWN);
 
         return result.floatValue();
     }
 
-    public static double decimal(double val, int newScale){
-        BigDecimal   b   =   new   BigDecimal(val);
-        double   f1   =   b.setScale(newScale,   BigDecimal.ROUND_HALF_UP).doubleValue();
+    public static double decimal(double val, int newScale) {
+        BigDecimal b = new BigDecimal(val);
+        double f1 = b.setScale(newScale, BigDecimal.ROUND_HALF_UP).doubleValue();
         return f1;
     }
 
@@ -52,7 +51,7 @@ public class NumberFormatUtils {
     }
 
     public static float parseFloat(String numStr, float defaultValue) {
-        if(!TextUtils.isEmpty(numStr)){
+        if (!TextUtils.isEmpty(numStr)) {
             try {
                 return Float.parseFloat(numStr);
             } catch (NumberFormatException e) {
@@ -67,7 +66,7 @@ public class NumberFormatUtils {
     }
 
     public static int parseInteger(String numStr, int defaultValue) {
-        if(!TextUtils.isEmpty(numStr)){
+        if (!TextUtils.isEmpty(numStr)) {
             try {
                 return Integer.parseInt(numStr);
             } catch (NumberFormatException e) {
@@ -76,12 +75,13 @@ public class NumberFormatUtils {
         }
         return defaultValue;
     }
+
     public static long parseLong(String numStr) {
         return parseLong(numStr, 0);
     }
 
     public static long parseLong(String numStr, int defaultValue) {
-        if(!TextUtils.isEmpty(numStr)){
+        if (!TextUtils.isEmpty(numStr)) {
             try {
                 return Long.parseLong(numStr);
             } catch (NumberFormatException e) {
@@ -93,6 +93,7 @@ public class NumberFormatUtils {
 
     /**
      * 最多保留一位小数
+     *
      * @param bonus
      * @return
      */
@@ -100,8 +101,10 @@ public class NumberFormatUtils {
         DecimalFormat df = new DecimalFormat("#.#");
         return df.format(bonus);
     }
+
     /**
      * 最多保留两位小数
+     *
      * @param bonus
      * @return
      */
@@ -109,8 +112,47 @@ public class NumberFormatUtils {
         DecimalFormat df = new DecimalFormat("#.##");
         return df.format(bonus);
     }
+
+    /**
+     * 最多保留两位小数(折算:亿、百万、万等)
+     *
+     * @param bonus
+     * @return
+     */
+    public static String retainMost2W(String bonus) {
+        return retainMost2W(NumberFormatUtils.parseFloat(bonus));
+    }
+
+    /**
+     * 最多保留两位小数(折算:亿、百万、万等)
+     *
+     * @param bonus
+     * @return
+     */
+    public static String retainMost2W(float bonus) {
+        if (bonus < 1_0000f) {
+            return NumberFormatUtils.retainMost2(bonus);
+        } else if (bonus < 100_0000f) {
+            float number = bonus / 1_0000f;
+            return NumberFormatUtils.retainMost2(number) + "万";
+        } else if (bonus < 10000_0000f) {
+            float number = bonus / 100_0000f;
+            return NumberFormatUtils.retainMost2(number) + "百万";
+        } else if (bonus < 100_0000_0000f) {
+            float number = bonus / 10000_0000f;
+            return NumberFormatUtils.retainMost2(number) + "亿";
+        } else if (bonus < 10000_0000_0000f) {
+            float number = bonus / 100_0000_0000f;
+            return NumberFormatUtils.retainMost2(number) + "百亿";
+        } else {
+            float number = bonus / 10000_0000_0000f;
+            return NumberFormatUtils.retainMost2(number) + "万亿";
+        }
+    }
+
     /**
      * 保留两位小数
+     *
      * @param bonus
      * @return
      */
@@ -121,7 +163,7 @@ public class NumberFormatUtils {
 
     //获取次数
     public static String getText(int no) {
-        if(no > 10000)
+        if (no > 10000)
             return String.format(Locale.CHINA, "%d万", no / 10000);
         return String.valueOf(no);
     }

+ 13 - 3
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -2324,7 +2324,6 @@ public class CommonUtil {
         final Release_task releaseEty = gameEntity.getRelease_task();
         final TaskEty taskEty = releaseEty != null ? releaseEty.getTask() : null;
         if (releaseEty != null && taskEty != null) {//游戏任务
-
             if (taskEty.isGameReservationCantDownload()) {//预约
                 if (gameEntity.getStatus() == 1 || gameEntity.getStatus() == 2 || gameEntity.getStatus() == 3) {
                     detail_task_tv_center.setText(DownloadTextUtl.getHasReservationText(showSimpleText));
@@ -2352,9 +2351,20 @@ public class CommonUtil {
 
                     }
                 }
-
             } else {
-                releaseEty.getDownloadHelper().updateDownloadTaskView((Activity) context, taskEty, detail_task_tv_center, null, type);
+                releaseEty.getDownloadHelper().updateDownloadTaskView((Activity) context, taskEty, detail_task_tv_center, new Action1<Object>() {
+                    @Override
+                    public void call(Object o) {
+                        if(o instanceof Integer){//下载游戏时判断是否领取了任务
+                            CommonUtil.getInstance().receiveAward(context, gameEntity, new Action1<Integer>() {
+                                @Override
+                                public void call(Integer integer) {
+                                    gameEntity.setReceived_voucher(true);
+                                }
+                            });
+                        }
+                    }
+                }, type);
             }
         } else if (gameEntity.getApp().isCanDownload()) {//可下载
             gameEntity.getApp().getFindAppHelper().updateDownloadTaskView((Activity) context, gameEntity.getApp(), detail_task_tv_center, type);

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

@@ -1523,7 +1523,7 @@ public class Jump2View {
                                 if (result instanceof BaseMessage) {
                                     ReceiveCouponsCheckResq data = ((BaseMessage) result).getData(ReceiveCouponsCheckResq.class);
                                     if(data.notReceive()) {//未领取显示领取优惠券
-                                        ViewUtil.showYfShopAd(activity, data, container);
+                                        ViewUtil.showYfShopAd(activity, data);
                                         return;
                                     }
                                 }

+ 4 - 1
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -259,7 +259,7 @@ public class TestUtil {
      */
     public static void test(final Activity activity) {
         final String[] items = {"复制token", "添加token", "复制打点数据", "从jenkins下载小绵羊安装包", "测试表情包",
-                "朗读文字", "游戏搜索", "测试插件","测试bitmap", "剪切视频", "我的关注", "足迹",
+                "填写收件地址弹窗",  "朗读文字", "游戏搜索", "测试插件","测试bitmap", "剪切视频", "我的关注", "足迹",
                 "测试联通卡", "测试联通卡2", "测试签名1", "测试签名2", "测试孔剑秋faq正式服",
                 "跳转QQ1", "跳转QQ2", "跳转QQ3", "跳转白白QQ", "龙猫竞猜", "龙猫竞猜-scheme",
                 "有米科技", "手机型号测试", "测试通知栏", "测试自定义通知栏", "测试自定义通知栏2",
@@ -278,6 +278,9 @@ public class TestUtil {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
                         switch (items[which]) {
+                            case "填写收件地址弹窗":
+                                ViewUtil.showYfShopAsk(activity);
+                                break;
                             case "朗读文字":
                                 testReadText("小绵羊666", 20);
                                 break;

+ 51 - 1
app/src/main/java/com/sheep/gamegroup/util/ViewUtil.java

@@ -136,6 +136,7 @@ import static com.sheep.gamegroup.util.UMConfigUtils.Event.GIFT_BAG_DIALOG_START
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.QR_COPY;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.QR_SAVE;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.QR_SHARE;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.USER_INFO_ADDR;
 
 /**
  * Created by realicing on 2018/5/11.
@@ -1508,7 +1509,7 @@ public class ViewUtil {
     }
 
     //3.4.7添加 -- 展示商城优惠券领取对话框
-    public static void showYfShopAd(final Activity activity, ReceiveCouponsCheckResq data, Container<Action1<Integer>> container) {
+    public static void showYfShopAd(final Activity activity, ReceiveCouponsCheckResq data) {
         if (activity != null) {
             View dialog_parent = View.inflate(activity, R.layout.dialog_parent, null);
             final AlertDialog dialog = new AlertDialog.Builder(activity, R.style.MyDialogActivityTheme)
@@ -1568,6 +1569,55 @@ public class ViewUtil {
             }
         }
     }
+    //3.4.7添加 -- 展示 元旦活动中 提示用户邀请人数到达一定数量时,获得了礼品,需要填写收件地址 对话框
+    public static void showYfShopAsk(final Activity activity) {
+        if (activity != null) {
+            View dialog_parent = View.inflate(activity, R.layout.dialog_parent, null);
+            final AlertDialog dialog = new AlertDialog.Builder(activity, R.style.MyDialogActivityTheme)
+                    .setView(dialog_parent)
+                    .create();
+            TextView dialog_title = dialog_parent.findViewById(R.id.dialog_title);
+            final View dialog_close = dialog_parent.findViewById(R.id.dialog_close);
+            final LinearLayout dialog_center_ll = dialog_parent.findViewById(R.id.dialog_center_ll);
+            View view = LayoutInflater.from(activity).inflate(R.layout.dialog_yf_shop_ask, dialog_center_ll, true);
+            ViewUtil.setVisibility(dialog_title, false);
+            dialog_center_ll.setBackgroundColor(Color.TRANSPARENT);
+
+            ImageView dialog_yf_shop_ask_iv = view.findViewById(R.id.dialog_yf_shop_ask_iv);
+            TextView dialog_yf_shop_ask_title_tv = view.findViewById(R.id.dialog_yf_shop_ask_title_tv);
+            TextView dialog_yf_shop_ask_content_tv = view.findViewById(R.id.dialog_yf_shop_ask_content_tv);
+            TextView dialog_yf_shop_ask_btn_tv = view.findViewById(R.id.dialog_yf_shop_ask_btn_tv);
+            float per = (G.WIDTH - G.getRealPix(80)) / 920.0f;
+            LayoutParamsUtil.resetLayoutParams(dialog_yf_shop_ask_title_tv, new Lp(per).setTopMargin(50));
+            LayoutParamsUtil.resetLayoutParams(dialog_yf_shop_ask_content_tv, new Lp(per).setHeight(650).setLeftMargin(200).setRightMargin(200));
+            LayoutParamsUtil.resetLayoutParams(dialog_yf_shop_ask_btn_tv, new Lp(per).setBottomMargin(50));
+            ViewUtil.setText(dialog_yf_shop_ask_btn_tv, "前\t往");
+            dialog_close.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    dialog.dismiss();
+                }
+            });
+            dialog_yf_shop_ask_btn_tv.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    Jump2View.getInstance().goActUserAddrInfo(activity);
+                    USER_INFO_ADDR.onEvent();
+                }
+            });
+            dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
+                @Override
+                public void onDismiss(DialogInterface dialogInterface) {
+                    Jump2View.getInstance().tryShowReservation(activity);
+                }
+            });
+            try {
+                dialog.show();
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
 
     //显示定向货币详情
     public static void showOrienteeringDetails(Activity activity) {

+ 7 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActGcGameAppDetail.java

@@ -13,6 +13,7 @@ import android.view.View;
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.kfzs.duanduan.utils.StatusBarUtils;
 import com.scwang.smartrefresh.layout.SmartRefreshLayout;
 import com.scwang.smartrefresh.layout.api.RefreshLayout;
@@ -95,6 +96,8 @@ public class ActGcGameAppDetail extends BaseActivity {
     TextView gc_game_app_detail_bt1;
     @BindView(R.id.gc_game_app_detail_name)
     TextView gc_game_app_detail_name;
+    @BindView(R.id.gc_game_app_detail_fl_tv)
+    TextView gc_game_app_detail_fl_tv;
     @BindView(R.id.gc_game_app_detail_bt2)
     TextView gc_game_app_detail_bt2;
     @BindView(R.id.gc_game_app_detail_tag_list)
@@ -148,6 +151,7 @@ public class ActGcGameAppDetail extends BaseActivity {
     //重置view
     private void resetView() {
         ViewUtil.setDefaultText(gc_game_app_detail_name);
+        ViewUtil.setText(gc_game_app_detail_fl_tv);
     }
 
     //检查数据
@@ -202,6 +206,9 @@ public class ActGcGameAppDetail extends BaseActivity {
         ViewUtil.setGameImage(gc_game_app_detail_icon, gameEntity.getApp().getIcon());
         //加载游戏名字
         ViewUtil.setText(gc_game_app_detail_name, gameEntity.getApp().getName());
+        //加载游戏 福利
+        if(gameEntity.getRelease_task() != null)
+            ViewUtil.setText(gc_game_app_detail_fl_tv,"+\u0020\u0020"+NumberFormatUtils.retainMost2W(gameEntity.getRelease_task().getBonus())+ "元");
         //加载游戏标签
         if(gameEntity.getApp().getTags() != null) {
             tagList.addAll(gameEntity.getApp().getTags());

+ 7 - 6
app/src/main/java/com/sheep/gamegroup/view/activity/ActMyMoney.java

@@ -237,6 +237,7 @@ public class ActMyMoney extends BaseActivity {
                                     CommonUtil.getInstance().updateUserInfo(null);
                                 }
                                 UserAssets userAssets = baseMessage.getData(UserAssets.class);
+
                                 loadData(userAssets);
                                 hideProgress();
                             }
@@ -254,12 +255,12 @@ public class ActMyMoney extends BaseActivity {
         if(my_money_total_money == null){
             return;
         }
-        my_money_total_money.setText(getString(R.string.total_money, userAssets.getSheep_bi_total()));
-        my_money_task_reward.setText(getString(R.string.total_money, userAssets.getTask_reward()));
-        my_money_agent_extract.setText(getString(R.string.total_money, userAssets.getExtension_extract()));
-        my_money_recharge_amount.setText(getString(R.string.total_money, userAssets.getRecharge_amount()));
-        my_money_available_amount.setText(getString(R.string.available_amount, NumberFormatUtils.retainMost2(userAssets.getCash_withdrawal())));
-        my_money_dingxiang_amount.setText(getString(R.string.total_money, NumberFormatUtils.retainMost2(userAssets.getDirectional_currency())));
+        my_money_total_money.setText(getString(R.string.total_money, NumberFormatUtils.retainMost2W(userAssets.getSheep_bi_total())));
+        my_money_task_reward.setText(getString(R.string.total_money, NumberFormatUtils.retainMost2W(userAssets.getTask_reward())));
+        my_money_agent_extract.setText(getString(R.string.total_money, NumberFormatUtils.retainMost2W(userAssets.getExtension_extract())));
+        my_money_recharge_amount.setText(getString(R.string.total_money, NumberFormatUtils.retainMost2W(userAssets.getRecharge_amount())));
+        my_money_available_amount.setText(getString(R.string.available_amount, NumberFormatUtils.retainMost2W(userAssets.getCash_withdrawal())));
+        my_money_dingxiang_amount.setText(getString(R.string.total_money, NumberFormatUtils.retainMost2W(userAssets.getDirectional_currency())));
     }
     private void resetData() {
         if(my_money_total_money == null){

+ 2 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPersonalCenter.java

@@ -16,6 +16,7 @@ import android.widget.PopupWindow;
 import android.widget.TextView;
 
 import com.kfzs.duanduan.utils.ApkUtils;
+import com.kfzs.duanduan.utils.NumberFormatUtils;
 import com.sheep.gamegroup.model.entity.AgentEntity;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.UserEntity;
@@ -290,7 +291,7 @@ public class FgtPersonalCenter extends BaseFragment {
     }
 
     private void initWidget() {
-        personalcenter_item_price_tv.setText(String.format(Locale.CHINA, "%s\u0020元", userEntity.getBalance()));
+        personalcenter_item_price_tv.setText(String.format(Locale.CHINA, "%s\u0020元", NumberFormatUtils.retainMost2W(userEntity.getBalance())));
         ViewUtil.setText(nameTv, userEntity.getNickname());
         sheepNumTv.setText(String.format(Locale.CHINA, "绵羊号:%s", userEntity.getInvitation_code()));
         GlideImageLoader.setAvatar(iconImgIv, userEntity.getAvatar(), Color.argb(128, 255, 255, 255));

BIN
app/src/main/res/drawable-xxhdpi/bg_yf_shop_ask.png


BIN
app/src/main/res/drawable-xxhdpi/bg_yf_shop_ask_btn.png


+ 15 - 1
app/src/main/res/layout/act_gc_game_app_detail.xml

@@ -135,6 +135,20 @@
                         android:textSize="13sp"
                         app:layout_constraintBottom_toBottomOf="@id/gc_game_app_detail_icon"
                         app:layout_constraintStart_toEndOf="@id/gc_game_app_detail_bt1" />
+
+                    <TextView
+                        android:id="@+id/gc_game_app_detail_fl_tv"
+                        android:layout_width="0dp"
+                        android:gravity="center"
+                        android:textSize="20sp"
+                        android:textColor="@color/txt_red"
+                        android:layout_marginStart="5dp"
+                        app:layout_constraintTop_toTopOf="@id/gc_game_app_detail_bt2"
+                        app:layout_constraintBottom_toBottomOf="@id/gc_game_app_detail_bt2"
+                        app:layout_constraintStart_toEndOf="@id/gc_game_app_detail_bt2"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        android:layout_height="wrap_content"
+                        android:text="+  5万元"/>
                 </android.support.constraint.ConstraintLayout>
 
                 <View
@@ -186,7 +200,7 @@
         android:layout_height="wrap_content"
         android:layout_alignParentTop="true"
         android:layout_alignParentEnd="true"
-        android:layout_marginTop="229dp"
+        android:layout_marginTop="300dp"
         android:onClick="onClickPlusDrag"
         android:paddingTop="@dimen/content_padding_10"
         android:paddingBottom="@dimen/content_padding_10">

+ 50 - 0
app/src/main/res/layout/dialog_yf_shop_ask.xml

@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <ImageView
+        android:id="@+id/dialog_yf_shop_ask_iv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:adjustViewBounds="true"
+        android:scaleType="fitXY"
+        android:src="@drawable/bg_yf_shop_ask" />
+
+    <TextView
+        android:id="@+id/dialog_yf_shop_ask_title_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="25dp"
+        android:gravity="center"
+        android:text="元旦活动"
+        android:textColor="#eda431"
+        android:textSize="15sp"
+        android:textStyle="bold" />
+
+    <TextView
+        android:id="@+id/dialog_yf_shop_ask_content_tv"
+        android:layout_width="match_parent"
+        android:layout_height="300dp"
+        android:layout_marginStart="50dp"
+        android:layout_marginEnd="30dp"
+        android:gravity="center_vertical"
+        android:lineSpacingExtra="2dp"
+        android:text="恭喜XXX(绵羊ID)用户,元旦邀新活动,你已获得礼品,请前往填写收件信息,羊羊乐园的工作人员将尽快的为你安排发货,请耐心等待!"
+        android:textColor="#ff999999"
+        android:textSize="13sp" />
+
+    <TextView
+        android:id="@+id/dialog_yf_shop_ask_btn_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignBottom="@id/dialog_yf_shop_ask_iv"
+        android:layout_centerHorizontal="true"
+        android:layout_marginBottom="20dp"
+        android:background="@drawable/bg_yf_shop_ask_btn"
+        android:gravity="center"
+        android:text="前往"
+        android:textColor="#ffb56408"
+        android:textSize="15sp"
+        android:textStyle="bold" />
+</RelativeLayout>

+ 1 - 1
app/src/main/res/layout/fgt_personacenter_item_top.xml

@@ -147,6 +147,6 @@
 
         <TextView
             android:id="@+id/personalcenter_item_price_tv"
-            style="@style/style_item_end" />
+            style="@style/style_item_end_next" />
     </LinearLayout>
 </LinearLayout>