moth购物车

package bwie.com.a20180113zhoulian.utils;

/**
 * Created by dell on 2018/1/17.
 */

public class ApiUtil {
    public static final String cartUrl="http://120.27.23.105/product/getCarts?uid=11824&source=android";
    public static final String addCartUrl = "https://www.zhaoapi.cn/product/addCart?uid=11824&source=android";//uid,pid
    public static final String deleteCartUrl = "https://www.zhaoapi.cn/product/deleteCart?uid=11824&source=android";//uid,pid

    //?uid=71&sellerid=1&pid=1&selected=0&num=10
    public static final String updateCartUrl = "https://www.zhaoapi.cn/product/updateCarts";
}
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.1.0'
compile 'com.facebook.fresco:fresco:0.12.0'
compile 'com.facebook.fresco:webpsupport:0.12.0'
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
compile 'com.squareup.okhttp3:okhttp:3.6.0'
compile 'com.squareup.okio:okio:1.11.0'
compile 'com.github.zhaokaiqiang.klog:library:1.6.0'
compile 'com.squareup.retrofit2:converter-scalars:2.3.0'
compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
compile 'com.jakewharton:butterknife:8.4.0'
DingDanBean 
package bwie.com.a20180113zhoulian.model.bean;

import java.util.List;

/**
 * Created by dell on 2017/12/21.
 */

public class DingDanBean {

    /**
     * msg : 请求成功
     * code : 0
     * data : [{"createtime":"2017-12-21T11:38:09","orderid":5038,"price":1819.9,"status":0,"title":"订单测试标题4632","uid":4632},{"createtime":"2017-12-21T11:39:56","orderid":5044,"price":1819.9,"status":0,"title":"订单测试标题4632","uid":4632},{"createtime":"2017-12-21T11:41:57","orderid":5045,"price":1819.9,"status":0,"title":"订单测试标题4632","uid":4632},{"createtime":"2017-12-21T15:05:15","orderid":5173,"price":198,"status":0,"title":"订单测试标题4632","uid":4632},{"createtime":"2017-12-21T15:15:53","orderid":5194,"price":198,"status":0,"title":"订单测试标题4632","uid":4632}]
     * page : 1
     */

    private String msg;
    private String code;
    private String page;
    private List<DataBean> data;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getPage() {
        return page;
    }

    public void setPage(String page) {
        this.page = page;
    }

    public List<DataBean> getData() {
        return data;
    }

    public void setData(List<DataBean> data) {
        this.data = data;
    }

    public static class DataBean {
        /**
         * createtime : 2017-12-21T11:38:09
         * orderid : 5038
         * price : 1819.9
         * status : 0
         * title : 订单测试标题4632
         * uid : 4632
         */

        private String createtime;
        private int orderid;
        private double price;
        private int status;
        private String title;
        private int uid;

        public String getCreatetime() {
            return createtime;
        }

        public void setCreatetime(String createtime) {
            this.createtime = createtime;
        }

        public int getOrderid() {
            return orderid;
        }

        public void setOrderid(int orderid) {
            this.orderid = orderid;
        }

        public double getPrice() {
            return price;
        }

        public void setPrice(double price) {
            this.price = price;
        }

        public int getStatus() {
            return status;
        }

        public void setStatus(int status) {
            this.status = status;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public int getUid() {
            return uid;
        }

        public void setUid(int uid) {
            this.uid = uid;
        }
    }
}
YiZhiFuBean 
package bwie.com.a20180113zhoulian.model.bean;

import java.util.List;

/**
 * Created by dell on 2018/1/18.
 */

public class YiZhiFuBean {

    /**
     * msg : 请求成功
     * code : 0
     * data : [{"createtime":"2017-12-20T14:58:47","orderid":3884,"price":3731.89,"status":1,"title":"订单测试标题4084","uid":4084}]
     * page : 1
     */

    private String msg;
    private String code;
    private String page;
    private List<DataBean> data;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getPage() {
        return page;
    }

    public void setPage(String page) {
        this.page = page;
    }

    public List<DataBean> getData() {
        return data;
    }

    public void setData(List<DataBean> data) {
        this.data = data;
    }

    public static class DataBean {
        /**
         * createtime : 2017-12-20T14:58:47
         * orderid : 3884
         * price : 3731.89
         * status : 1
         * title : 订单测试标题4084
         * uid : 4084
         */

        private String createtime;
        private int orderid;
        private double price;
        private int status;
        private String title;
        private int uid;

        public String getCreatetime() {
            return createtime;
        }

        public void setCreatetime(String createtime) {
            this.createtime = createtime;
        }

        public int getOrderid() {
            return orderid;
        }

        public void setOrderid(int orderid) {
            this.orderid = orderid;
        }

        public double getPrice() {
            return price;
        }

        public void setPrice(double price) {
            this.price = price;
        }

        public int getStatus() {
            return status;
        }

        public void setStatus(int status) {
            this.status = status;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public int getUid() {
            return uid;
        }

        public void setUid(int uid) {
            this.uid = uid;
        }
    }
}
DingDanStatusActivity 
package bwie.com.a20180113zhoulian.view.activity;

import android.os.Bundle;
import android.support.annotation.IdRes;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;

import bwie.com.a20180113zhoulian.R;
import bwie.com.a20180113zhoulian.view.fragment.DaiZhiFuFragment;
import bwie.com.a20180113zhoulian.view.fragment.YiQuXiaoFragment;
import bwie.com.a20180113zhoulian.view.fragment.YiZhiFuFragment;

public class DingDanStatusActivity extends AppCompatActivity {


    private RadioButton rb1;
    private RadioButton rb2;
    private RadioButton rb3;
    private RadioGroup rg;
    private FrameLayout fl;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ding_dan_status);
        initView();

        getSupportFragmentManager().beginTransaction().replace(R.id.fl,new DaiZhiFuFragment()).commit();
        rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
                switch (checkedId) {
                    case R.id.rb1:
                        getSupportFragmentManager().beginTransaction().replace(R.id.fl, new DaiZhiFuFragment()).commit();
                        break;
                    case R.id.rb2:
                        getSupportFragmentManager().beginTransaction().replace(R.id.fl, new YiZhiFuFragment()).commit();
                        break;
                    case R.id.rb3:
                        getSupportFragmentManager().beginTransaction().replace(R.id.fl, new YiQuXiaoFragment()).commit();
                        break;
                }
            }
        });
    }


    public void onViewClicked(View view) {

    }

    private void initView() {
        rb1 = (RadioButton) findViewById(R.id.rb1);
        rb2 = (RadioButton) findViewById(R.id.rb2);
        rb3 = (RadioButton) findViewById(R.id.rb3);
        rg = (RadioGroup) findViewById(R.id.rg);
        fl = (FrameLayout) findViewById(R.id.fl);
    }
}
GouWuCheActivity 
package bwie.com.a20180113zhoulian.view.activity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.google.gson.Gson;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import bwie.com.a20180113zhoulian.R;
import bwie.com.a20180113zhoulian.model.BaseObserver;
import bwie.com.a20180113zhoulian.model.bean.ChaXunBean;
import bwie.com.a20180113zhoulian.model.bean.CountPriceBean;
import bwie.com.a20180113zhoulian.presenter.MyPresenter;
import bwie.com.a20180113zhoulian.utils.ApiUtil;
import bwie.com.a20180113zhoulian.utils.RetrofitFactory;
import bwie.com.a20180113zhoulian.view.CartExpanableListview;
import bwie.com.a20180113zhoulian.view.IView.IMainActivity;
import bwie.com.a20180113zhoulian.view.adapter.MyAdapter;

public class GouWuCheActivity extends AppCompatActivity implements IMainActivity,View.OnClickListener{

    private CartExpanableListview expanableListview;
    private CheckBox check_all;
    private TextView text_total;
    private TextView text_buy;
    private RelativeLayout relative_progress;
    private MyAdapter myAdapter;
    private List<Integer> listpid;
    private LinearLayout linear_bottom;
    private Handler handler = new Handler(){

        @Override
        public void handleMessage(Message msg) {
            if (msg.what == 0){
                countPriceBean = (CountPriceBean) msg.obj;
                listpid = countPriceBean.getlistpid();
                text_total.setText("合计:¥"+ countPriceBean.getPrice());
                text_buy.setText("去结算("+ countPriceBean.getCount()+")");
            }else if(msg.what==2)
            {
                relative_progress.setVisibility(View.VISIBLE);
                //请求数据
                myPresenter.getPUser(ApiUtil.cartUrl);
            }
        }
    };
    private CountPriceBean countPriceBean;
    private MyPresenter myPresenter;
    private ChaXunBean cartBean;
    private TextView text_shan;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_gou_wu_che);
        myPresenter = new MyPresenter(this);
        myPresenter.getPUser(ApiUtil.cartUrl);

        text_shan = (TextView) findViewById(R.id.text_shan);
        check_all = (CheckBox) findViewById(R.id.check_all);
        text_total = (TextView) findViewById(R.id.text_total);
        text_buy = (TextView) findViewById(R.id.text_buy);
        expanableListview = (CartExpanableListview) findViewById(R.id.expanable_listview);
        relative_progress = (RelativeLayout) findViewById(R.id.relative_progress);
        linear_bottom = (LinearLayout) findViewById(R.id.linear_layout);
        //去掉默认的指示器
        expanableListview.setGroupIndicator(null);

        //1.点击选:选中/未选中...调用适配器中的方法...myAdapter.setIsCheckAll(true);来设置所有的一级和二级是否选中,计算
        check_all.setOnClickListener(this);
        text_buy.setOnClickListener(this);
        text_shan.setOnClickListener(this);
    }
    /**
     * 所有的一级列表是否选中
     */
    private boolean isAllGroupChecked() {
        for (int i =0;i<cartBean.getData().size();i++){
            if (! cartBean.getData().get(i).isGroupChecked()){//代表一级列表有没选中的
                return false;
            }
        }

        return true;
    }
    /**
     * 判断当前组里面所有的子条目是否选中
     * @param groupPosition
     * @return
     */
    private boolean isAllChildInGroupSelected(int groupPosition) {
        for (int i= 0;i<cartBean.getData().get(groupPosition).getList().size();i++){
            //只要有一个没选中就返回false
            if (cartBean.getData().get(groupPosition).getList().get(i).getSelected() ==0){
                return false;
            }
        }

        return true;
    }
    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.check_all:
                myAdapter.setAllChildState(check_all.isChecked());

                break;
            case R.id.text_buy://去结算...试一下创建订单
                RetrofitFactory.get("https://www.zhaoapi.cn/product/createOrder?uid=11824&price=" + countPriceBean.getPrice()).subscribe(new BaseObserver() {
                    @Override
                    public void onSuccess(String result) {
                        Toast.makeText(GouWuCheActivity.this, result,Toast.LENGTH_SHORT).show();
                        Intent intent=new Intent(GouWuCheActivity.this,DingDanStatusActivity.class);
                        startActivity(intent);
                    }

                    @Override
                    public void onFailed() {

                    }
                });
                break;
            case R.id.text_shan:
                for (int i=0;i<listpid.size();i++) {
                    Map<String, String> params = new HashMap<String, String>();
                    params.put("uid", 11824 + "");
                    params.put("pid",listpid.get(i)+"");
                    params.put("source", "android");
                    RetrofitFactory.get("https://www.zhaoapi.cn/product/deleteCart", params).subscribe(new BaseObserver() {
                        @Override
                        public void onSuccess(String result) {
                            relative_progress.setVisibility(View.VISIBLE);
                            //请求数据
                            myPresenter.getPUser(ApiUtil.cartUrl);
                        }

                        @Override
                        public void onFailed() {

                        }
                    });
                }
                break;
        }
    }

    @Override
    public void onSuccesscha(String json) {

        relative_progress.setVisibility(View.GONE);
        cartBean = new Gson().fromJson(json, ChaXunBean.class);
        if (cartBean != null){
            //显示下面的
            linear_bottom.setVisibility(View.VISIBLE);

            //1.根据组中子条目是否选中,,,决定该组是否选中...初始化一下每一组中isGroupCheck这个数据
            for (int i = 0; i< cartBean.getData().size(); i++){
                if (isAllChildInGroupSelected(i)){
                    //更改i位置 组的选中状态
                    cartBean.getData().get(i).setGroupChecked(true);
                }
            }

            //2.根据每一个组是否选中的状态,,,初始化全选是否选中
            check_all.setChecked(isAllGroupChecked());

            //设置适配器
            myAdapter = new MyAdapter(GouWuCheActivity.this, cartBean,handler,myPresenter,relative_progress);
            expanableListview.setAdapter(myAdapter);



            //展开
            for (int i = 0; i< cartBean.getData().size(); i++){
                expanableListview.expandGroup(i);
            }

            //3.根据子条目是否选中  初始化价格和数量
            myAdapter.sendPriceAndCount();

        }else {
            //隐藏下面的全选.... 等
            linear_bottom.setVisibility(View.GONE);
            //显示去逛逛,,,添加购物车
            Toast.makeText(GouWuCheActivity.this,"购物车为空,去逛逛",Toast.LENGTH_SHORT).show();

        }

    }
}
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值