package com.tejia.lijin.app.ui.mine;
|
|
import android.app.Activity;
|
import android.content.Intent;
|
import android.graphics.Color;
|
import android.graphics.Paint;
|
import android.graphics.Typeface;
|
import android.graphics.drawable.GradientDrawable;
|
import androidx.recyclerview.widget.GridLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.RecyclerView;
|
import android.text.TextUtils;
|
import android.view.Gravity;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.view.WindowManager;
|
import android.widget.FrameLayout;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.PopupWindow;
|
import android.widget.TextView;
|
import android.widget.Toast;
|
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.request.RequestOptions;
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
import com.wpc.library.recyclerviewhelper.DividerItemDecoration;
|
import com.wpc.library.util.SystemCommon;
|
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.FreeSingleTicket;
|
import com.tejia.lijin.app.entity.OrderFilter;
|
import com.tejia.lijin.app.entity.OrderGoods;
|
import com.tejia.lijin.app.entity.RewardDetail;
|
import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
|
import com.tejia.lijin.app.util.JumpActivityUtil;
|
import com.tejia.lijin.app.util.TimeUtils;
|
import com.tejia.lijin.app.util.clipboard.ClipboardUtil;
|
import com.tejia.lijin.app.util.goods.GoodsDetailJumpUtil;
|
import com.tejia.lijin.app.util.ui.GradientDrawableUtil;
|
import com.tejia.lijin.app.util.umengCustomEvent.UserCustomEvent;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.List;
|
|
import jp.wasabeef.glide.transformations.BlurTransformation;
|
|
import static android.content.Context.MODE_PRIVATE;
|
|
/**
|
* Created by weikou2015 on 2017/12/5.
|
*/
|
|
public class RewardStatisticsAdapter33 extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
private RecyclerView mRecyclerView;
|
|
private List<OrderFilter> mList;
|
private Activity mContext;
|
|
private View VIEW_FOOTER;
|
private View VIEW_HEADER;
|
|
//Type
|
private int TYPE_NORMAL = 1000;
|
private int TYPE_HEADER = 1001;
|
private int TYPE_FOOTER = 1002;
|
|
private DisplayImageOptions options;
|
|
private int rewardState = 1;
|
|
public void setRewardState(int rewardState) {
|
this.rewardState = rewardState;
|
}
|
|
public RewardStatisticsAdapter33(Activity context, List<OrderFilter> list) {
|
this.mList = list;
|
this.mContext = context;
|
this.options = new DisplayImageOptions.Builder()
|
.showImageForEmptyUri(R.drawable.ic_goods_default)
|
.showImageOnFail(R.drawable.ic_goods_default)
|
.showImageOnLoading(R.drawable.ic_goods_default)
|
.resetViewBeforeLoading(true).cacheInMemory(true)
|
.cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY)
|
.considerExifParams(true)
|
.displayer(new FadeInBitmapDisplayer(300)).build();
|
}
|
|
@Override
|
public RewardStatisticsAdapter33.MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
if (viewType == TYPE_FOOTER) {
|
return new MyHolder(VIEW_FOOTER);
|
} else if (viewType == TYPE_HEADER) {
|
return new MyHolder(VIEW_HEADER);
|
} else {
|
View view = LayoutInflater.from(mContext).inflate(R.layout.item_filter_order, parent, false);
|
MyHolder holder = new MyHolder(view);
|
return holder;
|
}
|
}
|
|
@Override
|
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
|
MyHolder viewHolder = (MyHolder) holder;
|
if (!isHeaderView(position) && !isFooterView(position)) {
|
final OrderFilter info;
|
if (haveHeaderView()) {
|
info = mList.get(position - 1);
|
} else if (haveFooterView() && ((haveHeaderView() && position == mList.size() + 1) ||
|
!haveHeaderView() && position == mList.size())) {
|
return;
|
} else {
|
info = mList.get(position);
|
}
|
if (StringUtils.isEmpty(info.getHongBaoTypePic())) {
|
viewHolder.ll_no_data.setVisibility(View.VISIBLE);
|
viewHolder.tv_place_order_time.setVisibility(View.GONE);
|
viewHolder.ll_content.setVisibility(View.GONE);
|
if (rewardState == 1) {
|
viewHolder.tv_no_data_hint.setText("糟糕,你还没有订单,感觉\n损失了一个亿~");
|
viewHolder.iv_no_data.setImageDrawable(mContext.getResources().getDrawable(R.drawable.ic_msg_order_null_valid));
|
} else if (rewardState == 2) {
|
viewHolder.tv_no_data_hint.setText("主人,恭喜你!购物体验很nice。");
|
viewHolder.iv_no_data.setImageDrawable(mContext.getResources().getDrawable(R.drawable.ic_msg_order_null_weiquan));
|
} else {
|
viewHolder.tv_no_data_hint.setText("主人,暂时没有查询到订单~~");
|
viewHolder.iv_no_data.setImageDrawable(mContext.getResources().getDrawable(R.drawable.ic_msg_order_null));
|
}
|
viewHolder.tv_no_data_hint.setGravity(Gravity.CENTER_HORIZONTAL);
|
|
} else {
|
viewHolder.ll_no_data.setVisibility(View.GONE);
|
viewHolder.tv_place_order_time.setVisibility(View.VISIBLE);
|
viewHolder.ll_content.setVisibility(View.VISIBLE);
|
if (position == 1 || (position > 1 && !isSameDay(new Date(Long.parseLong(info.getObtainTime())), new Date(Long.parseLong(mList.get(position - 1).getObtainTime()))))) {
|
viewHolder.tv_place_order_time.setVisibility(View.VISIBLE);
|
viewHolder.tv_place_order_time.setText(TimeUtils.millisToLifeString1(Long.parseLong(info.getObtainTime())));
|
} else {
|
viewHolder.tv_place_order_time.setVisibility(View.GONE);
|
}
|
|
GradientDrawable shopTypeBg= GradientDrawableUtil.getShopTypeBackground(mContext,info.getShopType().getBorderColor());
|
viewHolder.tv_order_shop_form.setBackground(shopTypeBg);
|
viewHolder.tv_order_shop_form.setText(info.getShopType().getContent());
|
viewHolder.tv_order_shop_form.setTextColor(Color.parseColor(info.getShopType().getColor()));
|
|
if (info.getWeiQuanInfo() == null) {
|
viewHolder.ll_weiquan.setVisibility(View.GONE);
|
} else {
|
viewHolder.ll_weiquan.setVisibility(View.VISIBLE);
|
viewHolder.tv_estimate_reward_original.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
|
viewHolder.tv_estimate_reward_original.setText(info.getWeiQuanInfo().getOldHongBao());
|
viewHolder.tv_weiquan_money.setText(info.getWeiQuanInfo().getWqHongBao());
|
}
|
|
if (viewHolder.ll_order_img.getChildCount() > 0)
|
viewHolder.ll_order_img.removeAllViews();
|
|
if (info.getSignList().size() > 0) {
|
for (int i = 0; i < info.getSignList().size(); i++) {
|
ImageView iv_order_type = new ImageView(mContext);
|
LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
params1.gravity = Gravity.CENTER;
|
params1.rightMargin = 8;
|
// params1.setMargins(DimenUtils.dip2px(mContext, 8), 0, 0, 0);
|
iv_order_type.setLayoutParams(params1);
|
Glide.with(mContext).load(info.getSignList().get(i)).into(iv_order_type);
|
viewHolder.ll_order_img.addView(iv_order_type);
|
}
|
}
|
|
|
viewHolder.tv_order_state.setText(info.getOrderState().getContent());
|
viewHolder.tv_order_state.setTextColor(Color.parseColor(info.getOrderState().getFontColor()));
|
if (viewHolder.ll_goods_info.getChildCount() > 0)
|
viewHolder.ll_goods_info.removeAllViews();
|
for (int i = 0; i < info.getListOrderGoods().size(); i++) {
|
View view = LayoutInflater.from(mContext).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 = info.getListOrderGoods().get(i);
|
tv_goods_consume.setText(oInfo.getActualPay());
|
tv_goods_num.setText(oInfo.getActualCount());
|
if (info.getOrderOrigin() == 3) {
|
Glide.with(mContext).load(oInfo.getPicture()).apply(new RequestOptions().bitmapTransform(new BlurTransformation(mContext, 40)))
|
.into(iv_goods_img);
|
iv_goods_img_cover.setVisibility(View.VISIBLE);
|
tv_goods_title.setPadding(DimenUtils.dip2px(mContext, 5),
|
DimenUtils.dip2px(mContext, 5),
|
DimenUtils.dip2px(mContext, 5),
|
DimenUtils.dip2px(mContext, 5));
|
tv_goods_title.setMaxLines(1);
|
tv_goods_title.setEllipsize(TextUtils.TruncateAt.END);
|
tv_goods_title.setText(oInfo.getGoodsTitle().getContent());
|
tv_goods_title.setTextColor(Color.parseColor(oInfo.getGoodsTitle().getFontColor()));
|
tv_goods_title.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.shape_order_goods_title_bg));
|
} else {
|
Glide.with(mContext).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) {
|
UserCustomEvent.userOrderGoodsdetail(mContext);
|
Intent intent= GoodsDetailJumpUtil.getGoodsDetailIntent(mContext,oInfo.getGoodsType());
|
intent.putExtra("title", oInfo.getTitle());
|
intent.putExtra("id", oInfo.getGoodsId());
|
intent.putExtra("from", "order");
|
mContext.startActivity(intent);
|
}
|
});
|
}
|
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
|
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
int topMargin = DimenUtils.dip2px(mContext, 5);
|
int bottomMargin = DimenUtils.dip2px(mContext, 5);
|
if (info.getListOrderGoods().size() == 1) {
|
topMargin = 0;
|
bottomMargin = 0;
|
} else if (info.getListOrderGoods().size() > 1 && i == 0) {
|
topMargin = 0;
|
} else if (info.getListOrderGoods().size() > 1 &&
|
i == info.getListOrderGoods().size() - 1) {
|
bottomMargin = 0;
|
}
|
params.topMargin = topMargin;
|
params.bottomMargin = bottomMargin;
|
view.setLayoutParams(params);
|
viewHolder.ll_goods_info.addView(view);
|
}
|
|
String orderNo = info.getOrderNo().replaceAll(" ", "");
|
viewHolder.tv_copy.setVisibility(orderNo.endsWith("*") ? View.GONE : View.VISIBLE);
|
viewHolder.tv_order_num.setText("订单号:" + info.getOrderNo());
|
viewHolder.tv_order_time.setText(info.getDownTime());
|
if (StringUtils.isEmpty(info.getReceiveTime())) {
|
viewHolder.tv_take_over_time.setVisibility(View.GONE);
|
} else {
|
viewHolder.tv_take_over_time.setVisibility(View.VISIBLE);
|
viewHolder.tv_take_over_time.setText(info.getReceiveTime());
|
}
|
|
if (!StringUtils.isEmpty(info.getOrderDesc())) {
|
viewHolder.tv_vip_info.setVisibility(View.VISIBLE);
|
viewHolder.tv_vip_info.setText(info.getOrderDesc());
|
} else {
|
viewHolder.tv_vip_info.setVisibility(View.GONE);
|
}
|
|
|
if (info.getRewardDetail() == null && StringUtils.isEmpty(info.getHongBaoDate())) {
|
viewHolder.fl_order_detail.setVisibility(View.GONE);
|
} else if (info.getRewardDetail() == null && !StringUtils.isEmpty(info.getHongBaoDate())) {
|
viewHolder.fl_order_detail.setVisibility(View.VISIBLE);
|
viewHolder.tv_arrived_account_time.setVisibility(View.VISIBLE);
|
viewHolder.tv_order_detail.setVisibility(View.GONE);
|
viewHolder.tv_arrived_account_time.setText(info.getHongBaoDate());
|
} else if (info.getRewardDetail() != null && !StringUtils.isEmpty(info.getHongBaoDate())) {
|
viewHolder.fl_order_detail.setVisibility(View.VISIBLE);
|
viewHolder.tv_order_detail.setVisibility(View.VISIBLE);
|
viewHolder.tv_arrived_account_time.setVisibility(View.VISIBLE);
|
viewHolder.tv_arrived_account_time.setText(info.getHongBaoDate());
|
|
} else if (info.getRewardDetail() != null && StringUtils.isEmpty(info.getHongBaoDate())) {
|
viewHolder.fl_order_detail.setVisibility(View.VISIBLE);
|
viewHolder.tv_order_detail.setVisibility(View.VISIBLE);
|
viewHolder.tv_arrived_account_time.setVisibility(View.GONE);
|
}
|
|
if (info.getRewardDetail() != null) {
|
viewHolder.tv_order_detailtxt.setText(info.getRewardDetail().getText().getContent());
|
viewHolder.tv_order_detailtxt.setTextColor(Color.parseColor(info.getRewardDetail().getText().getColor()));
|
viewHolder.tv_order_detail.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
if (info.getRewardDetail().getJump().getType() == 1) {
|
JumpActivityUtil.jumpActivity(mContext, info.getRewardDetail().getJump().getJumpDetail(),
|
info.getRewardDetail().getJump().getParams());
|
} else if (info.getRewardDetail().getJump().getType() == 2) {
|
getGoodsCouponList(info);
|
}
|
}
|
});
|
|
if (info.getRewardDetail().getTicking() != null) {//显示使用奖励券 倒计时
|
if (info.getRewardDetail().getTicking().get(0) != null) {
|
viewHolder.tv_order_detail1.setText(info.getRewardDetail().getTicking().get(0).getContent());
|
viewHolder.tv_order_detail1.setTextColor(Color.parseColor(info.getRewardDetail().getTicking().get(0).getColor()));
|
float size = 10 * Float.parseFloat(info.getRewardDetail().getTicking().get(0).getFontSize());
|
viewHolder.tv_order_detail1.setTextSize(size);
|
}
|
if (info.getRewardDetail().getTicking().get(1) != null) {
|
viewHolder.tv_order_detail2.setText(info.getRewardDetail().getTicking().get(1).getContent());
|
viewHolder.tv_order_detail2.setTextColor(Color.parseColor(info.getRewardDetail().getTicking().get(1).getColor()));
|
float size = 10 * Float.parseFloat(info.getRewardDetail().getTicking().get(1).getFontSize());
|
viewHolder.tv_order_detail2.setTextSize(size);
|
viewHolder.tv_order_detail2.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
|
}
|
if (info.getRewardDetail().getTicking().get(2) != null) {
|
viewHolder.tv_order_detail3.setText(info.getRewardDetail().getTicking().get(2).getContent());
|
viewHolder.tv_order_detail3.setTextColor(Color.parseColor(info.getRewardDetail().getTicking().get(2).getColor()));
|
float size = 10 * Float.parseFloat(info.getRewardDetail().getTicking().get(2).getFontSize());
|
viewHolder.tv_order_detail3.setTextSize(size);
|
}
|
}
|
}
|
|
viewHolder.tv_estimate_reward.setText(info.getHongBaoInfo().getContent());
|
viewHolder.tv_estimate_reward.setTextColor(Color.parseColor(info.getHongBaoInfo().getFontColor()));
|
viewHolder.tv_reward_state.setText(info.getAccountState().getContent());
|
viewHolder.tv_reward_state.setTextColor(Color.parseColor(info.getAccountState().getFontColor()));
|
if (!StringUtils.isEmpty(info.getRebateLink())) {//显示进入
|
viewHolder.tv_estimate_in.setVisibility(View.VISIBLE);
|
viewHolder.tv_estimate_in.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View view) {
|
mContext.startActivity(new Intent(mContext, ShareBrowserActivity.class).putExtra("url", info.getRebateLink()));
|
}
|
});
|
} else {//不显示进入
|
viewHolder.tv_estimate_in.setVisibility(View.GONE);
|
}
|
|
viewHolder.tv_copy.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
UserCustomEvent.userOrderCopyOrderId(mContext);
|
ClipboardUtil.copy(mContext, info.getOrderNo());
|
Toast.makeText(mContext, "复制订单成功",
|
Toast.LENGTH_SHORT).show();
|
}
|
});
|
}
|
}
|
}
|
|
/*************问号弹窗***/
|
public void setbombhelp(Bombhelp bombhelp) {
|
this.bombhelp = bombhelp;
|
}
|
|
private Bombhelp bombhelp;
|
|
interface Bombhelp {
|
void Bombhelp(List<String> signList);
|
}
|
|
/**
|
* @param date 当前时间
|
* @param sameDate 上次打开时间
|
* @return
|
*/
|
private boolean isSameDay(Date date, Date sameDate) {
|
if (null == date || null == sameDate) {
|
return false;
|
}
|
Calendar nowCalendar = Calendar.getInstance();
|
nowCalendar.setTime(sameDate);
|
|
Calendar dateCalendar = Calendar.getInstance();
|
dateCalendar.setTime(date);
|
|
return nowCalendar.get(Calendar.YEAR) == dateCalendar.get(Calendar.YEAR)
|
&& nowCalendar.get(Calendar.MONTH) == dateCalendar.get(Calendar.MONTH)
|
&& nowCalendar.get(Calendar.DATE) == dateCalendar.get(Calendar.DATE);
|
|
}
|
|
/* 商品详情免单券弹框接口
|
*/
|
private void getGoodsCouponList(final OrderFilter orderFilter) {
|
String uid = mContext.getSharedPreferences("user", MODE_PRIVATE)
|
.getString("uid", "");
|
ShoppingApi.getOrderCouponList(mContext, uid, orderFilter.getOrderNo(), new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
initPopubWindow(jsonObject.optJSONObject("data"), orderFilter);
|
} else {
|
Toast.makeText(mContext, jsonObject.optString("msg"), Toast.LENGTH_LONG).show();
|
}
|
}
|
});
|
}
|
|
private void initPopubWindow(JSONObject jsonObject, final OrderFilter orderFilter) {
|
final String helpLink = jsonObject.optString("helpLink");
|
View customView = LayoutInflater.from(mContext).inflate(R.layout.item_show_free_single_coupon,
|
null, false);
|
// 创建PopupWindow实例,200,150分别是宽度和高度
|
float height = SystemCommon.getScreenHeight(mContext);
|
final PopupWindow pw_free_single_ticket = new PopupWindow(customView, ViewGroup.LayoutParams.MATCH_PARENT, (int) (height * 0.75), true);
|
// 设置动画效果 [R.style.AnimationFade 是自己事先定义好的]
|
// pw_filter.setAnimationStyle(R.style.pop_multiple);
|
pw_free_single_ticket.setTouchable(true);
|
pw_free_single_ticket.setOutsideTouchable(true);
|
pw_free_single_ticket.setFocusable(false);
|
pw_free_single_ticket.setAnimationStyle(R.style.bottomstyle);
|
TextView tv_free_single_coupon_num = customView.findViewById(R.id.tv_free_single_ticket_num);
|
LinearLayout ll_no_ticket = customView.findViewById(R.id.ll_no_ticket);
|
TextView tv_confirm = customView.findViewById(R.id.tv_confirm);
|
RecyclerView rv_free_single_ticket = customView.findViewById(R.id.rv_free_single_ticket);
|
|
tv_free_single_coupon_num.setText("剩余" + jsonObject.optString("count") + "张奖励券");
|
|
LinearLayoutManager manager = new LinearLayoutManager(mContext);
|
rv_free_single_ticket.setLayoutManager(manager);
|
DividerItemDecoration decoration = new DividerItemDecoration();
|
decoration.setSize(DimenUtils.dip2px(mContext, 8));
|
rv_free_single_ticket.addItemDecoration(decoration);
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
final List<FreeSingleTicket> fList = gson.fromJson(jsonObject.optJSONArray(
|
"result_list").toString(),
|
new TypeToken<List<FreeSingleTicket>>() {
|
}.getType());
|
if (fList == null || fList.size() == 0) {
|
rv_free_single_ticket.setVisibility(View.GONE);
|
ll_no_ticket.setVisibility(View.VISIBLE);
|
} else {
|
rv_free_single_ticket.setVisibility(View.VISIBLE);
|
ll_no_ticket.setVisibility(View.GONE);
|
}
|
final FreeSingleTicketAdapter adapter = new FreeSingleTicketAdapter(mContext, fList, helpLink);
|
rv_free_single_ticket.setAdapter(adapter);
|
tv_confirm.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
pw_free_single_ticket.dismiss();
|
FreeSingleTicket info = null;//选中的免单券
|
for (int i = 0; i < adapter.mCBFlag.size(); i++) {
|
if (adapter.mCBFlag.get(i)) {
|
info = fList.get(i);
|
}
|
}
|
if (info != null) {
|
useRewardTicket(info, orderFilter);
|
}
|
}
|
});
|
|
pw_free_single_ticket.setOnDismissListener(new PopupWindow.OnDismissListener() {
|
@Override
|
public void onDismiss() {
|
WindowManager.LayoutParams params1 = mContext.getWindow().getAttributes();
|
params1.alpha = 1f;
|
mContext.getWindow().setAttributes(params1);
|
}
|
});
|
WindowManager.LayoutParams params1 = mContext.getWindow().getAttributes();
|
params1.alpha = 0.7f;
|
mContext.getWindow().setAttributes(params1);
|
|
pw_free_single_ticket.showAtLocation(mContext.getWindow().getDecorView(), Gravity.BOTTOM, 0, 0);
|
}
|
|
private void useRewardTicket(FreeSingleTicket info, final OrderFilter orderFilter) {
|
String uid = mContext.getSharedPreferences("user", MODE_PRIVATE).getString("uid", "");
|
ShoppingApi.useRewardTicket(mContext, uid, info.getId(), orderFilter.getOrderNo(), orderFilter.getSourceType(), new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optInt("code") == 0) {
|
orderFilter.getSignList().clear();
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
List<String> list = gson.fromJson(jsonObject.optJSONObject("data")
|
.optJSONArray("signList").toString(),
|
new TypeToken<List<String>>() {
|
}.getType());
|
orderFilter.setSignList(list);
|
|
RewardDetail rewardDetail = gson.fromJson(jsonObject.optJSONObject("data")
|
.optJSONObject("rewardDetail").toString(),
|
new TypeToken<RewardDetail>() {
|
}.getType());
|
orderFilter.setRewardDetail(rewardDetail);
|
|
notifyDataSetChanged();
|
|
|
if (orderFilter.getRewardDetail().getJump().getType() == 1) {
|
// Intent intent;
|
// try {
|
// intent = new Intent(mContext, Class.forName(orderFilter.getRewardDetail().getJump().getJumpDetail().getActivity()));
|
// } catch (ClassNotFoundException e) {
|
// e.printStackTrace();
|
// return;
|
// }
|
// Iterator<String> its = orderFilter.getRewardDetail().getJump().getParams().keySet().iterator();
|
// while (its.hasNext()) {
|
// String key = its.next();
|
// String value = orderFilter.getRewardDetail().getJump().getParams().getString(key);
|
// intent.putExtra(key, value);
|
// }
|
// mContext.startActivity(intent);
|
JumpActivityUtil.jumpActivity(mContext, orderFilter.getRewardDetail().getJump().getJumpDetail(),
|
orderFilter.getRewardDetail().getJump().getParams());
|
}
|
} else {
|
Toast.makeText(mContext, jsonObject.optString("msg"), Toast.LENGTH_LONG).show();
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString, throwable);
|
Toast.makeText(mContext, "使用失败", Toast.LENGTH_LONG).show();
|
}
|
});
|
}
|
|
@Override
|
public int getItemCount() {
|
int count = (mList == null ? 0 : mList.size());
|
if (VIEW_FOOTER != null) {
|
count++;
|
}
|
|
if (VIEW_HEADER != null) {
|
count++;
|
}
|
return count;
|
}
|
|
@Override
|
public int getItemViewType(int position) {
|
if (isHeaderView(position)) {
|
return TYPE_HEADER;
|
} else if (isFooterView(position)) {
|
return TYPE_FOOTER;
|
} else {
|
return TYPE_NORMAL;
|
}
|
}
|
|
@Override
|
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
|
try {
|
if (mRecyclerView == null && mRecyclerView != recyclerView) {
|
mRecyclerView = recyclerView;
|
}
|
ifGridLayoutManager();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
private View getLayout(int layoutId) {
|
return LayoutInflater.from(mContext).inflate(layoutId, null);
|
}
|
|
public void addHeaderView(View headerView) {
|
if (haveHeaderView()) {
|
throw new IllegalStateException("hearview has already exists!");
|
} else {
|
//避免出现宽度自适应
|
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
headerView.setLayoutParams(params);
|
VIEW_HEADER = headerView;
|
ifGridLayoutManager();
|
notifyItemInserted(0);
|
}
|
|
}
|
|
public void addFooterView(View footerView) {
|
if (haveFooterView()) {
|
throw new IllegalStateException("footerView has already exists!");
|
} else {
|
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
footerView.setLayoutParams(params);
|
VIEW_FOOTER = footerView;
|
ifGridLayoutManager();
|
notifyItemInserted(getItemCount() - 1);
|
}
|
}
|
|
private void ifGridLayoutManager() {
|
if (mRecyclerView == null) return;
|
final RecyclerView.LayoutManager layoutManager = mRecyclerView.getLayoutManager();
|
if (layoutManager instanceof GridLayoutManager) {
|
((GridLayoutManager) layoutManager).setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
|
@Override
|
public int getSpanSize(int position) {
|
if (isHeaderView(position) || isFooterView(position)) {
|
return ((GridLayoutManager) layoutManager).getSpanCount();
|
} else {
|
return 1;
|
}
|
}
|
});
|
}
|
}
|
|
private boolean haveHeaderView() {
|
return VIEW_HEADER != null;
|
}
|
|
public boolean haveFooterView() {
|
return VIEW_FOOTER != null;
|
}
|
|
private boolean isHeaderView(int position) {
|
return haveHeaderView() && position == 0;
|
}
|
|
private boolean isFooterView(int position) {
|
return haveFooterView() && position >= getItemCount() - 1;
|
}
|
|
|
public class MyHolder extends RecyclerView.ViewHolder {
|
LinearLayout ll_no_data;
|
LinearLayout ll_content;
|
TextView tv_no_data_hint;
|
ImageView iv_no_data;
|
|
TextView tv_order_shop_form;
|
TextView tv_order_state;
|
LinearLayout ll_goods_info;
|
LinearLayout ll_order_img;
|
TextView tv_order_num;
|
TextView tv_copy;
|
TextView tv_order_time;
|
TextView tv_take_over_time;
|
TextView tv_vip_info;
|
TextView tv_arrived_account_time;
|
|
TextView tv_estimate_reward;
|
ImageView tv_estimate_in;
|
|
TextView tv_reward_state;
|
TextView tv_place_order_time;
|
FrameLayout fl_order_detail;
|
LinearLayout tv_order_detail;
|
TextView tv_order_detail1;
|
TextView tv_order_detail2;
|
TextView tv_order_detail3;
|
LinearLayout ll_weiquan;
|
TextView tv_estimate_reward_original;
|
TextView tv_weiquan_money, tv_order_detailtxt;
|
|
public MyHolder(View convertView) {
|
super(convertView);
|
tv_order_shop_form = convertView.findViewById(R.id.tv_order_shop_form);
|
tv_order_state = convertView.findViewById(R.id.tv_order_state);
|
ll_goods_info = convertView.findViewById(R.id.ll_goods_info);
|
ll_order_img = convertView.findViewById(R.id.ll_order_img);
|
tv_order_num = convertView.findViewById(R.id.tv_order_num);
|
tv_copy = convertView.findViewById(R.id.tv_copy);
|
tv_order_time = convertView.findViewById(R.id.tv_order_time);
|
tv_take_over_time = convertView.findViewById(R.id.tv_take_over_time);
|
tv_vip_info = convertView.findViewById(R.id.tv_vip_info);
|
tv_arrived_account_time = convertView.findViewById(R.id.tv_arrived_account_time);
|
tv_estimate_reward = convertView.findViewById(R.id.tv_estimate_reward);
|
tv_estimate_in = convertView.findViewById(R.id.tv_estimate_in);
|
|
tv_reward_state = convertView.findViewById(R.id.tv_reward_state);
|
tv_place_order_time = convertView.findViewById(R.id.tv_place_order_time);
|
fl_order_detail = convertView.findViewById(R.id.fl_order_detail);
|
tv_order_detail = convertView.findViewById(R.id.tv_order_detail);
|
tv_order_detail1 = convertView.findViewById(R.id.tv_order_detail1);
|
tv_order_detail2 = convertView.findViewById(R.id.tv_order_detail2);
|
tv_order_detail3 = convertView.findViewById(R.id.tv_order_detail3);
|
|
ll_no_data = convertView.findViewById(R.id.ll_no_data);
|
ll_content = convertView.findViewById(R.id.ll_content);
|
tv_no_data_hint = convertView.findViewById(R.id.tv_no_data_hint);
|
iv_no_data = convertView.findViewById(R.id.iv_no_data);
|
|
ll_weiquan = convertView.findViewById(R.id.ll_weiquan);
|
tv_estimate_reward_original = convertView.findViewById(R.id.tv_estimate_reward_original);
|
tv_weiquan_money = convertView.findViewById(R.id.tv_weiquan_money);
|
tv_order_detailtxt = convertView.findViewById(R.id.tv_order_detailtxt);
|
}
|
}
|
}
|