package com.tejia.lijin.app.ui.mine;
|
|
import android.content.Intent;
|
import android.graphics.Color;
|
import android.os.Bundle;
|
import android.provider.Settings;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
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.tejia.lijin.app.ShoppingApplication;
|
import com.tejia.lijin.app.util.user.UserUtil;
|
import com.wpc.library.content.ConnectivityChangeHelper;
|
import com.wpc.library.util.NetUtils;
|
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
|
import com.tejia.lijin.app.R;
|
import com.tejia.lijin.app.ShoppingApi;
|
import com.tejia.lijin.app.ui.BaseActivity;
|
import com.tejia.lijin.app.ui.dialog.ShapeLoadingDialog;
|
import com.tejia.lijin.app.util.TopStatusSettings;
|
|
import org.apache.http.Header;
|
import org.json.JSONArray;
|
import org.json.JSONObject;
|
|
import java.util.List;
|
|
/**
|
* 收益详情
|
*/
|
public class MyMoneyDetailActivity extends BaseActivity implements View.OnClickListener {
|
|
private TextView tv_left, tv_middle;
|
|
private TextView tv_mine, tv_team;
|
private LinearLayout ll_content;
|
private View view_mine, view_team;
|
private LinearLayout ll_layout_content;
|
|
private LinearLayout ll_no_net, ll_no_data, ll_request_failture;
|
private ConnectivityChangeHelper mChangeHelper;
|
List<MoneyDetailItem> list = null;
|
int dateType;
|
String date;
|
int type = 1;
|
|
ShapeLoadingDialog pd = null;
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_money_history_detail);
|
pd = new ShapeLoadingDialog.Builder(this).build();
|
TopStatusSettings.setStatusViewAndDeepColor(this);
|
dateType = getIntent().getIntExtra("dateType", 0);
|
date = getIntent().getStringExtra("date");
|
initView();
|
addListener();
|
getMoneyDetail(1);
|
}
|
|
|
private void initView() {
|
tv_left = findViewById(R.id.tv_top_bar_left);
|
tv_middle = findViewById(R.id.tv_top_bar_middle);
|
tv_middle.setText("收益详情");
|
|
tv_mine = findViewById(R.id.tv_mine);
|
tv_team = findViewById(R.id.tv_team);
|
|
ll_content = findViewById(R.id.ll_content);
|
view_mine = findViewById(R.id.view_mine);
|
view_team = findViewById(R.id.view_team);
|
ll_layout_content = findViewById(R.id.ll_layout_content);
|
|
ll_no_net = findViewById(R.id.ll_no_net);
|
ll_no_data = findViewById(R.id.ll_no_data);
|
ll_request_failture = findViewById(R.id.ll_request_failture);
|
}
|
|
private void addListener() {
|
tv_left.setOnClickListener(this);
|
findViewById(R.id.tv_net_setting).setOnClickListener(this);
|
findViewById(R.id.tv_refresh).setOnClickListener(this);
|
findViewById(R.id.ll_mine).setOnClickListener(this);
|
findViewById(R.id.ll_team).setOnClickListener(this);
|
mChangeHelper = new ConnectivityChangeHelper(this,
|
new ConnectivityChangeHelper.OnConnectivityChangeListener() {
|
|
@Override
|
public void onNetworkUnAvailable() {
|
if (list == null || list.size() == 0)
|
requestState(3);
|
}
|
|
@Override
|
public void onNetworkAvailable() {
|
requestState(0);
|
if (list == null || list.size() == 0) {
|
getMoneyDetail(type);
|
}
|
}
|
});
|
}
|
|
private void setData(List<MoneyDetailItem> itemList) {
|
ll_content.removeAllViews();
|
LayoutInflater inflator = LayoutInflater.from(this);
|
int count = 0;
|
for (MoneyDetailItem item : itemList) {
|
View view = inflator.inflate(R.layout.item_money_history_detail, null);
|
ImageView iv_icon = view.findViewById(R.id.iv_type);
|
TextView tv_money = view.findViewById(R.id.tv_money);
|
TextView tv_order_num = view.findViewById(R.id.tv_order_num);
|
Glide.with(this).load(item.getIcon()).into(iv_icon);
|
if (count++ % 2 == 0) {
|
view.setBackgroundColor(Color.parseColor("#FFF6FA"));
|
} else {
|
view.setBackgroundColor(Color.parseColor("#FFFFFF"));
|
}
|
tv_money.setText("¥ " + item.getMoney());
|
tv_order_num.setText(item.getNum());
|
ll_content.addView(view);
|
}
|
}
|
|
|
private void getMoneyDetail(final int type) {
|
ShoppingApi.getIncomeDetail(this, UserUtil.getUid(ShoppingApplication.application), dateType, date, type, new BasicTextHttpResponseHandler() {
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
if (pd != null && !pd.isShowing())
|
pd.show();
|
}
|
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optInt("code") == 0) {
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
if (jsonObject.optInt("code") == 0) {
|
JSONObject data = jsonObject.optJSONObject("data");
|
if (data != null) {
|
JSONArray array = data.optJSONArray("list");
|
if (array != null) {
|
list = new Gson().fromJson(array.toString(), new TypeToken<List<MoneyDetailItem>>() {
|
}.getType());
|
setData(list);
|
}
|
}
|
} else {
|
Toast.makeText(MyMoneyDetailActivity.this, jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
|
}
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString, throwable);
|
if (list == null || list.size() == 0) {
|
if (NetUtils.getNetworkState(MyMoneyDetailActivity.this).equalsIgnoreCase(NetUtils.NETWORK_NONE)) {
|
requestState(3);
|
} else {
|
requestState(2);
|
}
|
} else {
|
if (NetUtils.getNetworkState(MyMoneyDetailActivity.this).equalsIgnoreCase(NetUtils.NETWORK_NONE)) {
|
Toast.makeText(MyMoneyDetailActivity.this, "网络未连接,请检测网络设置", Toast.LENGTH_SHORT).show();
|
} else {
|
Toast.makeText(MyMoneyDetailActivity.this, "网络连接异常,请检测网络设置", Toast.LENGTH_SHORT).show();
|
}
|
}
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
if (pd != null && pd.isShowing())
|
pd.dismiss();
|
}
|
});
|
}
|
|
@Override
|
protected void onResume() {
|
super.onResume();
|
mChangeHelper.registerReceiver();
|
}
|
|
@Override
|
protected void onPause() {
|
super.onPause();
|
mChangeHelper.unregisterReceiver();
|
}
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_top_bar_left:
|
finish();
|
break;
|
case R.id.ll_title:
|
|
break;
|
|
case R.id.ll_mine:
|
tv_mine.setTextColor(Color.parseColor("#E5005B"));
|
view_mine.setVisibility(View.VISIBLE);
|
tv_team.setTextColor(Color.parseColor("#333333"));
|
view_team.setVisibility(View.INVISIBLE);
|
type = 1;
|
getMoneyDetail(type);
|
break;
|
case R.id.ll_team:
|
tv_team.setTextColor(Color.parseColor("#E5005B"));
|
view_team.setVisibility(View.VISIBLE);
|
tv_mine.setTextColor(Color.parseColor("#333333"));
|
view_mine.setVisibility(View.INVISIBLE);
|
type = 2;
|
getMoneyDetail(type);
|
break;
|
|
case R.id.tv_net_setting:
|
case R.id.tv_refresh:
|
startActivity(new Intent(Settings.ACTION_SETTINGS));
|
break;
|
}
|
}
|
|
|
@Override
|
protected void onDestroy() {
|
super.onDestroy();
|
}
|
|
/**
|
* 请求状态 0 数据正常展示;1 返回数据为空;2 网络请求失败;3 没有连接网络
|
*
|
* @param state
|
*/
|
private void requestState(int state) {
|
ll_layout_content.setVisibility(state == 0 ? View.VISIBLE : View.GONE);
|
ll_no_data.setVisibility(state == 1 ? View.VISIBLE : View.GONE);
|
ll_request_failture.setVisibility(state == 2 ? View.VISIBLE : View.GONE);
|
ll_no_net.setVisibility(state == 3 ? View.VISIBLE : View.GONE);
|
}
|
|
class MoneyDetailItem {
|
private String icon;
|
private String money;
|
private String num;
|
|
public String getIcon() {
|
return icon;
|
}
|
|
public void setIcon(String icon) {
|
this.icon = icon;
|
}
|
|
public String getMoney() {
|
return money;
|
}
|
|
public void setMoney(String money) {
|
this.money = money;
|
}
|
|
public String getNum() {
|
return num;
|
}
|
|
public void setNum(String num) {
|
this.num = num;
|
}
|
|
|
}
|
}
|