package com.tejia.lijin.app.ui.recommend;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.graphics.Color;
|
import android.os.Bundle;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.TextView;
|
import android.widget.Toast;
|
|
import com.wpc.library.RetainViewFragment;
|
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.GoodsDetail;
|
import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
|
import com.tejia.lijin.app.ui.mine.LoginSelectActivity;
|
import com.tejia.lijin.app.ui.mine.MyFootmarkActivity;
|
import com.tejia.lijin.app.util.Constant;
|
import com.tejia.lijin.app.util.DuplicateEventFilterUtil;
|
import com.tejia.lijin.app.util.umengCustomEvent.GoodsCustomEvent;
|
import com.tejia.lijin.app.util.user.LoginAndInviteStatusUtil;
|
import com.tejia.lijin.app.util.user.UserUtil;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
/**
|
* 商品详情
|
*/
|
public class GoodsDetailBottomFragment extends RetainViewFragment implements OnClickListener {
|
|
private LinearLayout ll_bottom;
|
private LinearLayout ll_add_collect;
|
private ImageView iv_like_state;
|
private TextView tv_like;
|
private View view_share_buy_divider;
|
private LinearLayout ll_share_gain;
|
private TextView tv_share_money_num;
|
private LinearLayout fl_buy;
|
private TextView tv_buy;
|
private TextView tv_big_btn;
|
private LinearLayout ll_fanli_composition;
|
private TextView tv_fanli_composition;
|
private LinearLayout ll_share;
|
private LinearLayout ll_shop;
|
|
|
private GoodsDetailBottomActionListener actionListener;
|
|
public void setActionListener(GoodsDetailBottomActionListener actionListener) {
|
this.actionListener = actionListener;
|
}
|
|
|
@Override
|
public int getContentResource() {
|
return R.layout.item_goods_detail_bottom;
|
}
|
|
//界面初始化
|
private void initView(View view) {
|
ll_bottom = view.findViewById(R.id.ll_bottom);
|
ll_add_collect = view.findViewById(R.id.ll_add_collect);
|
iv_like_state = view.findViewById(R.id.iv_like_state);
|
tv_like = view.findViewById(R.id.tv_like);
|
view_share_buy_divider = view.findViewById(R.id.view_share_buy_divider);
|
ll_share_gain = view.findViewById(R.id.ll_share_gain);
|
tv_share_money_num = view.findViewById(R.id.tv_share_money_num);
|
fl_buy = view.findViewById(R.id.fl_buy);
|
tv_buy = view.findViewById(R.id.tv_buy);
|
tv_big_btn = view.findViewById(R.id.tv_big_btn);
|
ll_fanli_composition = view.findViewById(R.id.ll_fanli_composition);
|
tv_fanli_composition = view.findViewById(R.id.tv_fanli_composition);
|
ll_share = view.findViewById(R.id.ll_share);
|
ll_shop = view.findViewById(R.id.ll_shop);
|
}
|
|
|
private void initListener(View v) {
|
fl_buy.setOnClickListener(this);
|
ll_add_collect.setOnClickListener(this);
|
ll_share_gain.setOnClickListener(this);
|
ll_share.setOnClickListener(this);
|
ll_shop.setOnClickListener(this);
|
}
|
|
private GoodsDetail goodsDetail;
|
|
//数据初始化
|
private void initData() {
|
goodsDetail = (GoodsDetail) getArguments().getSerializable("goods");
|
initShareAndBuyBtn(goodsDetail.getExtra().isShareValid(), goodsDetail.getExtra().isFanliValid());
|
|
tv_share_money_num.setText(goodsDetail.getGoods().getMoneyInfo().getShareMoney());
|
tv_buy.setText(goodsDetail.getGoods().getMoneyInfo().getFanliMoney());
|
tv_buy.setVisibility(View.GONE);
|
//设置补贴信息
|
goodsDetail.getGoods().getMoneyInfo().setCompositionInfo(null);
|
if (!StringUtils.isBlank(goodsDetail.getGoods().getMoneyInfo().getCompositionInfo())) {
|
tv_fanli_composition.setText(goodsDetail.getGoods().getMoneyInfo().getCompositionInfo());
|
ll_fanli_composition.setVisibility(View.VISIBLE);
|
} else {
|
ll_fanli_composition.setVisibility(View.GONE);
|
}
|
if (goodsDetail.getGoods() != null && goodsDetail.getGoods().getShopInfo() != null && !StringUtils.isEmpty(goodsDetail.getGoods().getShopInfo().getShopLink())) {
|
ll_shop.setVisibility(View.VISIBLE);
|
} else {
|
ll_shop.setVisibility(View.GONE);
|
}
|
}
|
|
private void initShareAndBuyBtn(boolean shareValid, boolean fanliValid) {
|
shareValid = false;
|
if (shareValid && fanliValid) {
|
fl_buy.setVisibility(View.VISIBLE);
|
ll_share_gain.setVisibility(View.VISIBLE);
|
view_share_buy_divider.setVisibility(View.GONE);
|
} else if (shareValid) {
|
ll_share_gain.setVisibility(View.VISIBLE);
|
ll_share_gain.setBackgroundResource(R.drawable.shape_go_share_full);
|
fl_buy.setVisibility(View.GONE);
|
view_share_buy_divider.setVisibility(View.VISIBLE);
|
} else if (fanliValid) {
|
fl_buy.setVisibility(View.VISIBLE);
|
fl_buy.setBackgroundResource(R.drawable.shape_go_fanli_full);
|
ll_share_gain.setVisibility(View.GONE);
|
view_share_buy_divider.setVisibility(View.VISIBLE);
|
} else {
|
fl_buy.setVisibility(View.GONE);
|
ll_share_gain.setVisibility(View.GONE);
|
}
|
}
|
|
@Override
|
public void onCreateView(View contentView, Bundle savedInstanceState) {
|
initView(contentView);
|
initListener(contentView);
|
initData();
|
}
|
|
@Override
|
public void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
}
|
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
}
|
|
@Override
|
public void onPause() {
|
super.onPause();
|
}
|
|
@Override
|
public void onClick(View v) {
|
boolean isLogin = getContext().getSharedPreferences("user", Context.MODE_PRIVATE).getBoolean("isLogin", false);
|
switch (v.getId()) {
|
case R.id.fl_buy:
|
if (!DuplicateEventFilterUtil.allowEvent("buyGoods", 3000))
|
return;
|
if (actionListener != null)
|
actionListener.buy();
|
|
break;
|
case R.id.ll_add_collect:
|
if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()) , true))
|
return;
|
ll_add_collect.setEnabled(false);
|
if (goodsDetail == null) {
|
Toast.makeText(getContext(), "没有获取到商品收藏状态,请稍等", Toast.LENGTH_SHORT).show();
|
ll_add_collect.setEnabled(true);
|
break;
|
}
|
if (isLogin) {
|
collection();
|
} else {
|
ll_add_collect.setEnabled(true);
|
Intent intent = new Intent(getContext(), LoginSelectActivity.class);
|
intent.putExtra("from", Constant.getGoodsTypeName(goodsDetail.getGoods().getGoodsType()));
|
startActivity(intent);
|
Toast.makeText(getContext(), String.format("请先登录%s账号", getResources().getString(R.string.app_name)), Toast.LENGTH_SHORT).show();
|
}
|
break;
|
|
case R.id.ll_share://分享
|
if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()), true))
|
return;
|
|
if (!DuplicateEventFilterUtil.allowEvent("shareGoods", 3000))
|
return;
|
if (actionListener != null)
|
actionListener.share();
|
break;
|
|
case R.id.ll_shop://店铺
|
startActivity(new Intent(getContext(), ShareBrowserActivity.class).putExtra("url", goodsDetail.getGoods().getShopInfo().getShopLink()).putExtra("title",goodsDetail.getGoods().getShopInfo().getShopName()));
|
break;
|
}
|
}
|
|
|
/**
|
* 添加到收藏
|
*/
|
private Boolean isCollect;
|
|
private void collection() {
|
if (goodsDetail == null)
|
return;
|
if (isCollect == null)
|
isCollect = goodsDetail.getExtra().isCollected();
|
Long uid = UserUtil.getUid(getContext()) ;
|
ShoppingApi.collectionGoods(getContext(), goodsDetail.getGoods().getGoodsId(), uid, isCollect ? "2" : "1",
|
goodsDetail.getGoods().getGoodsType() + "", new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
isCollect = !isCollect;
|
if (isCollect) {
|
GoodsCustomEvent.goodsDetailCollect(getContext());
|
setCollectionData(true);
|
} else {
|
GoodsCustomEvent.goodsDetailCollectCancel(getContext());
|
setCollectionData(false);
|
}
|
Toast.makeText(getContext(), jsonObject.optString("data"), Toast.LENGTH_SHORT).show();
|
} else {
|
Toast.makeText(getContext(), jsonObject.optString("msg"), Toast.LENGTH_SHORT).show();
|
}
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
ll_add_collect.setEnabled(true);
|
}
|
});
|
}
|
|
private void setCollectionData(boolean collected) {
|
if (collected) {
|
iv_like_state.setImageResource(R.drawable.icon_collected);
|
tv_like.setText("收藏");
|
// tv_like.setTextColor(Color.parseColor("#E5005C"));
|
} else {
|
iv_like_state.setImageResource(R.drawable.icon_un_collected);
|
tv_like.setText("收藏");
|
tv_like.setTextColor(Color.parseColor("#333333"));
|
}
|
}
|
|
public interface GoodsDetailBottomActionListener {
|
//自购返利
|
public void buy();
|
|
//分享
|
public void share();
|
}
|
|
}
|