package com.tejia.lijin.app.ui.mine;
|
|
import android.content.Intent;
|
import android.graphics.Color;
|
import android.os.Bundle;
|
import android.text.Spannable;
|
import android.text.SpannableString;
|
import android.text.Spanned;
|
import android.text.style.ForegroundColorSpan;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.TextView;
|
import android.widget.Toast;
|
|
import com.bumptech.glide.Glide;
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.wpc.library.util.common.DimenUtils;
|
import com.wpc.library.util.common.StringUtils;
|
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
|
import com.tejia.lijin.app.R;
|
import com.tejia.lijin.app.ShoppingApi;
|
import com.tejia.lijin.app.entity.Jump;
|
import com.tejia.lijin.app.entity.OrderGoods;
|
import com.tejia.lijin.app.entity.TicketState;
|
import com.tejia.lijin.app.ui.BaseActivity;
|
import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
|
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivityTB;
|
import com.tejia.lijin.app.util.JumpActivityUtil;
|
import com.tejia.lijin.app.util.KeFuUtil;
|
import com.tejia.lijin.app.util.TopStatusSettings;
|
import com.tejia.lijin.app.util.clipboard.ClipboardUtil;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.util.List;
|
|
/**
|
* 免单状态及奖励金状态
|
*/
|
public class FreeSingleTicketStateActivity extends BaseActivity implements View.OnClickListener {
|
|
private TextView tv_left, tv_middle, tv_ticket_state_des, tv_state1, tv_state2,
|
tv_state3, tv_state4, tv_order_num, tv_copy, tv_ticket_type,
|
tv_ticket_state, tv_ticket_rule_hint, tv_ticket_rule_remark,
|
tv_ticket_rule_remark_content;
|
private ImageView iv_ticket_state, iv_state1, iv_state2, iv_state3, iv_state4, iv_top_bar_right;
|
private LinearLayout ll_goods_info, ll_ticket_state, ll_ticket_rule;
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_free_single_ticket_state);
|
TopStatusSettings.setStatusViewAndDeepColor(this);
|
|
initView();
|
|
getFreeSingleTicketRate();
|
}
|
|
|
/*
|
初始化控件
|
*/
|
private void initView() {
|
tv_left = findViewById(R.id.tv_top_bar_left);
|
tv_middle = findViewById(R.id.tv_top_bar_middle);
|
tv_ticket_state_des = findViewById(R.id.tv_ticket_state_des);
|
tv_state1 = findViewById(R.id.tv_state1);
|
tv_state2 = findViewById(R.id.tv_state2);
|
tv_state3 = findViewById(R.id.tv_state3);
|
tv_state4 = findViewById(R.id.tv_state4);
|
tv_order_num = findViewById(R.id.tv_order_num);
|
tv_copy = findViewById(R.id.tv_copy);
|
tv_ticket_type = findViewById(R.id.tv_ticket_type);
|
tv_ticket_state = findViewById(R.id.tv_ticket_state);
|
tv_ticket_rule_hint = findViewById(R.id.tv_ticket_rule_hint);
|
tv_ticket_rule_remark = findViewById(R.id.tv_ticket_rule_remark);
|
tv_ticket_rule_remark_content = findViewById(R.id.tv_ticket_rule_remark_content);
|
iv_ticket_state = findViewById(R.id.iv_ticket_state);
|
iv_state1 = findViewById(R.id.iv_state1);
|
iv_state2 = findViewById(R.id.iv_state2);
|
iv_state3 = findViewById(R.id.iv_state3);
|
iv_state4 = findViewById(R.id.iv_state4);
|
iv_top_bar_right = findViewById(R.id.iv_top_bar_right);
|
ll_goods_info = findViewById(R.id.ll_goods_info);
|
ll_ticket_state = findViewById(R.id.ll_ticket_state);
|
ll_ticket_rule = findViewById(R.id.ll_ticket_rule);
|
|
tv_middle.setText("免单详情");
|
tv_ticket_rule_hint.setText("免单券规则");
|
iv_top_bar_right.setImageResource(R.drawable.ic_ticket_state_contact_kefu);
|
iv_top_bar_right.setVisibility(View.VISIBLE);
|
|
tv_left.setOnClickListener(this);
|
iv_top_bar_right.setOnClickListener(this);
|
ll_ticket_rule.setOnClickListener(this);
|
ll_ticket_state.setOnClickListener(this);
|
}
|
|
/*
|
获取免单券状态信息
|
*/
|
private void getFreeSingleTicketRate() {
|
String orderNo = getIntent().getStringExtra("orderNo");
|
String goodsType = getIntent().getStringExtra("goodsType");
|
// String orderNo = "3500537602463267337";
|
ShoppingApi.getFreeSingleTicketRate(FreeSingleTicketStateActivity.this, orderNo,goodsType, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optInt("code") == 0) {
|
JSONObject object = jsonObject.optJSONObject("data").optJSONObject("frreCouponRecord");
|
ruleLink = object.optString("ruleLink");
|
Glide.with(FreeSingleTicketStateActivity.this)
|
.load(object.optInt("progressState") == 1 ? R.drawable.ic_ticket_state_ongoing :
|
object.optInt("progressState") == 2 ? R.drawable.ic_ticket_state_fatrue :
|
R.drawable.ic_ticket_state_success).into(iv_ticket_state);
|
tv_ticket_state_des.setText(object.optJSONObject("progressMsg").optString("content"));
|
tv_ticket_state_des.setTextColor(Color.parseColor(object.optJSONObject("progressMsg").optString("color")));
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
|
if (object.optJSONObject("jumpWelfare") != null)
|
jumpWelfare = gson.fromJson(object.optJSONObject("jumpWelfare")
|
.toString(), new TypeToken<Jump>() {
|
}.getType());
|
List<TicketState> tList = gson.fromJson(object.optJSONArray("progressList").toString(),
|
new TypeToken<List<TicketState>>() {
|
}.getType());
|
Glide.with(FreeSingleTicketStateActivity.this).load(tList.get(0).getState() == 1 ?
|
R.drawable.ic_rate_of_advance_gray : tList.get(0).getState() == 2 ?
|
R.drawable.ic_rate_of_advance_red : R.drawable.ic_rate_of_advance_green)
|
.into(iv_state1);
|
String payMoney = object.optJSONObject("payMoney").optString("content");
|
String payMoneyColor = object.optJSONObject("payMoney").optString("color");
|
String fanMoney = object.optJSONObject("fanMoney").optString("content");
|
String fanMoneyColor = object.optJSONObject("fanMoney").optString("color");
|
String content = payMoney + "\n" + fanMoney;
|
Spannable span = new SpannableString(content);
|
span.setSpan(new ForegroundColorSpan(Color.parseColor(payMoneyColor)), 0, payMoney.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
span.setSpan(new ForegroundColorSpan(Color.parseColor(fanMoneyColor)), payMoney.length(), content.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
tv_state1.setText(span);
|
|
Glide.with(FreeSingleTicketStateActivity.this).load(tList.get(1).getState() == 1 ?
|
R.drawable.ic_rate_of_advance_gray : tList.get(1).getState() == 2 ?
|
R.drawable.ic_rate_of_advance_red : R.drawable.ic_rate_of_advance_green)
|
.into(iv_state2);
|
tv_state2.setText(tList.get(1).getText().getContent());
|
tv_state2.setTextColor(Color.parseColor(tList.get(1).getText().getColor()));
|
Glide.with(FreeSingleTicketStateActivity.this).load(tList.get(2).getState() == 1 ?
|
R.drawable.ic_rate_of_advance_gray : tList.get(2).getState() == 2 ?
|
R.drawable.ic_rate_of_advance_red : R.drawable.ic_rate_of_advance_green)
|
.into(iv_state3);
|
tv_state3.setText(tList.get(2).getText().getContent());
|
tv_state3.setTextColor(Color.parseColor(tList.get(2).getText().getColor()));
|
Glide.with(FreeSingleTicketStateActivity.this).load(tList.get(3).getState() == 1 ?
|
R.drawable.ic_rate_of_advance_gray : tList.get(3).getState() == 2 ?
|
R.drawable.ic_rate_of_advance_red : R.drawable.ic_rate_of_advance_green)
|
.into(iv_state4);
|
tv_state4.setText(tList.get(3).getText().getContent());
|
tv_state4.setTextColor(Color.parseColor(tList.get(3).getText().getColor()));
|
|
List<OrderGoods> oList = gson.fromJson(object.optJSONObject("commonOrder")
|
.optJSONArray("listOrderGoods").toString(),
|
new TypeToken<List<OrderGoods>>() {
|
}.getType());
|
if (ll_goods_info.getChildCount() > 0)
|
ll_goods_info.removeAllViews();
|
for (int i = 0; i < oList.size(); i++) {
|
View view = LayoutInflater.from(FreeSingleTicketStateActivity.this).inflate(R.layout.item_filter_order_goods, null);
|
ImageView iv_goods_img = view.findViewById(R.id.iv_goods_img);
|
TextView tv_goods_title = view.findViewById(R.id.tv_goods_title);
|
TextView tv_goods_consume = view.findViewById(R.id.tv_goods_consume);
|
TextView tv_goods_num = view.findViewById(R.id.tv_goods_num);
|
ImageView iv_goods_img_cover = view.findViewById(R.id.iv_goods_img_cover);
|
final OrderGoods oInfo = oList.get(i);
|
tv_goods_consume.setText(oInfo.getActualPay());
|
tv_goods_num.setText(oInfo.getActualCount());
|
Glide.with(FreeSingleTicketStateActivity.this).load(oInfo.getPicture()).into(iv_goods_img);
|
iv_goods_img_cover.setVisibility(View.GONE);
|
tv_goods_title.setPadding(0, 0, 0, 0);
|
tv_goods_title.setText(oInfo.getTitle());
|
view.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
Intent intent = new Intent(FreeSingleTicketStateActivity.this, GoodsDetailActivityTB.class);
|
intent.putExtra("title", oInfo.getTitle());
|
intent.putExtra("id", oInfo.getGoodsId());
|
startActivity(intent);
|
}
|
});
|
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
int topMargin = DimenUtils.dip2px(FreeSingleTicketStateActivity.this, 5);
|
int bottomMargin = DimenUtils.dip2px(FreeSingleTicketStateActivity.this, 5);
|
if (oList.size() == 1) {
|
topMargin = 0;
|
bottomMargin = 0;
|
} else if (oList.size() > 1 && i == 0) {
|
topMargin = 0;
|
} else if (oList.size() > 1 &&
|
i == oList.size() - 1) {
|
bottomMargin = 0;
|
}
|
params.topMargin = topMargin;
|
params.bottomMargin = bottomMargin;
|
view.setLayoutParams(params);
|
ll_goods_info.addView(view);
|
}
|
final String orderNo = object.optJSONObject("commonOrder").optString("orderNo");
|
if (StringUtils.isEmpty(orderNo)) {
|
tv_order_num.setVisibility(View.GONE);
|
tv_copy.setVisibility(View.GONE);
|
} else {
|
tv_order_num.setVisibility(View.VISIBLE);
|
tv_copy.setVisibility(View.VISIBLE);
|
}
|
tv_order_num.setText("订单号:" + orderNo);
|
tv_copy.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
ClipboardUtil.copy(getApplicationContext(),orderNo);
|
Toast.makeText(FreeSingleTicketStateActivity.this, "复制订单成功",
|
Toast.LENGTH_SHORT).show();
|
}
|
});
|
if (object.optInt("progressState") == 1) {
|
ll_ticket_state.setVisibility(View.GONE);
|
} else {
|
ll_ticket_state.setVisibility(View.VISIBLE);
|
tv_ticket_type.setText(object.optString("couponName"));
|
tv_ticket_state.setText(object.optString("couponMoneyState"));
|
}
|
tv_ticket_rule_remark.setText(object.optJSONObject("remark").optString("title"));
|
tv_ticket_rule_remark_content.setText(object.optJSONObject("remark").optString("content"));
|
}
|
}
|
});
|
}
|
|
/*
|
获取免单券状态信息
|
*/
|
private String ruleLink;
|
private Jump jumpWelfare;
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_top_bar_left:
|
finish();
|
break;
|
case R.id.iv_top_bar_right:
|
// startActivity(new Intent(FreeSingleTicketStateActivity.this, ContactUsActivity.class));
|
KeFuUtil.jumpKeFu(this, "免单状态及奖励金状态");
|
break;
|
case R.id.ll_ticket_rule: {
|
Intent intent = new Intent(FreeSingleTicketStateActivity.this, ShareBrowserActivity.class);
|
intent.putExtra("url", ruleLink);
|
startActivity(intent);
|
}
|
break;
|
case R.id.ll_ticket_state:
|
if (jumpWelfare != null) {
|
// Intent intent = null;
|
// try {
|
// intent = new Intent(FreeSingleTicketStateActivity.this,
|
// Class.forName(jumpWelfare.getJumpDetail().getActivity()));
|
// } catch (ClassNotFoundException e) {
|
// e.printStackTrace();
|
// }
|
// if (jumpWelfare.getParams() != null) {
|
// Iterator<String> its = jumpWelfare.getParams().keySet().iterator();
|
// while (its.hasNext()) {
|
// String key = its.next();
|
// String value = jumpWelfare.getParams().getString(key);
|
// intent.putExtra(key, value);
|
// }
|
// }
|
// startActivity(intent);
|
JumpActivityUtil.jumpActivity(FreeSingleTicketStateActivity.this,
|
jumpWelfare.getJumpDetail(), jumpWelfare.getParams());
|
}
|
break;
|
}
|
}
|
}
|