package com.tejia.lijin.app.ui.mine;
|
|
import android.content.Intent;
|
import android.graphics.drawable.AnimationDrawable;
|
import android.os.Bundle;
|
import android.provider.Settings;
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.RecyclerView;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.widget.FrameLayout;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.TextView;
|
import android.widget.Toast;
|
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.wpc.library.content.ConnectivityChangeHelper;
|
import com.wpc.library.recyclerviewhelper.DividerItemDecoration;
|
import com.wpc.library.util.NetUtils;
|
import com.wpc.library.util.common.DimenUtils;
|
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
|
import com.tejia.lijin.app.R;
|
import com.tejia.lijin.app.ShoppingApi;
|
import com.tejia.lijin.app.entity.OrderFilter;
|
import com.tejia.lijin.app.ui.BaseActivity;
|
import com.tejia.lijin.app.util.MultipleContentPopUps;
|
import com.tejia.lijin.app.util.TopStatusSettings;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* 区间订单
|
*/
|
public class RewardStatisticsOrderActivity33 extends BaseActivity implements View.OnClickListener,OrderAdapter33.Bombhelp {
|
|
private TextView tv_left, tv_middle, tv_valid_order_money,
|
tv_valid_order_hint, tv_weiquan_order_money, tv_weiquan_order_hint;
|
private FrameLayout fl_content;
|
private LinearLayout ll_valid_order, ll_weiquan_order;
|
private View v_valid, v_weiquan, v_divider;
|
private View header, bottom;
|
private ImageView iv_loading;
|
private TextView tv_loading;
|
private SwipeRefreshLayout rl_order_fillter;
|
private RecyclerView rv_order_fillter;
|
private ConnectivityChangeHelper mChangeHelper;
|
private LinearLayout ll_no_net, ll_request_failture;
|
OrderAdapter33 adapter;
|
|
List<OrderFilter> mList = new ArrayList<>();
|
|
Integer count = 1, page = 1;
|
Integer state = null;//state 到账状态:1 未到账 2已到账 3已失效
|
Integer orderState = 1;//订单状态:1-有效 2-维权 3-失效 (“奖金统计必需要”)
|
String type;//订单类型:1-返利订单 2-分享订单 3-团队订单 (“奖金统计必需要”)
|
Integer goodsType = 1;//订单类型:1-淘宝订单 2-京东订单 3-拼多多订单
|
String startTime = "", endTime = "";//筛选起始结束时间
|
Integer slotTime = null;//时间段:1-最近三天 2-最近七天 3最近半月 4本月 5近三月 6近半年
|
boolean needCount = true;//是否需要统计各个类型订单数据 true是 false不需要 (“奖金统计必需要”)
|
Integer dateType = null;//1-今日 2-昨天 3-本月 4-上个月 (“奖金统计必需要”)
|
private boolean isLoad = false;
|
private boolean showNav = true;//是否显示统计数据
|
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_order_fillter);
|
TopStatusSettings.setStatusViewAndDeepColor(this);
|
initView();
|
initListener();
|
}
|
|
private void initView() {
|
tv_left = findViewById(R.id.tv_top_bar_left);
|
tv_middle = findViewById(R.id.tv_top_bar_middle);
|
fl_content = findViewById(R.id.fl_content);
|
String title = getIntent().getStringExtra("title");
|
tv_middle.setText(title);
|
// header = LayoutInflater.from(this).inflate(R.layout.item_order_filter_top, null);
|
//有效订单
|
ll_valid_order = findViewById(R.id.ll_valid_order);
|
tv_valid_order_money = findViewById(R.id.tv_valid_order_money);
|
tv_valid_order_hint = findViewById(R.id.tv_valid_order_hint);
|
|
//维权订单
|
ll_weiquan_order = findViewById(R.id.ll_weiquan_order);
|
tv_weiquan_order_money = findViewById(R.id.tv_weiquan_order_money);
|
tv_weiquan_order_hint = findViewById(R.id.tv_weiquan_order_hint);
|
|
|
v_valid = findViewById(R.id.v_valid);
|
v_weiquan = findViewById(R.id.v_weiquan);
|
v_divider = findViewById(R.id.v_divider);
|
|
rl_order_fillter = findViewById(R.id.rl_order_fillter);
|
rv_order_fillter = findViewById(R.id.rv_order_fillter);
|
rv_order_fillter.setLayoutManager(new LinearLayoutManager(RewardStatisticsOrderActivity33.this));
|
DividerItemDecoration vDivider = new DividerItemDecoration();
|
vDivider.setColor(getResources().getColor(R.color.register_gray));
|
vDivider.setSize(DimenUtils.dip2px(RewardStatisticsOrderActivity33.this, 12));
|
rv_order_fillter.addItemDecoration(vDivider);
|
bottom = LayoutInflater.from(this).inflate(R.layout.item_recyclerview_bottom, null);
|
tv_loading = bottom.findViewById(R.id.tv_loading);
|
iv_loading = bottom.findViewById(R.id.iv_loading);
|
AnimationDrawable animationDrawable = (AnimationDrawable) getResources().getDrawable(
|
R.drawable.anim_list_loading);
|
iv_loading.setImageDrawable(animationDrawable);
|
animationDrawable.start();
|
// Glide.with(this).load(R.drawable.gif_loading).into(iv_loading);
|
bottom.setVisibility(View.GONE);
|
adapter = new OrderAdapter33(RewardStatisticsOrderActivity33.this, mList);
|
adapter.setRewardState(1);
|
adapter.addFooterView(bottom);
|
adapter.addHeaderView(new View(this));
|
adapter.setbombhelp(this);
|
rv_order_fillter.setAdapter(adapter);
|
|
ll_no_net = findViewById(R.id.ll_no_net);
|
ll_request_failture = findViewById(R.id.ll_request_failture);
|
|
rl_order_fillter.setColorSchemeColors(getResources().getColor(R.color.theme));
|
rv_order_fillter.setAdapter(adapter);
|
needCount = getIntent().getBooleanExtra("needCount", true);
|
dateType = getIntent().getIntExtra("dateType", -1);
|
dateType = dateType == -1 ? null : dateType;
|
type = getIntent().getStringExtra("type");
|
goodsType = getIntent().getIntExtra("goodsType", 0);
|
slotTime = getIntent().getIntExtra("slotTime", -1);
|
slotTime = slotTime == -1 ? null : slotTime;
|
startTime = getIntent().getStringExtra("startTime");
|
endTime = getIntent().getStringExtra("endTime");
|
showNav = getIntent().getBooleanExtra("showNav", true);
|
if (!showNav) {//为false 隐藏
|
header.setVisibility(View.GONE);
|
}
|
}
|
|
private void initListener() {
|
tv_left.setOnClickListener(this);
|
ll_valid_order.setOnClickListener(this);
|
ll_weiquan_order.setOnClickListener(this);
|
findViewById(R.id.tv_net_setting).setOnClickListener(this);
|
findViewById(R.id.tv_refresh).setOnClickListener(this);
|
|
mChangeHelper = new ConnectivityChangeHelper(this,
|
new ConnectivityChangeHelper.OnConnectivityChangeListener() {
|
|
@Override
|
public void onNetworkUnAvailable() {
|
if (mList.size() == 0)
|
requestState(3);
|
}
|
|
@Override
|
public void onNetworkAvailable() {
|
requestState(0);
|
if (mList.size() == 0) {
|
getOrderList();
|
}
|
}
|
});
|
rl_order_fillter.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
@Override
|
public void onRefresh() {
|
page = 1;
|
getOrderList();
|
}
|
});
|
rv_order_fillter.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
@Override
|
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
|
super.onScrollStateChanged(recyclerView, newState);
|
LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager();
|
int last = manager.findLastVisibleItemPosition();
|
int total = manager.getItemCount();
|
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
|
if (last == total - 1 && mList.size() < count && isLoad) {
|
page++;
|
isLoad = false;
|
iv_loading.setVisibility(View.VISIBLE);
|
tv_loading.setText("正在加载更多数据");
|
getOrderList();
|
}
|
}
|
}
|
|
@Override
|
public void onScrolled(RecyclerView recyclerView, int dx, final int dy) {
|
super.onScrolled(recyclerView, dx, dy);
|
}
|
});
|
}
|
|
@Override
|
protected void onResume() {
|
super.onResume();
|
mChangeHelper.registerReceiver();
|
}
|
|
@Override
|
protected void onPause() {
|
super.onPause();
|
mChangeHelper.unregisterReceiver();
|
}
|
|
private void getOrderList() {
|
String uid = getSharedPreferences("user", MODE_PRIVATE).getString("uid", "");
|
// String uid = "437032";
|
String state = getIntent().getStringExtra("state");
|
ShoppingApi.getOrderList2(this, page + "", uid, orderState + ""
|
, type, startTime, endTime, slotTime, needCount + "", dateType,
|
goodsType, state, new BasicTextHttpResponseHandler() {
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
rl_order_fillter.setRefreshing(true);
|
if (page > 1) {
|
bottom.setVisibility(View.VISIBLE);
|
} else {
|
bottom.setVisibility(View.GONE);
|
}
|
}
|
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
bottom.setVisibility(View.GONE);
|
if (jsonObject.optInt("code") == 0) {
|
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().serializeNulls().create();
|
List<OrderFilter> list = gson.fromJson(jsonObject.optJSONObject("data").optJSONArray("result_list").toString(), new TypeToken<List<OrderFilter>>() {
|
}.getType());
|
if (page == 1) {
|
mList.clear();
|
}
|
if (list.size() > 0) {
|
isLoad = true;
|
}
|
count = Integer.parseInt(jsonObject.optJSONObject("data").optString("count"));
|
if (page == 1) {
|
tv_valid_order_money.setText(jsonObject.optJSONObject("data").optString("validMoney"));
|
tv_weiquan_order_money.setText(jsonObject.optJSONObject("data").optString("invalidMoney"));
|
}
|
if (count > 0) {
|
v_divider.setVisibility(View.GONE);
|
fl_content.setBackgroundColor(getResources().getColor(R.color.register_gray));
|
mList.addAll(list);
|
adapter.notifyDataSetChanged();
|
// adapter.notifyItemRangeChanged(mList.size(), list.size());//倒序批量刷新列表
|
if (mList.size() == count) {
|
bottom.setVisibility(View.VISIBLE);
|
iv_loading.setVisibility(View.GONE);
|
tv_loading.setText(getResources().getString(R.string.list_no_more));
|
}
|
requestState(mList.size() == 0 ? 1 : 0);
|
} else {
|
v_divider.setVisibility(View.VISIBLE);
|
fl_content.setBackgroundColor(getResources().getColor(R.color.white));
|
OrderFilter info = new OrderFilter();
|
mList.add(info);
|
adapter.notifyDataSetChanged();
|
// adapter.notifyItemRangeChanged(mList.size(), list.size());//倒序批量刷新列表
|
}
|
} else {
|
if (mList.size() == 0)
|
requestState(2);
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString, throwable);
|
bottom.setVisibility(View.GONE);
|
if (mList.size() == 0) {
|
if (NetUtils.getNetworkState(RewardStatisticsOrderActivity33.this).equalsIgnoreCase(NetUtils.NETWORK_NONE)) {
|
requestState(3);
|
} else {
|
requestState(2);
|
}
|
} else {
|
if (NetUtils.getNetworkState(RewardStatisticsOrderActivity33.this).equalsIgnoreCase(NetUtils.NETWORK_NONE)) {
|
Toast.makeText(RewardStatisticsOrderActivity33.this, "网络未连接,请检测网络设置", Toast.LENGTH_SHORT).show();
|
} else {
|
Toast.makeText(RewardStatisticsOrderActivity33.this, "网络连接异常,请检测网络设置", Toast.LENGTH_SHORT).show();
|
}
|
}
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
rl_order_fillter.setRefreshing(false);
|
}
|
});
|
}
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_top_bar_left:
|
finish();
|
break;
|
case R.id.tv_net_setting:
|
case R.id.tv_refresh:
|
startActivity(new Intent(Settings.ACTION_SETTINGS));
|
break;
|
case R.id.ll_valid_order:
|
orderState = 1;
|
if (adapter != null)
|
adapter.setRewardState(orderState);
|
filterTypeChange();
|
getOrderList();
|
break;
|
case R.id.ll_weiquan_order:
|
orderState = 2;
|
if (adapter != null)
|
adapter.setRewardState(orderState);
|
filterTypeChange();
|
getOrderList();
|
break;
|
}
|
}
|
|
/**
|
* 筛选类型变化
|
*/
|
private void filterTypeChange() {
|
tv_valid_order_money.setTextColor(orderState == 1 ? getResources().getColor(R.color.theme)
|
: getResources().getColor(R.color.black));
|
tv_valid_order_hint.setTextColor(orderState == 1 ? getResources().getColor(R.color.theme)
|
: getResources().getColor(R.color.black));
|
v_valid.setVisibility(orderState == 1 ? View.VISIBLE : View.INVISIBLE);
|
|
tv_weiquan_order_money.setTextColor(orderState == 2 ? getResources().getColor(R.color.theme)
|
: getResources().getColor(R.color.black));
|
tv_weiquan_order_hint.setTextColor(orderState == 2 ? getResources().getColor(R.color.theme)
|
: getResources().getColor(R.color.black));
|
v_weiquan.setVisibility(orderState == 2 ? View.VISIBLE : View.INVISIBLE);
|
}
|
|
/**
|
* 请求状态 0 数据正常展示;1 返回数据为空;2 网络请求失败;3 没有连接网络
|
*
|
* @param state
|
*/
|
private void requestState(int state) {
|
rl_order_fillter.setVisibility(state == 0 ? View.VISIBLE : View.GONE);
|
rv_order_fillter.setVisibility(state == 0 ? View.VISIBLE : View.GONE);
|
ll_request_failture.setVisibility(state == 2 ? View.VISIBLE : View.GONE);
|
ll_no_net.setVisibility(state == 3 ? View.VISIBLE : View.GONE);
|
}
|
|
MultipleContentPopUps ups;
|
|
@Override
|
public void Bombhelp(List<String> signList) {
|
if (ups != null) {
|
ups.dialog_dismiss();
|
ups = null;
|
}
|
if (signList == null)
|
return;
|
ups = new MultipleContentPopUps(this);
|
ups.onShowDialog("额外补贴", signList, "知道了",
|
null, null, null, null);
|
}
|
}
|