购物车逻辑

@Override
public void initData() {
super.initData();
// 获取公共参数
config = context.getSharedPreferences(“config”, 0);
token = config.getString(“token”, “”);
uid = config.getString(“uid”, “”);
// 获取展示商品的控件
RecyclerView shop_car_RecyclerView = get(R.id.shop_car_RecyclerView);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);
shop_car_RecyclerView.setLayoutManager(linearLayoutManager);
shopCarAdadpter = new ShopCarAdadpter(context);
shop_car_RecyclerView.setAdapter(shopCarAdadpter);
//获取 控件
shop_car_Qselect = (ImageView) get(R.id.shop_car_Qselect);
shop_car_Total_price = (TextView) get(R.id.shop_car_Total_price);// 总价
shop_car_Total = (TextView) get(R.id.shop_car_Total);// 去计算
shop_car_edit = (TextView) get(R.id.shop_car_edit);// 编辑
shop_car_Totals = (TextView) get(R.id.shop_car_Totals);// 合计
// 设置全选反选点击事件
setOnClick(this, R.id.shop_car_Qselect, R.id.shop_car_edit, R.id.shop_car_Total);
// 适配器接口回调
shopCarAdadpter.setOnItermCliklsener(new ShopCarAdadpter.setOnCliklisener() {
@Override
public void onCliklsener(List<ShopCarBean.DataBean> list) {
// 进行单个条目逻辑处理
data1 = list;
double allprice = 0;
int num = 0;
int numAll = 0;
for (int i = 0; i < list.size(); i++) {
List<ShopCarBean.DataBean.ListBean> list1 = list.get(i).getList();
for (int j = 0; j < list1.size(); j++) {
numAll++;
if (list1.get(j).isCkd()) {
int n = list1.get(j).getNum();
allprice = allprice + (list1.get(j).getPrice() * n);
num = num + list1.get(j).getNum();
}
}
}
if (num < numAll) {
isCkd = true;
shop_car_Qselect.setImageResource(R.mipmap.cricle_no);
} else {
shop_car_Qselect.setImageResource(R.mipmap.cricle_yes);
isCkd = false;
}
if (isDelet == false) {
shop_car_Total.setText(“删除”);
} else {
shop_car_Total_price.setText(“¥:” + allprice);
shop_car_Total.setText(“去计算(” + num + “)”);
}
}
});
}

@Override
public void suecssString(int type, String data) {

    super.suecssString(type, data);
    switch (type) {
        case 0:
            if (data.contains("<") || data.equals("") || data == null || "null".equals(data)) {
                return;
            }
            Gson gson = new Gson();
            shopCarBean = gson.fromJson(data, ShopCarBean.class);
            data1 = shopCarBean.getData();
            shopCarAdadpter.setList(data1);
            break;
        case 1:
            shopCarAdadpter.notifyDataSetChanged();
            Gson gson1 = new Gson();
            MessgeBean messgeBean = gson1.fromJson(data, MessgeBean.class);
            String msg = messgeBean.getMsg();
            if ("0".equals(messgeBean.getCode())) {
                Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
                doHttp();
            }
            break;
    }
}


private Context context;

@Override
public void getContext(Context context) {
    super.getContext(context);
    this.context = context;
}

private boolean isCkd = true;
private boolean isDelet = true;

@Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.shop_car_Qselect:
            // 全选
            if (isCkd) {
                allGoods(true);
                isCkd = false;
            } else {
                allGoods(false);
                isCkd = true;
            }
            break;
        case R.id.shop_car_edit:
            if (isDelet) {
                shop_car_edit.setText("完成");
                shop_car_Total.setText("删除");
                shop_car_Total_price.setVisibility(View.GONE);
                shop_car_Totals.setVisibility(View.GONE);
                isDelet = false;
                shopCarAdadpter.notifyDataSetChanged();
            } else {
                shop_car_edit.setText("编辑");
                shop_car_Total.setText("去计算(0)");
                shop_car_Total_price.setVisibility(View.VISIBLE);
                shop_car_Totals.setVisibility(View.VISIBLE);
                isDelet = true;
            }
            break;
        case R.id.shop_car_Total:
            if (!isDelet) {
                deleteCar();
            }
            break;

    }
}

// 执行删除方法
private void deleteCar() {
    for (int i = 0; i < data1.size(); i++) {
        List<ShopCarBean.DataBean.ListBean> list = data1.get(i).getList();
        for (int j = 0; j < list.size(); j++) {
            int pid = list.get(j).getPid();
            deletCarHttp(pid);
        }
    }
}

private void deletCarHttp(int pid) {
    getString(1, HttpUrl.deleCar + "?uid=" + uid + "&pid=" + pid + "&token=" + token);

}

private double allprice = 0;
private int allNum = 0;

private void allGoodsClik(boolean b) {
    for (int i = 0; i < data1.size(); i++) {
        List<ShopCarBean.DataBean.ListBean> list = data1.get(i).getList();
        for (int j = 0; j < list.size(); j++) {
            list.get(j).setCkd(b);
            allprice = allprice + list.get(j).getPrice();
            allNum = allNum + list.get(j).getNum();
        }
    }
    if (b) {
        shop_car_Qselect.setImageResource(R.mipmap.cricle_yes);
    } else {
        shop_car_Qselect.setImageResource(R.mipmap.cricle_no);
    }
    shopCarAdadpter.notifyDataSetChanged();
}

// 给赋值
private void allGoods(boolean c) {
    allGoodsClik(c);
    if (isDelet == false) {
        shop_car_Total.setText("删除");
    } else {
        if (c) {
            String allprice1 = String.format("%.2f", allprice);
            shop_car_Total_price.setText("¥:" + allprice1);
            shop_car_Total.setText("去计算(" + allNum + ")");
        } else {
            allprice = 0;
            allNum = 0;
            shop_car_Total_price.setText("¥:0.00");
            shop_car_Total.setText("去计算(0)");
        }
    }
    shopCarAdadpter.notifyDataSetChanged();
}


public void onResume() {
    // 请求接口购物车接口
    doHttp();
}

private void doHttp() {
    boolean islogin = config.getBoolean("islogin", false);
    if (islogin == true) {
        getString(0, HttpUrl.selectShopUrl + "?uid=" + uid + "&token=" + token);
        shopCarAdadpter.notifyDataSetChanged();
    } else {
        data1.clear();
        shopCarAdadpter.notifyDataSetChanged();
        Toast.makeText(context, "请先在登录", Toast.LENGTH_SHORT).show();
    }
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值