GWC购物车的简单使用

*************************************OKHTTP封装****************************************
onFinish

public interface onFinish {void onSuccess(Object o);void onFailed(String s);
}

Utils
package view.bw.com.utils;/**
 * Created by lenovo on 2018/1/17.
 */
import java.io.IOException;import okhttp3.FormBody;
import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.Response;
public class Utils {public static class CommonParamsInterceptor implements Interceptor {@Override
        public Response intercept(Chain chain) throws IOException {//得到原始的请求对象
            Request request = chain.request();//得到用户所使用的请求方式
            String method = request.method();if ("GET".equals(method)) {//url
                //原始的请求接口
                String oldUrl = request.url().toString();//拼接成一个新的URL
                String newUrl = oldUrl + "&source=android";//重新构建请求体
                request = new Request.Builder().url(newUrl).build();} else if ("POST".equals(method)) {//得到原始的url
                String oldUrl = request.url().toString();//得到原有的请求参数
                FormBody oldBody = (FormBody) request.body();//1 2 3
                //新的构建项
                FormBody.Builder builder = new FormBody.Builder();for (int i = 0; i < oldBody.size(); ++i) {//取出相关请求参数(原有的)
                    String name = oldBody.name(i);String value = oldBody.value(i);//将原始的参数拼装到新的构建体当中
                    builder.add(name, value);}//拼装我们的公共参数
                builder.add("source", "android");request = new Request.Builder().url(oldUrl).post(builder.build()).build();}//重新发送请求
            return chain.proceed(request);}}
}


OkHttpUtils
package view.bw.com.utils;/**
 * Created by lenovo on 2018/1/17.
 */
import android.os.Handler;
import com.google.gson.Gson;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import view.bw.com.bean.SupperClass;
public class OkHttpUtils {private static OkHttpUtils OK_HTTP_UTILS = null;//定义一个Handler
    private static Handler handler = new Handler();public OkHttpUtils() {}/**
     * 得到OkHttpUtils实例对象
     *
     * @return
     */
    public static OkHttpUtils getInstance() {if (null == OK_HTTP_UTILS) {synchronized (OkHttpUtils.class) {if (null == OK_HTTP_UTILS) {OK_HTTP_UTILS = new OkHttpUtils();}}}return OK_HTTP_UTILS;}/**
     * Get请求
     *
     * @param path http://www.baidu.com?key=value&key=value
     * @param onFinishListener
     */
    public void doGet(String path,Map map,final onFinish onFinishListener) {StringBuffer sb = new StringBuffer();sb.append(path);//判断path是否包含一个
        if(sb.indexOf("?") != -1){//判断"?"是否在最后一个
            if(sb.indexOf("?") != sb.length() -1){sb.append("&");}}else{sb.append("?");}//遍历map集合中所有请求参数
        for (Map.Entry entry: map.entrySet()){sb.append(entry.getKey()).append("=").append(entry.getValue()).append("&");}//判断get请求路径最后是否包含一个"&"
        if(sb.lastIndexOf("&") != -1){sb.deleteCharAt(sb.length() - 1);}OkHttpClient okHttpClient = new OkHttpClient.Builder()//添加应用拦截器
                .addInterceptor(new Utils.CommonParamsInterceptor())//.addNetworkInterceptor() //添加网络拦截器
                .build();//构建请求项
        Request request = new Request.Builder().get().url(sb.toString()).build();Call call = okHttpClient.newCall(request);//execute 子线程  enqueue //
        call.enqueue(new Callback() {@Override
            public void onFailure(Call call, final IOException e) {handler.post(new Runnable() {@Override
                    public void run() {onFinishListener.onFailed(e.getMessage());}});}@Override
            public void onResponse(Call call, Response response) throws IOException {//得到服务器的响应结果
                final String result = response.body().string();//请求成功
                handler.post(new Runnable() {@Override
                    public void run() {//主线程当中执行
                        onFinishListener.onSuccess(result);}});}});}/**
     * post请求
     *
     * @param path
     * @param map
     * @param onFinishListener
     */
    public void doPost(String path, Map map, final onFinish onFinishListener) {OkHttpClient okHttpClient = new OkHttpClient.Builder()//添加应用拦截器 公共参数
                .addInterceptor(new Utils.CommonParamsInterceptor()).build();//构建参数的对象
        FormBody.Builder builder = new FormBody.Builder();for (String key : map.keySet()) {builder.add(key, map.get(key));}final Request request = new Request.Builder().post(builder.build()).url(path).build();Call call = okHttpClient.newCall(request);call.enqueue(new Callback() {@Override
            public void onFailure(Call call, final IOException e) {handler.post(new Runnable() {@Override
                    public void run() {onFinishListener.onFailed(e.getMessage());}});}@Override
            public void onResponse(Call call, Response response) throws IOException {final String result = response.body().string();handler.post(new Runnable() {@Override
                    public void run() {//主线程当中执行
                        onFinishListener.onSuccess(result);}});}});}
}

*************************************二级列表适配器****************************************
package view.bw.com.adapter;import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.TextView;import com.bumptech.glide.Glide;import java.util.List;import view.bw.com.bean.SupperClass;
import view.bw.com.monthtext.R;/**
 * Created by lenovo on 2018/1/17.
 */

public class MyExadpter extends BaseExpandableListAdapter{private List list;private Context context;private CheckBox ck_group_choose;private ModifyGoodsItemNumberListener modifyGoodsItemNumberListener;private CheckGroupItemListener checkGroupItemListener;private boolean isEditor;public MyExadpter(Context context){this.context = context;}//设置数据
    public void setList(List data){this.list = data;notifyDataSetChanged();}//商家以及商品是否被选中的一个监听
    public void setCheckGroupItemListener(CheckGroupItemListener checkGroupItemListener){this.checkGroupItemListener = checkGroupItemListener;}//设置商品的加减监听
    public void setModifyGoodsItemNumberListener(ModifyGoodsItemNumberListener modifyGoodsItemNumberListener){this.modifyGoodsItemNumberListener = modifyGoodsItemNumberListener;}//是否显示删除按钮
    public void showDeleteButton(boolean isEditor){this.isEditor = isEditor;//刷新适配器
        notifyDataSetChanged();}@Override
    public int getGroupCount() {return list!=null?list.size():0;}@Override
    public int getChildrenCount(int groupPosition) {return list!=null?list.get(groupPosition).getList().size():0;}@Override
    public Object getGroup(int groupPosition) {return list.get(groupPosition);}@Override
    public Object getChild(int groupPosition, int childPosition) {return list.get(groupPosition).getList().get(childPosition);}@Override
    public long getGroupId(int groupPosition) {return groupPosition;}@Override
    public long getChildId(int groupPosition, int childPosition) {return childPosition;}@Override
    public boolean hasStableIds() {return false;}@Override
    public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {if (convertView==null){convertView = LayoutInflater.from(context).inflate(R.layout.layout_group_item,parent,false);}ck_group_choose = convertView.findViewById(R.id.ck_group_choosed);//设置商家checkbox复选框的状态
        if(list.get(groupPosition).isGroupCheak()){ck_group_choose.setChecked(true);}else{ck_group_choose.setChecked(false);}ck_group_choose.setOnClickListener(new View.OnClickListener() {@Override
            public void onClick(View view) {checkGroupItemListener.checkGroupItem(groupPosition,((CheckBox)view).isChecked());}});//赋值
        ck_group_choose.setText(list.get(groupPosition).getSellerName());return convertView;}@Override
    public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {if(convertView == null){convertView = LayoutInflater.from(context).inflate(R.layout.layout_child_item,parent,false);}//商品选择
        CheckBox ck_child_choosed = convertView.findViewById(R.id.ck_child_choose);//商品图片
        ImageView iv_show_pic = convertView.findViewById(R.id.iv_show_pic);//商品主标题
        TextView tv_commodity_name = convertView.findViewById(R.id.tv_commodity_name);//商品副标题
        TextView tv_commodity_attr = convertView.findViewById(R.id.tv_commodity_attr);//商品价格
        TextView tv_commodity_price = convertView.findViewById(R.id.tv_commodity_price);//商品数量
        TextView tv_commodity_num = convertView.findViewById(R.id.tv_commodity_num);//商品减
        TextView iv_sub = convertView.findViewById(R.id.iv_sub);//商品加减中的数量变化
        final TextView tv_commodity_show_num = convertView.findViewById(R.id.tv_commodity_show_num);//商品加
        TextView iv_add = convertView.findViewById(R.id.iv_add);//删除按钮
        Button btn_commodity_delete = convertView.findViewById(R.id.btn_commodity_delete);//设置文本信息
        tv_commodity_name.setText(list.get(groupPosition).getList().get(childPosition).getTitle());tv_commodity_attr.setText(list.get(groupPosition).getList().get(childPosition).getSubhead());tv_commodity_price.setText(""+list.get(groupPosition).getList().get(childPosition).getPrice());tv_commodity_num.setText("x"+list.get(groupPosition).getList().get(childPosition).getNum());tv_commodity_show_num.setText(list.get(groupPosition).getList().get(childPosition).getNum()+"");//分割图片地址
        String images = list.get(groupPosition).getList().get(childPosition).getImages();String[] urls = images.split("\\|");//加载商品图片
        Glide.with(context).load(urls[0]).crossFade().into(iv_show_pic);//商品加
        iv_add.setOnClickListener(new View.OnClickListener() {@Override
            public void onClick(View view) {modifyGoodsItemNumberListener.doIncrease(groupPosition,childPosition,tv_commodity_show_num);}});//设置商品加减的按钮
        //商品减
        iv_sub.setOnClickListener(new View.OnClickListener() {@Override
            public void onClick(View view) {modifyGoodsItemNumberListener.doDecrease(groupPosition,childPosition,tv_commodity_show_num);}});//商品复选框是否被选中
        ck_child_choosed.setOnClickListener(new View.OnClickListener() {@Override
            public void onClick(View view) {//isChecked false  true
                checkGroupItemListener.checkChildItem(groupPosition,childPosition,((CheckBox)view).isChecked());}});//处理商品的选中状态
        if(list.get(groupPosition).getList().get(childPosition).isChild()){ck_child_choosed.setChecked(true);}else{ck_child_choosed.setChecked(false);}//控制删除按钮的隐藏与显示
        if(isEditor){btn_commodity_delete.setVisibility(View.VISIBLE);}else{btn_commodity_delete.setVisibility(View.GONE);}return convertView;}@Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {return false;}public interface CheckGroupItemListener{//商家的条目的复选框监听
        void checkGroupItem(int groupPosition,boolean isChecked);//商品的
        void checkChildItem(int groupPosition,int childPosition,boolean isChecked);}/**
     * 商品加减接口
     */
    public interface ModifyGoodsItemNumberListener{//商品添加操作
        void doIncrease(int groupPosition,int childPosition,View view);//商品减少操作
        void doDecrease(int groupPosition,int childPosition,View view);}
}








*************************************************************************************VIEW层*******************************************************************************************


package view.bw.com.monthtext;import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.ExpandableListView;
import android.widget.TextView;
import android.widget.Toast;import com.be.MyDingDan.view.MyDingDanActivity;import java.util.List;import view.bw.com.adapter.MyExadpter;
import view.bw.com.bean.SupperClass;
import view.bw.com.persenter.ShoppCarPersenter;public class MainActivity extends AppCompatActivity implements IMainActivity, MyExadpter.ModifyGoodsItemNumberListener, MyExadpter.CheckGroupItemListener {private ExpandableListView expandList;private MyExadpter adapter;private ShoppCarPersenter iShooppPrensenter;//
    private List list;private CheckBox btnCheckAll;//购买商品的总数量
    private int totalNum = 0;//购买商品的总价
    private double totalPrice= 0.00; //15.55  15  0.55亿
    private TextView tvTotalPrice;private TextView btnAmount;private TextView btnEditor;//默认是false
    private boolean flag;@Override
    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//隐藏actionbar
        getSupportActionBar().hide();expandList = findViewById(R.id.elv);//购物车底部栏的全选框
        btnCheckAll = findViewById(R.id.btnCheckAll);//合计,计算总价
        tvTotalPrice = findViewById(R.id.tvTotalPrice);//结算按钮
        btnAmount = findViewById(R.id.btnAmount);//找到编辑控件
      //  btnEditor = findViewById(R.id.btnEditor);

        //去除默认指示器
        expandList.setGroupIndicator(null);//设置适配器
        adapter = new MyExadpter(this);expandList.setAdapter(adapter);//获取购物车信息
        iShooppPrensenter = new ShoppCarPersenter(this);iShooppPrensenter.getCar("4582");//设置商品加减的监听
        adapter.setModifyGoodsItemNumberListener(this);//设置商家以及商品是否被选中的监听
        adapter.setCheckGroupItemListener(this);
//点击跳转订单
        btnAmount.setOnClickListener(new View.OnClickListener() {@Override
            public void onClick(View v) {Intent intent = new Intent(MainActivity.this, MyDingDanActivity.class);statisticsPrice();if (totalNum==0){Toast.makeText(MainActivity.this,"请选中",Toast.LENGTH_SHORT).show();return;}else{intent.putExtra("uid","4582");intent.putExtra("price",totalPrice);startActivity(intent);}}});btnCheckAll.setOnClickListener(new View.OnClickListener() {@Override
            public void onClick(View view) {isChoosedAll(((CheckBox)view).isChecked());//计算商品总价
                statisticsPrice();}});//        //编辑
//        btnEditor.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View view) {
//
//                if(!flag){//编辑 -> 完成\
//                    flag = true;
//                    btnEditor.setText("完成");
//                    adapter.showDeleteButton(flag);
//                }else{
//                    flag = false;
//                    btnEditor.setText("编辑");
//                    adapter.showDeleteButton(flag);
//                }
//
//            }
//        });
    }//二级列表默认展开
    private void defaultExpand(){for (int i = 0; i < adapter.getGroupCount();++i){expandList.expandGroup(i);}}@Override
    public void onSuccess(List data) {this.list = data;adapter.setList(list);defaultExpand();
}@Override
    public void onFailed(String msg) {Toast.makeText(this,msg.toString(),Toast.LENGTH_SHORT).show();}@Override
    public void doIncrease(int groupPosition, int childPosition, View view) {SupperClass.DataBean.ListBean listBean = list.get(groupPosition).getList().get(childPosition);//取出当前的商品数量
        int currentNum = listBean.getNum();//商品++
        currentNum++;//将商品数量设置javabean        listBean.setNum(currentNum);//刷新适配器
        adapter.notifyDataSetChanged();//计算商品价格
        statisticsPrice();}@Override
    public void doDecrease(int groupPosition, int childPosition, View view) {SupperClass.DataBean.ListBean listBean = list.get(groupPosition).getList().get(childPosition);//取出当前的商品数量
        int currentNum = listBean.getNum();//直接结束这个方法
        if(currentNum == 1){return;}currentNum--;listBean.setNum(currentNum);//刷新适配器
        adapter.notifyDataSetChanged();//计算商品价格
        statisticsPrice();}//商家checkbox
    @Override
    public void checkGroupItem(int groupPosition, boolean isChecked) {//商家javabean
        SupperClass.DataBean dataBean = list.get(groupPosition);dataBean.setGroupCheak(isChecked);//遍历商家里面的商品,将其置为选中状态
        for (SupperClass.DataBean.ListBean listBean : dataBean.getList()){listBean.setChild(isChecked);}//底部结算那个checkbox状态(全选)
        if(isCheckAll()){btnCheckAll.setChecked(true);}else{btnCheckAll.setChecked(false);}//刷新适配器
        adapter.notifyDataSetChanged();//计算价格
        statisticsPrice();}//商品的checkbox
    @Override
    public void checkChildItem(int groupPosition, int childPosition, boolean isChecked) {//Toast.makeText(this, "商品", Toast.LENGTH_SHORT).show();
        //ShoppCarBean.DataBean.ListBean listBean = list.get(groupPosition).getList().get(childPosition);

        SupperClass.DataBean dataBean = list.get(groupPosition);//商家那一层
        List listBeans = dataBean.getList();SupperClass.DataBean.ListBean listBean = listBeans.get(childPosition);//你点击商家的商品条目将其选中状态记录
        listBean.setChild(isChecked);//检测商家里面的每一个商品是否被选中,如果被选中,返回boolean
        boolean result = isGoodsCheckAll(groupPosition);if(result){dataBean.setGroupCheak(result);}else{dataBean.setGroupCheak(result);}//底部结算那个checkbox状态(全选)
        if(isCheckAll()){btnCheckAll.setChecked(true);}else{btnCheckAll.setChecked(false);}//刷新适配器
        adapter.notifyDataSetChanged();//计算总价
        statisticsPrice();}/**
     * 检测某个商家的商品是否都选中,如果都选中的话,商家CheckBox应该是选中状态
     * @param groupPosition
     * @return
     */
    private boolean isGoodsCheckAll(int groupPosition){List listBeans = this.list.get(groupPosition).getList();//遍历某一个商家的每个商品是否被选中
        for (SupperClass.DataBean.ListBean listBean : listBeans){if(listBean.isChild()){//是选中状态
                continue;}else{return false;}}return true;}//购物车商品是否全部选中
    private boolean isCheckAll(){for (SupperClass.DataBean dataBean : list){if(!dataBean.isGroupCheak()){return false;}}return true;}//全选与反选
    private void isChoosedAll(boolean isChecked){for (SupperClass.DataBean dataBean : list){dataBean.setGroupCheak(isChecked);for (SupperClass.DataBean.ListBean listBean : dataBean.getList()){listBean.setChild(isChecked);}}//刷新适配器
        adapter.notifyDataSetChanged();}/**
     * 计算你所选中的商品总价
     */
    private void statisticsPrice(){//初始化值
        totalNum = 0;totalPrice = 0.00;for (SupperClass.DataBean dataBean : list){for (SupperClass.DataBean.ListBean listBean : dataBean.getList()){if(listBean.isChild()){totalNum++;System.out.println("number : "+totalNum);totalPrice += listBean.getNum()*listBean.getPrice();}}}//设置文本信息 合计、结算的商品数量
        tvTotalPrice.setText("合计:"+totalPrice);btnAmount.setText("结算("+totalNum+")");}}**********************************************VIEW层接口***************************************
package view.bw.com.monthtext;import java.util.List;import view.bw.com.bean.SupperClass;/**
 * Created by lenovo on 2018/1/17.
 */

public interface IMainActivity {void onSuccess(List list);void onFailed(String str);
}
 

******************************************PERSENTER层***************************************

package view.bw.com.persenter;import java.util.List;import view.bw.com.bean.SupperClass;
import view.bw.com.model.ShoppCarModel;
import view.bw.com.monthtext.IMainActivity;/**
 * Created by lenovo on 2018/1/17.
 */

public class ShoppCarPersenter implements IShoppCarPersenter{IMainActivity iMainActivity;ShoppCarModel shoppCarModel;public ShoppCarPersenter(IMainActivity iMainActivity) {this.iMainActivity = iMainActivity;shoppCarModel = new ShoppCarModel();}@Override
    public void getCar(String uid) {shoppCarModel.getCar(uid,this);}@Override
    public void onSuccess(List list) {if (iMainActivity!=null){iMainActivity.onSuccess(list);}}@Override
    public void onFailed(String str) {if (iMainActivity!=null){iMainActivity.onFailed(str);}}@Override
    public void Destory() {if (iMainActivity!=null){iMainActivity=null;}}
}***********************************************PERSENTER层接口*********************************
package view.bw.com.persenter;import java.util.List;import view.bw.com.bean.SupperClass;/**
 * Created by lenovo on 2018/1/17.
 */

public interface IShoppCarPersenter {void getCar(String uid);void onSuccess(List list);void onFailed(String str);void Destory();
}

**********************************************************************************MODEL层**************************************************************************************


package view.bw.com.model;import com.google.gson.Gson;import java.util.HashMap;
import java.util.List;
import java.util.Map;import view.bw.com.bean.SupperClass;
import view.bw.com.persenter.IShoppCarPersenter;
import view.bw.com.utils.OkHttpUtils;
import view.bw.com.utils.Utils;
import view.bw.com.utils.onFinish;/**
 * Created by lenovo on 2018/1/17.
 */

public class ShoppCarModel implements IShoppCarModel {@Override
    public void getCar(String uid, final IShoppCarPersenter iShoppCarPersenter) {String url = "https://www.zhaoapi.cn/product/getCarts";OkHttpUtils utils = new OkHttpUtils();Map map = new HashMap<>();map.put("uid",uid);utils.doPost(url, map, new onFinish() {@Override
            public void onSuccess(Object o) {String result = o.toString();Gson g = new Gson();SupperClass supperClass = g.fromJson(result, SupperClass.class);List data = supperClass.getData();iShoppCarPersenter.onSuccess(data);}@Override
            public void onFailed(String s) {iShoppCarPersenter.onFailed(s);}});}
}


************************************************************************MODEL层接口**********************************************************************************


package view.bw.com.model;import view.bw.com.persenter.IShoppCarPersenter;/**
 * Created by lenovo on 2018/1/17.
 */

public interface IShoppCarModel {void getCar(String uid, IShoppCarPersenter iShoppCarPersenter);
}


************************************************************************BEAN层********************************************************************************************

public class Constants {//请求的服务器主机名
        public static final String HOST_NAME = "https://www.zhaoapi.cn";/**
         * 登录请求接口
         */
        public static final String LOGIN = HOST_NAME + "/user/login";/**
         * 获取购物车信息
         */
        public static final String GET_CARTS = HOST_NAME + "/product/getCarts";}*******************************************SupperClass***********************************
public class SupperClass {/**
     * msg : 请求成功
     * code : 0
     * data : [{"list":[{"bargainPrice":99,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd.com/product/4345173.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t6037/35/2944615848/95178/6cd6cff0/594a3a10Na4ec7f39.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6607/258/1025744923/75738/da120a2d/594a3a12Ne3e6bc56.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6370/292/1057025420/64655/f87644e3/594a3a12N5b900606.jpg!q70.jpg","num":1,"pid":45,"price":2999,"pscid":39,"selected":0,"sellerid":1,"subhead":"高清双摄,就是清晰!2000+1600万高清摄像头,6GB大内存+高通骁龙835处理器,性能怪兽!","title":"一加手机5 (A5000) 6GB+64GB 月岩灰 全网通 双卡双待 移动联通电信4G手机"},{"bargainPrice":11800,"createtime":"2017-10-10T17:33:37","detailUrl":"https://item.m.jd.com/product/4338107.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t6700/155/2098998076/156185/6cf95035/595dd5a5Nc3a7dab5.jpg!q70.jpg","num":1,"pid":57,"price":5199,"pscid":40,"selected":0,"sellerid":1,"subhead":"i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 预装WIN10系统","title":"小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银\r\n"}],"sellerName":"商家1","sellerid":"1"},{"list":[{"bargainPrice":6666,"createtime":"2017-10-10T16:01:31","detailUrl":"https://item.m.jd.com/product/5089273.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t8284/363/1326459580/71585/6d3e8013/59b857f2N6ca75622.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t9346/182/1406837243/282106/68af5b54/59b8480aNe8af7f5c.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8434/54/1359766007/56140/579509d9/59b85801Nfea207db.jpg!q70.jpg","num":1,"pid":46,"price":234,"pscid":39,"selected":0,"sellerid":2,"subhead":"iPhone新品上市】新一代iPhone,让智能看起来更不一样","title":"Apple iPhone 8 Plus (A1864) 64GB 金色 移动联通电信4G手机"},{"bargainPrice":11800,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd.com/product/5025518.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t8830/106/1760940277/195595/5cf9412f/59bf2ef5N5ab7dc16.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5428/70/1520969931/274676/b644dd0d/591128e7Nd2f70da0.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5566/365/1519564203/36911/620c750c/591128eaN54ac3363.jpg!q70.jpg","num":1,"pid":58,"price":6399,"pscid":40,"selected":0,"sellerid":2,"subhead":"升级4G大显存!Nvme协议Pcie SSD,速度快人一步】GTX1050Ti就选拯救者!专业游戏键盘&新模具全新设计!","title":"联想(Lenovo)拯救者R720 15.6英寸游戏笔记本电脑(i5-7300HQ 8G 1T+128G SSD GTX1050Ti 4G IPS )"}],"sellerName":"商家2","sellerid":"2"},{"list":[{"bargainPrice":22.9,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/2542855.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t1930/284/2865629620/390243/e3ade9c4/56f0a08fNbd3a1235.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t2137/336/2802996626/155915/e5e90d7a/56f0a09cN33e01bd0.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t1882/31/2772215910/389956/c8dbf370/56f0a0a2Na0c86ea6.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t2620/166/2703833710/312660/531aa913/57709035N33857877.jpg!q70.jpg","num":1,"pid":28,"price":599,"pscid":2,"selected":0,"sellerid":5,"subhead":"三只松鼠零食特惠,专区满9950,满199100,火速抢购》","title":"三只松鼠 坚果炒货 零食奶油味 碧根果225g/"}],"sellerName":"商家5","sellerid":"5"},{"list":[{"bargainPrice":11800,"createtime":"2017-10-03T23:53:28","detailUrl":"https://mitem.jd.hk/ware/view.action?wareId=1988853309&cachekey=1acb07a701ece8d2434a6ae7fa6870a1","images":"https://m.360buyimg.com/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5698/110/2617517836/202970/c9388feb/593276b7Nbd94ef1f.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5815/178/2614671118/51656/7f52d137/593276c7N107b725a.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5878/60/2557817477/30873/4502b606/593276caN5a7d6357.jpg!q70.jpg","num":4,"pid":62,"price":15999,"pscid":40,"selected":0,"sellerid":6,"subhead":"购买电脑办公部分商品满1元返火车票5元优惠券(返完即止)","title":"全球购 新款Apple MacBook Pro 苹果笔记本电脑 银色VP213英寸Bar i5/8G/256G"}],"sellerName":"商家6","sellerid":"6"},{"list":[{"bargainPrice":111.99,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":1,"pid":21,"price":699,"pscid":1,"selected":0,"sellerid":14,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}],"sellerName":"商家14","sellerid":"14"},{"list":[{"bargainPrice":22.9,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/2542855.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t1930/284/2865629620/390243/e3ade9c4/56f0a08fNbd3a1235.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t2137/336/2802996626/155915/e5e90d7a/56f0a09cN33e01bd0.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t1882/31/2772215910/389956/c8dbf370/56f0a0a2Na0c86ea6.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t2620/166/2703833710/312660/531aa913/57709035N33857877.jpg!q70.jpg","num":1,"pid":40,"price":345,"pscid":2,"selected":0,"sellerid":17,"subhead":"三只松鼠零食特惠,专区满9950,满199100,火速抢购》","title":"三只松鼠 坚果炒货 零食奶油味 碧根果225g/"}],"sellerName":"商家17","sellerid":"17"}]
     */

    private String msg;private String code;private List 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 List getData() {return data;}public void setData(List data) {this.data = data;}public static class DataBean {/**
         * list : [{"bargainPrice":99,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd.com/product/4345173.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t6037/35/2944615848/95178/6cd6cff0/594a3a10Na4ec7f39.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6607/258/1025744923/75738/da120a2d/594a3a12Ne3e6bc56.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6370/292/1057025420/64655/f87644e3/594a3a12N5b900606.jpg!q70.jpg","num":1,"pid":45,"price":2999,"pscid":39,"selected":0,"sellerid":1,"subhead":"高清双摄,就是清晰!2000+1600万高清摄像头,6GB大内存+高通骁龙835处理器,性能怪兽!","title":"一加手机5 (A5000) 6GB+64GB 月岩灰 全网通 双卡双待 移动联通电信4G手机"},{"bargainPrice":11800,"createtime":"2017-10-10T17:33:37","detailUrl":"https://item.m.jd.com/product/4338107.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t6700/155/2098998076/156185/6cf95035/595dd5a5Nc3a7dab5.jpg!q70.jpg","num":1,"pid":57,"price":5199,"pscid":40,"selected":0,"sellerid":1,"subhead":"i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 预装WIN10系统","title":"小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银\r\n"}]
         * sellerName : 商家1
         * sellerid : 1
         */

        private String sellerName;private String sellerid;private List list;private boolean isGroupCheak;public boolean isGroupCheak(){return isGroupCheak;}public void setGroupCheak(boolean groupCheak) {isGroupCheak = groupCheak;}public String getSellerName() {return sellerName;}public void setSellerName(String sellerName) {this.sellerName = sellerName;}public String getSellerid() {return sellerid;}public void setSellerid(String sellerid) {this.sellerid = sellerid;}public List getList() {return list;}public void setList(List list) {this.list = list;}public static class ListBean {/**
             * bargainPrice : 99.0
             * createtime : 2017-10-14T21:38:26
             * detailUrl : https://item.m.jd.com/product/4345173.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends
             * images : https://m.360buyimg.com/n0/jfs/t6037/35/2944615848/95178/6cd6cff0/594a3a10Na4ec7f39.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6607/258/1025744923/75738/da120a2d/594a3a12Ne3e6bc56.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t6370/292/1057025420/64655/f87644e3/594a3a12N5b900606.jpg!q70.jpg
             * num : 1
             * pid : 45
             * price : 2999.0
             * pscid : 39
             * selected : 0
             * sellerid : 1
             * subhead : 高清双摄,就是清晰!2000+1600万高清摄像头,6GB大内存+高通骁龙835处理器,性能怪兽!
             * title : 一加手机5 (A5000) 6GB+64GB 月岩灰 全网通 双卡双待 移动联通电信4G手机
             */

//            private double bargainPrice;
            private String createtime;private String detailUrl;private String images;private int num;private int pid;private double price;private int pscid;private int selected;private int sellerid;private String subhead;private String title;private boolean isChild;public boolean isChild() {return isChild;}public void setChild(boolean child) {this.isChild = child;}/*public double getBargainPrice() {
                return bargainPrice;
            }

            public void setBargainPrice(double bargainPrice) {
                this.bargainPrice = bargainPrice;
            }*/

            public String getCreatetime() {return createtime;}public void setCreatetime(String createtime) {this.createtime = createtime;}public String getDetailUrl() {return detailUrl;}public void setDetailUrl(String detailUrl) {this.detailUrl = detailUrl;}public String getImages() {return images;}public void setImages(String images) {this.images = images;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}public int getPid() {return pid;}public void setPid(int pid) {this.pid = pid;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public int getPscid() {return pscid;}public void setPscid(int pscid) {this.pscid = pscid;}public int getSelected() {return selected;}public void setSelected(int selected) {this.selected = selected;}public int getSellerid() {return sellerid;}public void setSellerid(int sellerid) {this.sellerid = sellerid;}public String getSubhead() {return subhead;}public void setSubhead(String subhead) {this.subhead = subhead;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}}}



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部