|
|
@@ -1,13 +1,12 @@
|
|
|
package com.sheep.gamegroup.view.activity;
|
|
|
|
|
|
import android.app.Activity;
|
|
|
-import android.graphics.Color;
|
|
|
import android.os.Build;
|
|
|
import android.support.annotation.RequiresApi;
|
|
|
import android.text.SpannableString;
|
|
|
import android.text.Spanned;
|
|
|
+import android.text.TextUtils;
|
|
|
import android.text.style.AbsoluteSizeSpan;
|
|
|
-import android.text.style.ForegroundColorSpan;
|
|
|
import android.view.View;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
@@ -30,6 +29,8 @@ import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
|
|
|
import org.greenrobot.eventbus.EventBus;
|
|
|
import org.greenrobot.eventbus.Subscribe;
|
|
|
|
|
|
+import java.util.Calendar;
|
|
|
+
|
|
|
import javax.inject.Inject;
|
|
|
|
|
|
import butterknife.BindView;
|
|
|
@@ -61,8 +62,8 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
|
|
|
@BindView(R.id.sign_tv_kf)
|
|
|
TextView signTvKf;
|
|
|
|
|
|
- String person ="0";
|
|
|
String balance;
|
|
|
+ private int punchType = 0;//打卡状态 //1未报名 2已打卡 3可以打卡 4已经过了时间 5活动暂未开始
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -101,6 +102,8 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
|
|
|
|
|
|
@Override
|
|
|
public void initData() {
|
|
|
+ presenter.goPunchCanSignUp();
|
|
|
+ presenter.goPunchCanpunch();
|
|
|
presenter.goPunchAward();//获取可获得的奖励
|
|
|
presenter.goPunchAndSignCount();//获取可打卡和报名人数
|
|
|
}
|
|
|
@@ -115,13 +118,17 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
|
|
|
if("OK".equals(o.getMsg())){
|
|
|
Jump2View.getInstance()
|
|
|
.goNoticeAct(activity, new DialogEntity("恭喜您",
|
|
|
- "今日打卡成功",
|
|
|
+ "打卡成功,活动结束后平分奖励会直接发放到个人账户中",
|
|
|
"查看战绩",
|
|
|
"好的",
|
|
|
EventTypes.REFRESH_DATA_SIGN));
|
|
|
presenter.goPunchAndSignCount();//(刷新数据)获取可打卡和报名人数
|
|
|
+ punchType = 2;//1未报名 2已打卡 3可以打卡 4已经过了时间 5活动暂未开始
|
|
|
+ signTvLjdk.setEnabled(false);
|
|
|
+ signTvLjdk.setText("已打卡");
|
|
|
}else {
|
|
|
showToast(o.getMsg());
|
|
|
+ presenter.goPunchCanpunch();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -133,11 +140,13 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
|
|
|
public void succSignUp(BaseMessage o) {
|
|
|
// {"code":200,"msg":"OK"}
|
|
|
if("OK".equals(o.getMsg())){
|
|
|
-// showToast("报名成功");
|
|
|
+ signTvYybm.setEnabled(false);
|
|
|
+ signTvYybm.setText("已报名");
|
|
|
ViewUtil.showSignPay(activity);
|
|
|
presenter.goPunchAndSignCount();//(刷新数据)获取可打卡和报名人数
|
|
|
}else {
|
|
|
showToast(o.getMsg());
|
|
|
+ presenter.goPunchCanSignUp();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -147,9 +156,20 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
|
|
|
*/
|
|
|
@Override
|
|
|
public void succPunchAward(BaseMessage o) {
|
|
|
-// 返回 1
|
|
|
- String text = String.format(getString(R.string.sign_jppj),o.getData().toString());
|
|
|
- signTvDkjl.setText(getColorSpannableString(text));//平分的金额
|
|
|
+ String text = o.getData().toString();
|
|
|
+ float award = 0;
|
|
|
+ try {
|
|
|
+ award = o.getData(Float.class);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
|
|
|
+ if(TextUtils.isEmpty(text) || award <= 0 || hour < 9) {
|
|
|
+ signTvDkjl.setText("系统计算中");
|
|
|
+ } else {
|
|
|
+ signTvDkjl.setText(getString(R.string.sign_jppj,o.getData().toString()));//平分的金额
|
|
|
+ signTvDkjl.setTextColor(0xffff0006);
|
|
|
+ }
|
|
|
}
|
|
|
/**
|
|
|
* 获取是否可以打卡
|
|
|
@@ -158,26 +178,12 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
|
|
|
*/
|
|
|
@Override
|
|
|
public void succPunchCanpunch(BaseMessage o) {
|
|
|
- if("1".equals(o.getData().toString())){
|
|
|
- ViewUtil.showSignAlert(activity);//未报名
|
|
|
- }else if("2".equals(o.getData().toString())){
|
|
|
- showToast("已打卡");
|
|
|
- }else if("3".equals(o.getData().toString())){
|
|
|
- presenter.goSignPunch();
|
|
|
- }else if("4".equals(o.getData().toString())){
|
|
|
- ViewUtil.showSignTimeAlert(activity, "你来晚啦,小懒猪!",person, new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View v) {
|
|
|
- presenter.goPunchCanSignUp();
|
|
|
- }
|
|
|
- });
|
|
|
- }else if("5".equals(o.getData().toString())){
|
|
|
- ViewUtil.showSignTimeAlert(activity,"活动暂未开始", person, new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View v) {
|
|
|
- presenter.goPunchCanSignUp();
|
|
|
- }
|
|
|
- });
|
|
|
+ punchType = o.getData(Integer.class);
|
|
|
+ if(punchType == 2) {//1未报名 2已打卡 3可以打卡 4已经过了时间 5活动暂未开始
|
|
|
+ signTvLjdk.setEnabled(false);
|
|
|
+ signTvLjdk.setText("已打卡");
|
|
|
+ } else {
|
|
|
+ signTvLjdk.setEnabled(true);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -191,17 +197,9 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
|
|
|
*/
|
|
|
@Override
|
|
|
public void succPunchCanSignUp(BaseMessage o) {
|
|
|
- Boolean isSuccess = o.getData(Boolean.class);
|
|
|
- if(isSuccess){
|
|
|
- if(Float.valueOf(balance) >= 1){
|
|
|
- presenter.goSignUp();
|
|
|
- }else {
|
|
|
- Jump2View.getInstance().goSignRechargeAct(activity,null);
|
|
|
- }
|
|
|
- } else {
|
|
|
- showToast("您已经报名");
|
|
|
- }
|
|
|
-
|
|
|
+ boolean isSignUp = o.getData(Boolean.class);
|
|
|
+ signTvYybm.setEnabled(isSignUp);
|
|
|
+ signTvYybm.setText(isSignUp ? "一元报名" : "已报名");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -227,21 +225,48 @@ public class SignCardAct extends BaseActivity implements SignCardContract.View {
|
|
|
public void onViewClicked(View view) {
|
|
|
switch (view.getId()) {
|
|
|
case R.id.sign_tv_ljdk://打卡
|
|
|
- presenter.goPunchCanpunch();
|
|
|
+ tryPunch();
|
|
|
break;
|
|
|
case R.id.sign_tv_yybm://一元报名
|
|
|
- presenter.goPunchCanSignUp();
|
|
|
+ trySignUp();
|
|
|
break;
|
|
|
case R.id.sign_tv_kf:
|
|
|
showToast("028-8888888");
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- private SpannableString getColorSpannableString(String text) {
|
|
|
- SpannableString spannableString = new SpannableString(text);
|
|
|
- ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#ff0006"));
|
|
|
- spannableString.setSpan(colorSpan, 6, text.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
|
|
- return spannableString;
|
|
|
+
|
|
|
+ private void trySignUp() {
|
|
|
+ if(Float.valueOf(balance) >= 1){
|
|
|
+ presenter.goSignUp();
|
|
|
+ }else {
|
|
|
+ ViewUtil.showSignTimeAlert(activity, "抱歉,你的余额不足,请先去充值再来参与打卡哦!", "去充值、好的", new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View view) {
|
|
|
+ Jump2View.getInstance().goSignRechargeAct(activity,null);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void tryPunch() {
|
|
|
+ switch (punchType) {//1未报名 2已打卡 3可以打卡 4已经过了时间 5活动暂未开始
|
|
|
+ case 1:
|
|
|
+ ViewUtil.showSignAlert(activity);//未报名
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ ViewUtil.showSignTimeAlert(activity, "您已经打卡,活动结束后平分奖励会直接发放到个人账户中");
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ presenter.goSignPunch();
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ ViewUtil.showSignTimeAlert(activity, "今日打卡活动已结束,请先去报名,明日再来哦!");
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ ViewUtil.showSignTimeAlert(activity, "活动暂未开始,请于早上7点至9点来参与打卡");
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@RequiresApi(api = Build.VERSION_CODES.ECLAIR)
|