yang_div лет назад: 8
Родитель
Сommit
74341afa77

+ 1 - 4
app/src/main/java/com/kfzs/duanduan/fragment/FgtPersonalCenter.java

@@ -124,7 +124,6 @@ public class FgtPersonalCenter extends BaseCompatFragment {
         super.onDestroyView();
         unbinder.unbind();
     }
-    int textPostion = 0;
     @OnClick({R.id.icon_img_iv, R.id.account_detail_layout, R.id.personalcenter_price_layout, R.id.account_safe_layout, R.id.account_task_layout, R.id.proxy_service_layout, R.id.abourt_us_layout, R.id.feedbook_layout, R.id.recommend_friend_layout, R.id.tv_submit})
     public void onViewClicked(View view) {
         switch (view.getId()) {
@@ -134,17 +133,15 @@ public class FgtPersonalCenter extends BaseCompatFragment {
                 break;
             case R.id.personalcenter_price_layout://我的资产
                 Jump2View.getInstance().goMyMoney(getActivity(), null);
-//                Jump2View.getInstance().goSignCardAct(getActivity(), null);
                 break;
             case R.id.account_safe_layout:
                 Jump2View.getInstance().goAccountAndSecurit(getActivity(), null);
                 break;
             case R.id.account_task_layout://任务记录
                 Jump2View.getInstance().goTaskList2View(getActivity(), null);
-//                Jump2View.getInstance().goSignRecordAct(getActivity(), null);
                 break;
             case R.id.proxy_service_layout://代理
-//                Jump2View.getInstance().goSignRankingsAct(getActivity(), null);
+//                Jump2View.getInstance().goSignCardAct(getActivity(), null);
                 G.showToast("敬请期待!");
                 break;
             case R.id.abourt_us_layout://关于我们

+ 41 - 27
app/src/main/java/com/kfzs/duanduan/fragment/FgtSignRankings.java

@@ -23,6 +23,7 @@ import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.PunchEntity;
 import com.sheep.gamegroup.presenter.SignRankingsContract;
 import com.sheep.gamegroup.presenter.SignRankingsPresenter;
+import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -42,16 +43,17 @@ import butterknife.Unbinder;
  */
 public class FgtSignRankings extends BaseCompatFragment implements SignRankingsContract.View{
 
-
     @Inject
     SignRankingsPresenter presenter;
-
     int type;
-
     @BindView(R.id.signRankings_RecyclerView)
     RecyclerView signRankingsRecyclerView;
-    Unbinder unbinder;
+    @BindView(R.id.main_content)
+    LinearLayout main_content;
 
+    @BindView(R.id.download_mgr_empty_view)
+    View empty_view;
+    Unbinder unbinder;
     RecyclerViewAdapter recyclerViewAdapter;
 
     public static FgtSignRankings getInstance(int type) {
@@ -104,36 +106,48 @@ public class FgtSignRankings extends BaseCompatFragment implements SignRankingsC
 
     @Override
     public void succPunch(BaseMessage o) {
-        Log.d("Dream","type:"+ type+" succPunch:"+o.getData().toString());
         List<PunchEntity> list = o.getDatas(PunchEntity.class);
-        recyclerViewAdapter = new RecyclerViewAdapter<PunchEntity>(getContext(), R.layout.sign_rankings_item, list) {
-            @Override
-            public void convert(ViewHolder viewHolder, PunchEntity punchEntity, final int position) {
-                ImageView sign_iv_icon = viewHolder.getView(R.id.sign_iv_icon);
-                TextView sign_tv_name = viewHolder.getView(R.id.sign_tv_name);
-                TextView sign_tv_pm = viewHolder.getView(R.id.sign_tv_pm);
-                if(position == 0){
-                    sign_iv_icon.setVisibility(View.VISIBLE);
-                    sign_iv_icon.setImageResource(R.drawable.sign_rankings_1);
-                }else if(position == 1){
-                    sign_iv_icon.setVisibility(View.VISIBLE);
-                    sign_iv_icon.setImageResource(R.drawable.sign_rankings_2);
-                }else if(position == 2){
-                    sign_iv_icon.setVisibility(View.VISIBLE);
-                    sign_iv_icon.setImageResource(R.drawable.sign_rankings_3);
-                }else{
-                    sign_iv_icon.setVisibility(View.INVISIBLE);
+
+        if(ListUtil.isEmpty(list)){
+            Log.d("Dream","empty type:"+type);
+            empty_view.setVisibility(View.VISIBLE);
+            main_content.setVisibility(View.GONE);
+        }else{
+            Log.d("Dream","empty type:"+type);
+            empty_view.setVisibility(View.GONE);
+            main_content.setVisibility(View.VISIBLE);
+            recyclerViewAdapter = new RecyclerViewAdapter<PunchEntity>(getContext(), R.layout.sign_rankings_item, list) {
+                @Override
+                public void convert(ViewHolder viewHolder, PunchEntity punchEntity, final int position) {
+                    ImageView sign_iv_icon = viewHolder.getView(R.id.sign_iv_icon);
+                    TextView sign_tv_name = viewHolder.getView(R.id.sign_tv_name);
+                    TextView sign_tv_pm = viewHolder.getView(R.id.sign_tv_pm);
+                    if(position == 0){
+                        sign_iv_icon.setVisibility(View.VISIBLE);
+                        sign_iv_icon.setImageResource(R.drawable.sign_rankings_1);
+                    }else if(position == 1){
+                        sign_iv_icon.setVisibility(View.VISIBLE);
+                        sign_iv_icon.setImageResource(R.drawable.sign_rankings_2);
+                    }else if(position == 2){
+                        sign_iv_icon.setVisibility(View.VISIBLE);
+                        sign_iv_icon.setImageResource(R.drawable.sign_rankings_3);
+                    }else{
+                        sign_iv_icon.setVisibility(View.INVISIBLE);
+                    }
+
+                    sign_tv_name.setText(punchEntity.getNick_name());
+                    sign_tv_pm.setText(punchEntity.getNum());
                 }
+            };
+            signRankingsRecyclerView.setAdapter(recyclerViewAdapter);
+        }
 
-                sign_tv_name.setText(punchEntity.getNick_name());
-                sign_tv_pm.setText(punchEntity.getNum());
-            }
-        };
-        signRankingsRecyclerView.setAdapter(recyclerViewAdapter);
     }
 
     @Override
     public void failPunch(BaseMessage o) {
+        empty_view.setVisibility(View.VISIBLE);
+        main_content.setVisibility(View.GONE);
         G.showToast(o.getMsg());
     }
 }

+ 37 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/PunchAndSign.java

@@ -0,0 +1,37 @@
+package com.sheep.gamegroup.model.entity;
+
+/**
+ * Created by Administrator on 2018/5/24.
+ * 今日参与打卡和报名人数
+ */
+
+public class PunchAndSign {
+    //        {"sign_up_count":3,"punch_count":1,total_award:1}
+    private String sign_up_count;
+    private String punch_count;
+    private String total_award;
+
+    public String getSign_up_count() {
+        return sign_up_count;
+    }
+
+    public void setSign_up_count(String sign_up_count) {
+        this.sign_up_count = sign_up_count;
+    }
+
+    public String getPunch_count() {
+        return punch_count;
+    }
+
+    public void setPunch_count(String punch_count) {
+        this.punch_count = punch_count;
+    }
+
+    public String getTotal_award() {
+        return total_award;
+    }
+
+    public void setTotal_award(String total_award) {
+        this.total_award = total_award;
+    }
+}

+ 13 - 0
app/src/main/java/com/sheep/gamegroup/presenter/SignRankingsPresenter.java

@@ -47,7 +47,20 @@ public class SignRankingsPresenter implements SignRankingsContract.Presenter {
 
     @Override
     public void getTotalPunchTop() {
+        apiService.getTotalPunchTop()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.mContext) {
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        view.failPunch(baseMessage);
+                    }
 
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        view.succPunch(baseMessage);
+                    }
+                });
     }
 
 }

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

@@ -13,7 +13,7 @@ public class ListUtil {
         return !ListUtil.isEmpty(list) && list.size() > index;
     }
 
-    private static <T> boolean isEmpty(List<T> list) {
+    public static <T> boolean isEmpty(List<T> list) {
         return list == null || list.isEmpty();
     }
 

+ 267 - 0
app/src/main/java/com/sheep/gamegroup/util/MathUtil.java

@@ -0,0 +1,267 @@
+package com.sheep.gamegroup.util;
+
+/**
+ * Created by Administrator on 2018/5/24.
+ */
+
+import java.math.BigDecimal;
+
+/**
+ * @author div 2015-11-20 TODO
+ */
+public class MathUtil {
+    // 默认除法运算精度
+    private static final int DEFAULT_DIV_SCALE = 10;
+
+    private static final int digit = 2;// 保留小数的位数
+
+    public static String twoNumber(int number) {
+        BigDecimal bigDecimal = new BigDecimal(Integer.toString(number));
+        return bigDecimal.setScale(digit, BigDecimal.ROUND_HALF_UP).toString();
+    }
+
+    public static String twoNumber(float number) {
+        BigDecimal bigDecimal = new BigDecimal(Float.toString(number));
+        return bigDecimal.setScale(digit, BigDecimal.ROUND_HALF_UP).toString();
+    }
+
+    public static String twoNumber(double number) {
+        BigDecimal bigDecimal = new BigDecimal(Double.toString(number));
+        return bigDecimal.setScale(digit, BigDecimal.ROUND_HALF_UP).toString();
+    }
+
+    public static String twoNumber(String number) {
+        BigDecimal bigDecimal = new BigDecimal(number);
+        return bigDecimal.setScale(digit, BigDecimal.ROUND_HALF_UP).toString();
+    }
+
+    /**
+     * 提供精确的加法运算。
+     *
+     * @param v1
+     * @param v2
+     * @return 两个参数的和
+     */
+    public static double add(double v1, double v2) {
+        BigDecimal b1 = new BigDecimal(Double.toString(v1));
+        BigDecimal b2 = new BigDecimal(Double.toString(v2));
+        return b1.add(b2).doubleValue();
+    }
+
+    /**
+     * 提供精确的加法运算
+     *
+     * @param v1
+     * @param v2
+     * @return 两个参数数学加和,以字符串格式返回
+     */
+    public static String add(String v1, String v2) {
+        BigDecimal b1 = new BigDecimal(v1);
+        BigDecimal b2 = new BigDecimal(v2);
+        return b1.add(b2).toString();
+    }
+
+    /**
+     * 提供精确的减法运算。
+     *
+     * @param v1
+     * @param v2
+     * @return 两个参数的差
+     */
+    public static double subtract(double v1, double v2) {
+        BigDecimal b1 = new BigDecimal(Double.toString(v1));
+        BigDecimal b2 = new BigDecimal(Double.toString(v2));
+        return b1.subtract(b2).doubleValue();
+    }
+
+    /**
+     * 提供精确的减法运算
+     *
+     * @param v1
+     * @param v2
+     * @return 两个参数数学差,以字符串格式返回
+     */
+    public static String subtract(String v1, String v2) {
+        BigDecimal b1 = new BigDecimal(v1);
+        BigDecimal b2 = new BigDecimal(v2);
+        return b1.subtract(b2).toString();
+    }
+
+    /**
+     * 提供精确的乘法运算。
+     *
+     * @param v1
+     * @param v2
+     * @return 两个参数的积
+     */
+    public static double multiply(double v1, double v2) {
+        BigDecimal b1 = new BigDecimal(Double.toString(v1));
+        BigDecimal b2 = new BigDecimal(Double.toString(v2));
+        return b1.multiply(b2).doubleValue();
+    }
+
+    /**
+     * 提供精确的乘法运算
+     *
+     * @param v1
+     * @param v2
+     * @return 两个参数的数学积,以字符串格式返回
+     */
+    public static String multiply(String v1, String v2) {
+        BigDecimal b1 = new BigDecimal(v1);
+        BigDecimal b2 = new BigDecimal(v2);
+        return b1.multiply(b2).toString();
+    }
+
+    /**
+     * 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到 小数点以后10位,以后的数字四舍五入,舍入模式采用ROUND_HALF_EVEN
+     *
+     * @param v1
+     * @param v2
+     * @return 两个参数的商
+     */
+    public static double divide(double v1, double v2) {
+        return divide(v1, v2, DEFAULT_DIV_SCALE);
+    }
+
+    /**
+     * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 定精度,以后的数字四舍五入。舍入模式采用ROUND_HALF_EVEN
+     *
+     * @param v1
+     * @param v2
+     * @param scale
+     *            表示需要精确到小数点以后几位。
+     * @return 两个参数的商
+     */
+    public static double divide(double v1, double v2, int scale) {
+        return divide(v1, v2, scale, BigDecimal.ROUND_HALF_EVEN);
+    }
+
+    /**
+     * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 定精度,以后的数字四舍五入。舍入模式采用用户指定舍入模式
+     *
+     * @param v1
+     * @param v2
+     * @param scale
+     *            表示需要精确到小数点以后几位
+     * @param round_mode
+     *            表示用户指定的舍入模式
+     * @return 两个参数的商
+     */
+    public static double divide(double v1, double v2, int scale, int round_mode) {
+        if (scale < 0) {
+            throw new IllegalArgumentException("The scale must be a positive integer or zero");
+        }
+        BigDecimal b1 = new BigDecimal(Double.toString(v1));
+        BigDecimal b2 = new BigDecimal(Double.toString(v2));
+        return b1.divide(b2, scale, round_mode).doubleValue();
+    }
+
+    /**
+     * 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到 小数点以后10位,以后的数字四舍五入,舍入模式采用ROUND_HALF_EVEN
+     *
+     * @param v1
+     * @param v2
+     * @return 两个参数的商,以字符串格式返回
+     */
+    public static String divide(String v1, String v2) {
+        return divide(v1, v2, DEFAULT_DIV_SCALE);
+    }
+
+    /**
+     * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 定精度,以后的数字四舍五入。舍入模式采用ROUND_HALF_EVEN
+     *
+     * @param v1
+     * @param v2
+     * @param scale
+     *            表示需要精确到小数点以后几位
+     * @return 两个参数的商,以字符串格式返回
+     */
+    public static String divide(String v1, String v2, int scale) {
+        return divide(v1, v2, DEFAULT_DIV_SCALE, BigDecimal.ROUND_HALF_EVEN);
+    }
+
+    /**
+     * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 定精度,以后的数字四舍五入。舍入模式采用用户指定舍入模式
+     *
+     * @param v1
+     * @param v2
+     * @param scale
+     *            表示需要精确到小数点以后几位
+     * @param round_mode
+     *            表示用户指定的舍入模式
+     * @return 两个参数的商,以字符串格式返回
+     */
+    public static String divide(String v1, String v2, int scale, int round_mode) {
+        if (scale < 0) {
+            throw new IllegalArgumentException("The scale must be a positive integer or zero");
+        }
+        BigDecimal b1 = new BigDecimal(v1);
+        BigDecimal b2 = new BigDecimal(v2);
+        return b1.divide(b2, scale, round_mode).toString();
+    }
+
+    /**
+     * 提供精确的小数位四舍五入处理,舍入模式采用ROUND_HALF_EVEN
+     *
+     * @param v
+     *            需要四舍五入的数字
+     * @param scale
+     *            小数点后保留几位
+     * @return 四舍五入后的结果
+     */
+    public static double round(double v, int scale) {
+        return round(v, scale, BigDecimal.ROUND_HALF_EVEN);
+    }
+
+    /**
+     * 提供精确的小数位四舍五入处理
+     *
+     * @param v
+     *            需要四舍五入的数字
+     * @param scale
+     *            小数点后保留几位
+     * @param round_mode
+     *            指定的舍入模式
+     * @return 四舍五入后的结果
+     */
+    public static double round(double v, int scale, int round_mode) {
+        if (scale < 0) {
+            throw new IllegalArgumentException("The scale must be a positive integer or zero");
+        }
+        BigDecimal b = new BigDecimal(Double.toString(v));
+        return b.setScale(scale, round_mode).doubleValue();
+    }
+
+    /**
+     * 提供精确的小数位四舍五入处理,舍入模式采用ROUND_HALF_EVEN
+     *
+     * @param v
+     *            需要四舍五入的数字
+     * @param scale
+     *            小数点后保留几位
+     * @return 四舍五入后的结果,以字符串格式返回
+     */
+    public static String round(String v, int scale) {
+        return round(v, scale, BigDecimal.ROUND_HALF_EVEN);
+    }
+
+    /**
+     * 提供精确的小数位四舍五入处理
+     *
+     * @param v
+     *            需要四舍五入的数字
+     * @param scale
+     *            小数点后保留几位
+     * @param round_mode
+     *            指定的舍入模式
+     * @return 四舍五入后的结果,以字符串格式返回
+     */
+    public static String round(String v, int scale, int round_mode) {
+        if (scale < 0) {
+            throw new IllegalArgumentException("The scale must be a positive integer or zero");
+        }
+        BigDecimal b = new BigDecimal(v);
+        return b.setScale(scale, round_mode).toString();
+    }
+}

+ 18 - 16
app/src/main/java/com/sheep/gamegroup/view/activity/SignCardAct.java

@@ -17,6 +17,7 @@ import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.di.components.DaggerSignCardComponent;
 import com.sheep.gamegroup.di.modules.SignCardModule;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.PunchAndSign;
 import com.sheep.gamegroup.presenter.SignCardContract;
 import com.sheep.gamegroup.presenter.SignCardPresenter;
 import com.sheep.gamegroup.util.Jump2View;
@@ -46,6 +47,8 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
     TextView signTvLjdk;
     @BindView(R.id.sign_tv_jrcyrs)
     TextView signTvJrcyrs;//今日打卡人数
+    @BindView(R.id.sign_tv_jrbmrs)
+    TextView signTvJrbmrs;//今日报名人数
     @BindView(R.id.sign_tv_dkjl)
     TextView signTvDkjl;
     @BindView(R.id.sign_tv_mrcyrs)
@@ -65,7 +68,13 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
         TitleBarUtils
                 .getInstance()
                 .setTitle(activity, "每日打卡")
-                .setTitleFinish(activity);
+                .setTitleFinish(activity)
+                .setRightImgBotton(activity, R.drawable.sign_right_record_bg, new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Jump2View.getInstance().goSignRecordAct(activity, null);
+            }
+        });
         DaggerSignCardComponent.builder()
                 .netComponent(SheepApp.get(this).getNetComponent())
                 .signCardModule(new SignCardModule(this))
@@ -83,19 +92,8 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
 
     @Override
     public void initData() {
-
-        {//测试代码,以后用真实数据填充
-            signTvKpf.setText(getSpannableString("20000"));//今日可分
-            signTvMrcyrs.setText(getSpannableString("23000"));//明日可分
-            signTvJrcyrs.setText(String.format(getString(R.string.sign_number),"100"));//今日打卡人数
-
-            String text = String.format(getString(R.string.sign_jppj),"215");
-            signTvDkjl.setText(getColorSpannableString(text));//平分的金额
-        }//测试代码,以后用真实数据填充
-
         presenter.goPunchAward();//获取可获得的奖励
         presenter.goPunchAndSignCount();//获取可打卡和报名人数
-
     }
 
     /**
@@ -133,7 +131,8 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
     @Override
     public void succPunchAward(BaseMessage o) {
 //    返回    1
-        Log.d("Dream","succPunchAward:"+o.getData().toString());
+        String text = String.format(getString(R.string.sign_jppj),o.getData().toString());
+        signTvDkjl.setText(getColorSpannableString(text));//平分的金额
     }
     /**
      * 获取是否可以打卡
@@ -172,8 +171,12 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
      */
     @Override
     public void succPunchAndSignCount(BaseMessage o) {
-//        {"sign_up_count":3,"punch_count":1}
-        Log.d("Dream","succPunchAndSignCount:"+o.getData().toString());
+        PunchAndSign punchAndSign = o.getData(PunchAndSign.class);
+        signTvJrcyrs.setText(String.format(getString(R.string.sign_number),punchAndSign.getPunch_count()));
+        signTvJrbmrs.setText(String.format(getString(R.string.sign_number1),punchAndSign.getSign_up_count()));
+
+        signTvKpf.setText(getSpannableString(punchAndSign.getTotal_award()));//今日可分
+        signTvMrcyrs.setText(getSpannableString(punchAndSign.getSign_up_count()));//明日可分
     }
 
     @Override
@@ -207,5 +210,4 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
         return spannableString;
     }
 
-
 }

+ 18 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/SignRankingsAct.java

@@ -1,6 +1,7 @@
 package com.sheep.gamegroup.view.activity;
 
 import android.app.Activity;
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.support.design.widget.TabLayout;
 import android.support.v4.app.Fragment;
@@ -88,6 +89,15 @@ public class SignRankingsAct extends BaseActivity {
                 signTvLxdl.setTextColor(ContextCompat.getColor(activity,R.color.black));
 
 
+                Drawable drawable= getResources().getDrawable(R.drawable.sign_lxdk_bg);
+                drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
+                signTvLxdl.setCompoundDrawables(drawable,null,null,null);
+
+
+                Drawable drawable1= getResources().getDrawable(R.drawable.sign_ljdk_w_bg);
+                drawable1.setBounds(0, 0, drawable1.getMinimumWidth(), drawable1.getMinimumHeight());
+                signTvLjdl.setCompoundDrawables(drawable1,null,null,null);
+
                 break;
             case R.id.sign_rl_lxdl:
                 signViewPager.setCurrentItem(1);
@@ -96,6 +106,14 @@ public class SignRankingsAct extends BaseActivity {
                 signRlLxdl.setBackgroundResource(R.drawable.shape_sign_rankings_right_hold);
                 signTvLxdl.setTextColor(ContextCompat.getColor(activity,R.color.white));
 
+                Drawable drawable2= getResources().getDrawable(R.drawable.sign_lxdk_w_bg);
+                drawable2.setBounds(0, 0, drawable2.getMinimumWidth(), drawable2.getMinimumHeight());
+                signTvLxdl.setCompoundDrawables(drawable2,null,null,null);
+
+
+                Drawable drawable3= getResources().getDrawable(R.drawable.sign_ljdk_bg);
+                drawable3.setBounds(0, 0, drawable3.getMinimumWidth(), drawable3.getMinimumHeight());
+                signTvLjdl.setCompoundDrawables(drawable3,null,null,null);
                 break;
         }
     }

+ 39 - 74
app/src/main/java/com/sheep/gamegroup/view/activity/SignRecordAct.java

@@ -6,6 +6,7 @@ import android.support.v7.widget.RecyclerView;
 import android.text.SpannableString;
 import android.text.Spanned;
 import android.text.style.AbsoluteSizeSpan;
+import android.view.View;
 import android.widget.TextView;
 
 import com.sheep.gamegroup.absBase.BaseActivity;
@@ -16,6 +17,9 @@ import com.sheep.gamegroup.model.entity.PunchLogEntity;
 import com.sheep.gamegroup.model.entity.StatisticsEntity;
 import com.sheep.gamegroup.presenter.SignRecordContract;
 import com.sheep.gamegroup.presenter.SignRecordPresenter;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.MathUtil;
 import com.sheep.gamegroup.view.adapter.expandadapter.RecyclerViewData;
 import com.sheep.gamegroup.view.adapter.expandadapter.SignRecordAdapter;
 import com.sheep.jiuyan.samllsheep.R;
@@ -55,6 +59,7 @@ public class SignRecordAct extends BaseActivity implements SignRecordContract.Vi
 
     private List<RecyclerViewData> mDatas;
     private SignRecordAdapter adapter;
+    View empty_view;
 
     int index = 0;
     Calendar calendar;
@@ -67,24 +72,29 @@ public class SignRecordAct extends BaseActivity implements SignRecordContract.Vi
     @Override
     public void initView() {
         activity = this;
+        empty_view = findViewById(R.id.download_mgr_empty_view);
         TitleBarUtils
                 .getInstance()
                 .setTitle(activity, "我的战绩")
-                .setTitleFinish(activity);
+                .setTitleFinish(activity)
+                .setRightImgBotton(activity, R.drawable.sign_right_record_bg, new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Jump2View.getInstance().goSignRankingsAct(activity, null);
+            }
+        });
         DaggerSignRecordComponent.builder()
                 .netComponent(SheepApp.get(this).getNetComponent())
                 .signRecordModule(new SignRecordModule(this))
                 .build()
                 .inject(this);
         mDatas = new ArrayList<>();
-//        adapter = new SignRecordAdapter(activity, mDatas);
         recyclerview.setLayoutManager(new LinearLayoutManager(activity));
-//        recyclerview.setAdapter(adapter);
         calendar = Calendar.getInstance();
         presenter.getStatistics();
-        presenter.getPunchLog(1);
-        presenter.getPunchLog(2);
-        presenter.getPunchLog(3);
+        presenter.getPunchLog(1);//获取当月
+        presenter.getPunchLog(2);//获取上月
+        presenter.getPunchLog(3);//获取上上月
     }
 
 
@@ -95,14 +105,6 @@ public class SignRecordAct extends BaseActivity implements SignRecordContract.Vi
 
     @Override
     public void initData() {
-
-
-        //test
-//        signTvRecord.setText(String.format(getString(R.string.sign_tv_srecord_money),"12","80"));
-//        signTvLjtr.setText(getSpannableString("10"));
-//        signTvLjjj.setText(getSpannableString("101"));
-//        signTvLjzq.setText(getSpannableString("11"));
-
     }
 
 
@@ -110,12 +112,10 @@ public class SignRecordAct extends BaseActivity implements SignRecordContract.Vi
     public void succStatistics(BaseMessage o) {
 //        {"total_money":1,"continue_punch_count":1,"total_award":2.8,"total_punch_count":1}
         StatisticsEntity statisticsEntity = o.getData(StatisticsEntity.class);
-
         signTvRecord.setText(String.format(getString(R.string.sign_tv_srecord_money),statisticsEntity.getContinue_punch_count(),statisticsEntity.getTotal_punch_count()));
-        signTvLjtr.setText(getSpannableString(statisticsEntity.getTotal_money()));
-        signTvLjjj.setText(getSpannableString(statisticsEntity.getTotal_award()));
-        float zq = Float.valueOf(statisticsEntity.getTotal_award()) - Float.valueOf(statisticsEntity.getTotal_money());
-        signTvLjzq.setText(getSpannableString(""+ zq));
+        signTvLjtr.setText(getSpannableString(MathUtil.twoNumber(statisticsEntity.getTotal_money())));
+        signTvLjjj.setText(getSpannableString(MathUtil.twoNumber(statisticsEntity.getTotal_award())));
+        signTvLjzq.setText(getSpannableString(MathUtil.subtract(statisticsEntity.getTotal_award(),statisticsEntity.getTotal_money())));
     }
 
     /**
@@ -125,18 +125,29 @@ public class SignRecordAct extends BaseActivity implements SignRecordContract.Vi
     @Override
     public void succPunchLog(BaseMessage o,int action) {
         List<PunchLogEntity> list = o.getDatas(PunchLogEntity.class);
-        int month = calendar.get(Calendar.MONTH) + 1;
-        if(action == 1){
-            mDatas.add(action - 1,new RecyclerViewData(month + "月", list, true));
-        }else if(action == 2){
-            mDatas.add(action - 1,new RecyclerViewData((month - 1) + "月", list, false));
-        }else if(action == 3){
-            mDatas.add(action - 1,new RecyclerViewData((month - 2) + "月", list, false));
+        if(!ListUtil.isEmpty(list)){
+            int month = calendar.get(Calendar.MONTH) + 1;
+            if(action == 1){
+                mDatas.add(new RecyclerViewData(month + "月", list, true));
+            }else if(action == 2){
+                mDatas.add(new RecyclerViewData((month - 1) + "月", list, false));
+            }else if(action == 3){
+                mDatas.add(new RecyclerViewData((month - 2) + "月", list, false));
+            }
         }
+
         index ++;
         if(index == 3){
-            adapter = new SignRecordAdapter(activity, mDatas);
-            recyclerview.setAdapter(adapter);
+
+            if(ListUtil.isEmpty(mDatas)){
+                empty_view.setVisibility(View.VISIBLE);
+                recyclerview.setVisibility(View.GONE);
+            }else{
+                empty_view.setVisibility(View.GONE);
+                recyclerview.setVisibility(View.VISIBLE);
+                adapter = new SignRecordAdapter(activity, mDatas);
+                recyclerview.setAdapter(adapter);
+            }
         }
     }
 
@@ -160,50 +171,4 @@ public class SignRecordAct extends BaseActivity implements SignRecordContract.Vi
         return spannableString;
     }
 
-
-
-//    private void initBooks() {
-//        List<SignRecord> bean1 = new ArrayList<>();
-//        List<SignRecord> bean2 = new ArrayList<>();
-//        List<SignRecord> bean3 = new ArrayList<>();
-//        List<SignRecord> bean4 = new ArrayList<>();
-//        // id , pid , label , 其他属性
-//        bean1.add(new SignRecord("文件管理系统"));
-//        bean1.add(new SignRecord("游戏"));
-//        bean1.add(new SignRecord("文档"));
-//        bean1.add(new SignRecord("程序"));
-//        bean2.add(new SignRecord("war3"));
-//        bean2.add(new SignRecord("刀塔传奇"));
-//
-//        bean1.add(new SignRecord("面向对象"));
-//        bean2.add(new SignRecord("非面向对象"));
-//
-//        bean2.add(new SignRecord("C++"));
-//        bean2.add(new SignRecord("JAVA"));
-//        bean2.add(new SignRecord("Javascript"));
-//        bean2.add(new SignRecord("C"));
-//
-//        bean3.add(new SignRecord("文件管理系统"));
-//        bean3.add(new SignRecord("游戏"));
-//        bean4.add(new SignRecord("文档"));
-//        bean4.add(new SignRecord("程序"));
-//        bean4.add(new SignRecord("war3"));
-//        bean3.add(new SignRecord("刀塔传奇"));
-//
-//        bean3.add(new SignRecord("面向对象"));
-//        bean4.add(new SignRecord("非面向对象"));
-//
-//        bean3.add(new SignRecord("文件管理系统"));
-//        bean3.add(new SignRecord("游戏"));
-//        bean4.add(new SignRecord("文档"));
-//        bean4.add(new SignRecord("程序"));
-//        bean4.add(new SignRecord("war3"));
-//        bean4.add(new SignRecord("刀塔传奇"));
-//
-//        mDatas.add(new RecyclerViewData("分组0", bean1, true));
-//        mDatas.add(new RecyclerViewData("分组1", bean2, false));
-//        mDatas.add(new RecyclerViewData("分组2", bean3, false));
-//        mDatas.add(new RecyclerViewData("分组3", bean4, false));
-//    }
-
 }

BIN
app/src/main/res/drawable-xhdpi/sign_right_record_bg.png


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


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


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


+ 65 - 31
app/src/main/res/layout/fgt_sign_rankings.xml

@@ -5,44 +5,78 @@
     android:background="@color/bg_write"
     android:orientation="vertical">
 
-    <LinearLayout
+    <RelativeLayout
+        android:id="@+id/download_mgr_empty_view"
         android:layout_width="match_parent"
-        android:layout_height="31dp"
-        android:orientation="horizontal">
+        android:layout_height="match_parent"
+        android:background="@color/white"
+        android:visibility="gone">
 
-        <TextView
-            android:layout_width="0.0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
+        <ImageView
+            android:id="@+id/img_list_empty"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerHorizontal="true"
+            android:layout_marginTop="80dp"
+            android:background="@color/white"
             android:gravity="center"
-            android:text="排名"
-            android:textColor="#282828"
-            android:textSize="@dimen/text_size_12" />
-
+            android:scaleType="centerInside"
+            android:src="@drawable/wushuju"
+            android:visibility="visible" />
 
         <TextView
-            android:layout_width="0.0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="2"
-            android:gravity="center_vertical"
-            android:paddingLeft="@dimen/content_padding_10"
-            android:text="用户名称"
-            android:textColor="#282828"
-            android:textSize="@dimen/text_size_12" />
+            android:id="@+id/txt_list_empty"
+            style="@style/G3"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/img_list_empty"
+            android:layout_centerHorizontal="true"
+            android:layout_marginTop="@dimen/content_padding_big"
+            android:text="暂无数据,稍后再试。" />
+    </RelativeLayout>
 
-        <TextView
-            android:layout_width="0.0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:gravity="center"
-            android:text="天数"
-            android:textColor="#282828"
-            android:textSize="@dimen/text_size_12" />
+    <LinearLayout
+        android:id="@+id/main_content"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="31dp"
+            android:orientation="horizontal">
+            <TextView
+                android:layout_width="0.0dp"
+                android:layout_height="match_parent"
+                android:layout_weight="1"
+                android:gravity="center"
+                android:text="排名"
+                android:textColor="#282828"
+                android:textSize="@dimen/text_size_12" />
+            <TextView
+                android:layout_width="0.0dp"
+                android:layout_height="match_parent"
+                android:layout_weight="2"
+                android:gravity="center_vertical"
+                android:paddingLeft="@dimen/content_padding_10"
+                android:text="用户名称"
+                android:textColor="#282828"
+                android:textSize="@dimen/text_size_12" />
+
+            <TextView
+                android:layout_width="0.0dp"
+                android:layout_height="match_parent"
+                android:layout_weight="1"
+                android:gravity="center"
+                android:text="天数"
+                android:textColor="#282828"
+                android:textSize="@dimen/text_size_12" />
+        </LinearLayout>
 
+        <android.support.v7.widget.RecyclerView
+            android:id="@+id/signRankings_RecyclerView"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" />
     </LinearLayout>
 
-    <android.support.v7.widget.RecyclerView
-        android:id="@+id/signRankings_RecyclerView"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" />
+
 </LinearLayout>

+ 14 - 3
app/src/main/res/layout/sign_card_layout.xml

@@ -73,7 +73,7 @@
                     android:layout_gravity="center_horizontal"
                     android:layout_marginTop="@dimen/content_padding_10"
                     android:gravity="center"
-                    android:text="333300元"
+                    android:text="0元"
                     android:textColor="@color/red"
                     android:textSize="@dimen/text_size_32" />
 
@@ -131,7 +131,7 @@
                     android:layout_gravity="center_horizontal"
                     android:layout_marginTop="@dimen/content_padding_10"
                     android:gravity="center"
-                    android:text="系统计算中/¥1.25"
+                    android:text="系统计算中/¥0元"
                     android:textColor="@color/content"
                     android:textSize="@dimen/text_size_4" />
 
@@ -189,9 +189,20 @@
                     android:layout_gravity="center_horizontal"
                     android:layout_marginTop="@dimen/content_padding_10"
                     android:gravity="center"
-                    android:text="333300元"
+                    android:text="0元"
                     android:textColor="@color/red"
                     android:textSize="@dimen/text_size_32" />
+                <TextView
+                    android:id="@+id/sign_tv_jrbmrs"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_horizontal"
+                    android:layout_marginTop="@dimen/content_padding_15"
+                    android:layout_marginBottom="@dimen/content_padding_10"
+                    android:gravity="center"
+                    android:text="今日已有XX人参与报名"
+                    android:textColor="#cc8e8e8e"
+                    android:textSize="@dimen/text_size_2" />
 
                 <TextView
                     android:id="@+id/sign_tv_yybm"

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

@@ -28,7 +28,7 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_centerInParent="true"
-                android:drawableLeft="@drawable/sign_ljdk_bg"
+                android:drawableLeft="@drawable/sign_ljdk_w_bg"
                 android:drawablePadding="@dimen/content_padding_10"
                 android:text="累计打卡"
                 android:textColor="@color/white"

+ 51 - 9
app/src/main/res/layout/sign_record_layout.xml

@@ -14,7 +14,7 @@
         android:layout_gravity="center_horizontal"
         android:layout_marginTop="@dimen/content_padding_10"
         android:gravity="center"
-        android:text="累计成功打卡23天,连续成功打卡7天"
+        android:text="累计成功打卡0天,连续成功打卡0天"
         android:textColor="@color/content"
         android:textSize="@dimen/text_size_3" />
 
@@ -74,7 +74,7 @@
             android:layout_height="wrap_content"
             android:layout_weight="1"
             android:gravity="center"
-            android:text="10.25元"
+            android:text="0.00元"
             android:textColor="@color/red"
             android:textSize="@dimen/text_size_25" />
 
@@ -85,7 +85,7 @@
             android:layout_marginLeft="30dp"
             android:layout_weight="1"
             android:gravity="center"
-            android:text="10.25元"
+            android:text="0.00元"
             android:textColor="@color/red"
             android:textSize="@dimen/text_size_25" />
 
@@ -96,23 +96,65 @@
             android:layout_marginLeft="30dp"
             android:layout_weight="1"
             android:gravity="center"
-            android:text="10.25元"
+            android:text="0.00元"
             android:textColor="@color/red"
             android:textSize="@dimen/text_size_25" />
 
     </LinearLayout>
+
     <TextView
         android:layout_width="match_parent"
         android:layout_height="40dp"
-        android:gravity="center_vertical"
         android:layout_marginTop="@dimen/content_padding_10"
+        android:gravity="center_vertical"
         android:paddingLeft="@dimen/content_padding_10"
         android:text="打卡记录"
         android:textColor="@color/content"
         android:textSize="@dimen/text_size_3" />
-    <android.support.v7.widget.RecyclerView
-        android:id="@+id/recyclerview"
+
+    <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="5dp" />
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        >
+
+        <RelativeLayout
+            android:id="@+id/download_mgr_empty_view"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:background="@color/white"
+            android:visibility="gone"
+            >
+
+            <ImageView
+                android:id="@+id/img_list_empty"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerHorizontal="true"
+                android:layout_marginTop="80dp"
+                android:background="@color/white"
+                android:gravity="center"
+                android:scaleType="centerInside"
+                android:src="@drawable/wushuju"
+                android:visibility="visible" />
+
+            <TextView
+                android:id="@+id/txt_list_empty"
+                style="@style/G3"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_below="@id/img_list_empty"
+                android:layout_centerHorizontal="true"
+                android:layout_marginTop="@dimen/content_padding_big"
+                android:text="暂无数据,稍后再试。" />
+        </RelativeLayout>
+
+
+        <android.support.v7.widget.RecyclerView
+            android:id="@+id/recyclerview"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="5dp" />
+    </LinearLayout>
+
 </LinearLayout>

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -38,5 +38,6 @@
     <string name="sign_record_item_money">打卡成功,获得奖励%s元</string>
     <string name="sign_tv_srecord_money">累计成功打卡%1$s天,连续成功打卡%2$s天</string>
     <string name="sign_number">今日已有%1$s人参与打卡</string>
+    <string name="sign_number1">今日已有%1$s人参与报名</string>
     <string name="sign_jppj">系统计算中/¥%1$s</string>
 </resources>