MVP加泛型,抽基类,解绑,多条目


导入一些依赖  

 compile 'com.android.support:recyclerview-v7:25.3.1'
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.facebook.fresco:fresco:0.11.0'
    compile 'io.reactivex:rxjava:1.0.14'
    compile 'io.reactivex:rxandroid:1.0.1'
 
    compile 'com.squareup.okhttp3:okhttp:3.1.2'
    compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
    compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4'
    compile 'com.squareup.okhttp3:okhttp:3.9.0'
    compile files('libs/universal-image-loader-1.9.3-with-sources.jar')

在清单文件里加入网络权限

<uses-permission android:name="android.permission.INTERNET"/>

MainActivity

//继承BaseActivity<Presenter>的类
public class MainActivity extends BaseActivity<Presenter> implements Ivv {

    RecyclerView  rv;

    Myadapter  adapter;

    SwipeRefreshLayout srl;

    Bean   bean;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Fresco.initialize(this);
        setContentView(R.layout.activity_main);
        rv= (RecyclerView) findViewById(R.id.rv);
        srl= (SwipeRefreshLayout) findViewById(R.id.srl);



        //直接P层的类实例化   调用数据
        presenter=new Presenter(this,this);
        presenter.getshuju();

        //下拉刷新
        srl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                presenter.getshuju();
                adapter.notifyDataSetChanged();
                srl.setRefreshing(false);

            }
        });




    }


    @Override
    public void ShowView(Bean bean) {
        LinearLayoutManager   manager=new LinearLayoutManager(this);
        rv.setLayoutManager(manager);
        rv.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL));
        adapter=new Myadapter(this,bean);

        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                rv.setAdapter(adapter);
            }
        });

        adapter.setOnItemClickLinstener(new Myadapter.OnItemClickLinstener() {
            @Override
            public void OnItemClick(View view, int position) {
                Toast.makeText(MainActivity.this,"你点击的是条目",Toast.LENGTH_SHORT).show();
            }
        });



    }

    @Override
    protected void createpresenter() {

    }
}

Model

//创建接口
public interface Imm  {
    //观察者
    public void shuju(Observer<Bean> observer);

}

Model
public class Model implements Imm{
    private Bean bean;
    @Override
    public void shuju(Observer<Bean> observer) {
        //创建被观察者
        Observable.create(new Observable.OnSubscribe<Bean>() {
            @Override
            public void call(final Subscriber<? super Bean> subscriber) {
                //网络请求的实例化
                Retrofit   retrofit=new Retrofit.Builder()
                        .baseUrl("http://m.yunifang.com/yunifang/mobile/")
                        .addConverterFactory(GsonConverterFactory.create())
                        .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                        .build();
                //实例化网址的接口
                Iwz_jk    wljk=retrofit.create(Iwz_jk.class);

                Call<Bean>   call=wljk.getCall();

                call.enqueue(new Callback<Bean>() {
                    @Override
                    public void onResponse(Call<Bean> call, Response<Bean> response) {

                        bean=response.body();
                        subscriber.onNext(bean);
                        subscriber.onCompleted();
                    }

                    @Override
                    public void onFailure(Call<Bean> call, Throwable t) {

                    }
                });




            }
        }).subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread())
                .subscribe(observer);

    }
}

View

public interface Ivv {
    public void ShowView(Bean bean);
}

 解绑接口

//接口
public interface Ipp<T> {
    //方法:1.绑定方法  2.解绑的方法
    public void attch(T view);
    public void detch();
}

 Presenter

public class Presenter implements Ipp<Ivv>{
    Context  context;
    Model  mm;
    Ivv  vv;
    SoftReference<Ivv>    softReference;//软引用

    public Presenter(Context context, Ivv vv) {
        this.context = context;
        attch(vv);     //绑定的方法
        mm=new Model();
    }

    public  void getshuju(){
        //调用观察者的方法
        mm.shuju(new Observer<Bean>() {
            @Override
            public void onCompleted() {

            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(Bean bean) {
                //调用方法
                //vv.ShowView(bean);
                //软引用的调用
                softReference.get().ShowView(bean);
            }
        });
    }



//重写的方法 绑定
    @Override
    public void attch(Ivv view) {
        softReference=new SoftReference<Ivv>(view);
    }

    //解绑的方法
    @Override
    public void detch() {

        softReference.clear();
    }
}
 @GET注解
public interface Iwz_jk {
    @GET("home")
    Call<Bean> getCall();
}

BaseActivity基类

//创建的Activity继承泛型<T extends Ipp>
public abstract class BaseActivity<T extends Ipp> extends AppCompatActivity {

    //定义属性
    T  presenter;
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
        //定义抽象方法
        createpresenter();
    }

    protected abstract void createpresenter();


    //销毁的方法
    @Override
    protected void onDestroy() {
        super.onDestroy();

        presenter.detch();
    }
}

Myadapter适配器

public class Myadapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {

    Context  context;
    Bean     bean;
    OnItemClickLinstener   listener;

    public Myadapter(Context context, Bean bean) {
        this.context = context;
        this.bean = bean;

    }

    //单例模式定义的多布局
    public  static final int TYPE_ONE=0;
    public  static final int TYPE_TWO=1;
    MyViewHolder   holder1;
    MyViewHolder2   holder2;


    //接口的方法实例化

    //获取方法的传参值
    public void setOnItemClickLinstener(OnItemClickLinstener listener) {
        //指定当前的值
        this.listener = listener;
    }



    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        if(viewType==TYPE_ONE)
        {
            View view=View.inflate(context,R.layout.item,null);
            holder1=new MyViewHolder(view);
            //页面的点击事件
            view.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    //实例化listener来调用接口的方法    强转类型
                    listener.OnItemClick(view, (int) view.getTag());
                }
            });
            return  holder1;
        }else {
            final View view2=View.inflate(context,R.layout.item2,null);
            holder2=new MyViewHolder2(view2);
           ///页面的点击事件
            view2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    listener.OnItemClick(view2, (int) view2.getTag());
                }
            });
            return  holder2;
        }

    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
               if(holder1 instanceof MyViewHolder)
               {

                   holder1.tv.setText(bean.getData().getDefaultGoodsList().get(position).getGoods_name());
                   ImageLoaderConfiguration   cf=ImageLoaderConfiguration.createDefault(context);
                   ImageLoader.getInstance().init(cf);
                   ImageLoader.getInstance().displayImage(bean.getData().getDefaultGoodsList().get(position).getGoods_img(),holder1.img);
                   holder1.itemView.setTag(position);
               }
               if(holder2 instanceof MyViewHolder2)
               {

                   holder2.tv2.setText(bean.getData().getDefaultGoodsList().get(position).getGoods_name());
                   DraweeController   controller= Fresco.newDraweeControllerBuilder()
                           .setUri(bean.getData().getDefaultGoodsList().get(position).getGoods_img())
                           .setAutoPlayAnimations(true)
                           .build();
                   holder2.img2.setController(controller);
                   holder2.itemView.setTag(position);
               }
    }

    @Override
    public int getItemCount() {
        return  bean.getData().getDefaultGoodsList()==null ? 0 :bean.getData().getDefaultGoodsList().size();
    }

    @Override
    public int getItemViewType(int position) {
        if (position%2==0)
        {
            return  TYPE_ONE;
        }else {
            return  TYPE_TWO;
        }
    }

    public class MyViewHolder extends RecyclerView.ViewHolder{

        ImageView   img;
        TextView  tv;
       public MyViewHolder(View itemView) {
           super(itemView);
           img= (ImageView) itemView.findViewById(R.id.img);
           tv= (TextView) itemView.findViewById(R.id.tv);
       }
   }



    class  MyViewHolder2 extends RecyclerView.ViewHolder{
        SimpleDraweeView img2;
       TextView  tv2;
        public MyViewHolder2(View itemView) {
            super(itemView);
            img2= (SimpleDraweeView) itemView.findViewById(R.id.img2);
            tv2= (TextView) itemView.findViewById(R.id.tv2);
        }
    }

    //创建接口
    public  interface OnItemClickLinstener{
        //创建接口的方法
        public void OnItemClick(View view,int position);
    }

}

布局

activity——main布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.administrator.rfrxfs.MainActivity">

    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/srl"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:layout_editor_absoluteY="8dp"
        tools:layout_editor_absoluteX="8dp">

    </android.support.v7.widget.RecyclerView>

    </android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>

item1布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    xmlns:fresco="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_height="match_parent">

<ImageView
    android:id="@+id/img"
    android:src="@mipmap/ic_launcher"
    android:layout_width="100dp"
    android:layout_height="100dp"
 />

-->
    <TextView
        android:id="@+id/tv"
        android:text="26565465465446"
        android:textSize="25dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/img"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

</RelativeLayout>

item2布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    xmlns:fresco="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_height="match_parent">


    <com.facebook.drawee.view.SimpleDraweeView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:id="@+id/img2"
        fresco:placeholderImage="@mipmap/ic_launcher"

        fresco:roundAsCircle="true"/>

-->
    <TextView
        android:id="@+id/tv2"
        android:text="26565465465446"
        android:textSize="15dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/img2"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />


</RelativeLayout>

Bean类

public class Bean {
    private int code;
    private String msg;
    private DataBean data;

    public int getCode() {
        return code;
    }

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

    public String getMsg() {
        return msg;
    }

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

    public DataBean getData() {
        return data;
    }

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

    public static class DataBean {
       

        private ActivityInfoBean activityInfo;
        private boolean creditRecived;
        private GoodsSpreeActivityBean goodsSpreeActivity;
        private List<SubjectsBean> subjects;
        private List<Ad1Bean> ad1;
        private List<Ad5Bean> ad5;
        private List<Ad8Bean> ad8;
        private List<DefaultGoodsListBean> defaultGoodsList;

        public ActivityInfoBean getActivityInfo() {
            return activityInfo;
        }

        public void setActivityInfo(ActivityInfoBean activityInfo) {
            this.activityInfo = activityInfo;
        }

        public boolean isCreditRecived() {
            return creditRecived;
        }

        public void setCreditRecived(boolean creditRecived) {
            this.creditRecived = creditRecived;
        }

        public GoodsSpreeActivityBean getGoodsSpreeActivity() {
            return goodsSpreeActivity;
        }

        public void setGoodsSpreeActivity(GoodsSpreeActivityBean goodsSpreeActivity) {
            this.goodsSpreeActivity = goodsSpreeActivity;
        }

        public List<SubjectsBean> getSubjects() {
            return subjects;
        }

        public void setSubjects(List<SubjectsBean> subjects) {
            this.subjects = subjects;
        }

        public List<Ad1Bean> getAd1() {
            return ad1;
        }

        public void setAd1(List<Ad1Bean> ad1) {
            this.ad1 = ad1;
        }

        public List<Ad5Bean> getAd5() {
            return ad5;
        }

        public void setAd5(List<Ad5Bean> ad5) {
            this.ad5 = ad5;
        }

        public List<Ad8Bean> getAd8() {
            return ad8;
        }

        public void setAd8(List<Ad8Bean> ad8) {
            this.ad8 = ad8;
        }

        public List<DefaultGoodsListBean> getDefaultGoodsList() {
            return defaultGoodsList;
        }

        public void setDefaultGoodsList(List<DefaultGoodsListBean> defaultGoodsList) {
            this.defaultGoodsList = defaultGoodsList;
        }

        public static class ActivityInfoBean {
            

            private String activityAreaDisplay;
            private List<ActivityInfoListBean> activityInfoList;

            public String getActivityAreaDisplay() {
                return activityAreaDisplay;
            }

            public void setActivityAreaDisplay(String activityAreaDisplay) {
                this.activityAreaDisplay = activityAreaDisplay;
            }

            public List<ActivityInfoListBean> getActivityInfoList() {
                return activityInfoList;
            }

            public void setActivityInfoList(List<ActivityInfoListBean> activityInfoList) {
                this.activityInfoList = activityInfoList;
            }

            public static class ActivityInfoListBean {
                /**
                 * id : 70
                 * activityImg : https://image.yunifang.com/yunifang/images/goods/temp/171026163486712924620472644.jpg
                 * activityType : 4
                 * activityData : 195
                 * activityDataDetail : 195
                 * startSeconds : -48065
                 * endSeconds : 38333
                 * activityStatus : 2
                 * activityAreaDisplay : 1
                 * countDownEnable : 1
                 * starttime : 2017.11.05 00:00:00
                 * endtime : 2017.11.05 23:59:59
                 * sort : 0
                 * remark : 快来帮我凑个团~
                 */

                private String id;
                private String activityImg;
                private String activityType;
                private String activityData;
                private String activityDataDetail;
                private String startSeconds;
                private String endSeconds;
                private String activityStatus;
                private String activityAreaDisplay;
                private String countDownEnable;
                private String starttime;
                private String endtime;
                private int sort;
                private String remark;

                public String getId() {
                    return id;
                }

                public void setId(String id) {
                    this.id = id;
                }

                public String getActivityImg() {
                    return activityImg;
                }

                public void setActivityImg(String activityImg) {
                    this.activityImg = activityImg;
                }

                public String getActivityType() {
                    return activityType;
                }

                public void setActivityType(String activityType) {
                    this.activityType = activityType;
                }

                public String getActivityData() {
                    return activityData;
                }

                public void setActivityData(String activityData) {
                    this.activityData = activityData;
                }

                public String getActivityDataDetail() {
                    return activityDataDetail;
                }

                public void setActivityDataDetail(String activityDataDetail) {
                    this.activityDataDetail = activityDataDetail;
                }

                public String getStartSeconds() {
                    return startSeconds;
                }

                public void setStartSeconds(String startSeconds) {
                    this.startSeconds = startSeconds;
                }

                public String getEndSeconds() {
                    return endSeconds;
                }

                public void setEndSeconds(String endSeconds) {
                    this.endSeconds = endSeconds;
                }

                public String getActivityStatus() {
                    return activityStatus;
                }

                public void setActivityStatus(String activityStatus) {
                    this.activityStatus = activityStatus;
                }

                public String getActivityAreaDisplay() {
                    return activityAreaDisplay;
                }

                public void setActivityAreaDisplay(String activityAreaDisplay) {
                    this.activityAreaDisplay = activityAreaDisplay;
                }

                public String getCountDownEnable() {
                    return countDownEnable;
                }

                public void setCountDownEnable(String countDownEnable) {
                    this.countDownEnable = countDownEnable;
                }

                public String getStarttime() {
                    return starttime;
                }

                public void setStarttime(String starttime) {
                    this.starttime = starttime;
                }

                public String getEndtime() {
                    return endtime;
                }

                public void setEndtime(String endtime) {
                    this.endtime = endtime;
                }

                public int getSort() {
                    return sort;
                }

                public void setSort(int sort) {
                    this.sort = sort;
                }

                public String getRemark() {
                    return remark;
                }

                public void setRemark(String remark) {
                    this.remark = remark;
                }
            }
        }

        public static class GoodsSpreeActivityBean {
         

            private String id;
            private String name;
            private String startDate;
            private String endDate;
            private String status;
            private String startSeconds;
            private String endSeconds;
            private String isChecked;
            private List<GoodsListBean> goodsList;

            public String getId() {
                return id;
            }

            public void setId(String id) {
                this.id = id;
            }

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }

            public String getStartDate() {
                return startDate;
            }

            public void setStartDate(String startDate) {
                this.startDate = startDate;
            }

            public String getEndDate() {
                return endDate;
            }

            public void setEndDate(String endDate) {
                this.endDate = endDate;
            }

            public String getStatus() {
                return status;
            }

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

            public String getStartSeconds() {
                return startSeconds;
            }

            public void setStartSeconds(String startSeconds) {
                this.startSeconds = startSeconds;
            }

            public String getEndSeconds() {
                return endSeconds;
            }

            public void setEndSeconds(String endSeconds) {
                this.endSeconds = endSeconds;
            }

            public String getIsChecked() {
                return isChecked;
            }

            public void setIsChecked(String isChecked) {
                this.isChecked = isChecked;
            }

            public List<GoodsListBean> getGoodsList() {
                return goodsList;
            }

            public void setGoodsList(List<GoodsListBean> goodsList) {
                this.goodsList = goodsList;
            }

            public static class GoodsListBean {
                /**
                 * id : 1168
                 * goodsSpreeId : 377
                 * goodsId : 420
                 * goodsName : 【非抢购时间为原价】 50元无门槛现金券(双11大促使用)
                 * goodsImg : https://image.yunifang.com/yunifang/images/goods/420/goods_img/17103109008211665617101917.jpg
                 * marketPrice : 50.0
                 * activityPrice : 30.0
                 * salesRatio : 0
                 * stockNumber : 128
                 * releaseNumber : 200
                 */

                private String id;
                private String goodsSpreeId;
                private String goodsId;
                private String goodsName;
                private String goodsImg;
                private double marketPrice;
                private double activityPrice;
                private int salesRatio;
                private int stockNumber;
                private int releaseNumber;

                public String getId() {
                    return id;
                }

                public void setId(String id) {
                    this.id = id;
                }

                public String getGoodsSpreeId() {
                    return goodsSpreeId;
                }

                public void setGoodsSpreeId(String goodsSpreeId) {
                    this.goodsSpreeId = goodsSpreeId;
                }

                public String getGoodsId() {
                    return goodsId;
                }

                public void setGoodsId(String goodsId) {
                    this.goodsId = goodsId;
                }

                public String getGoodsName() {
                    return goodsName;
                }

                public void setGoodsName(String goodsName) {
                    this.goodsName = goodsName;
                }

                public String getGoodsImg() {
                    return goodsImg;
                }

                public void setGoodsImg(String goodsImg) {
                    this.goodsImg = goodsImg;
                }

                public double getMarketPrice() {
                    return marketPrice;
                }

                public void setMarketPrice(double marketPrice) {
                    this.marketPrice = marketPrice;
                }

                public double getActivityPrice() {
                    return activityPrice;
                }

                public void setActivityPrice(double activityPrice) {
                    this.activityPrice = activityPrice;
                }

                public int getSalesRatio() {
                    return salesRatio;
                }

                public void setSalesRatio(int salesRatio) {
                    this.salesRatio = salesRatio;
                }

                public int getStockNumber() {
                    return stockNumber;
                }

                public void setStockNumber(int stockNumber) {
                    this.stockNumber = stockNumber;
                }

                public int getReleaseNumber() {
                    return releaseNumber;
                }

                public void setReleaseNumber(int releaseNumber) {
                    this.releaseNumber = releaseNumber;
                }
            }
        }

        public static class SubjectsBean {
           

            private String id;
            private String title;
            private String detail;
            private String image;
            private String start_time;
            private String end_time;
            private int show_number;
            private String state;
            private int sort;
            private String descImage;
            private String template;
            private String url;
            private String wapUrl;
            private List<GoodsListBeanX> goodsList;
            private List<String> goodsIdsList;
            private List<GoodsRelationListBean> goodsRelationList;

            public String getId() {
                return id;
            }

            public void setId(String id) {
                this.id = id;
            }

            public String getTitle() {
                return title;
            }

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

            public String getDetail() {
                return detail;
            }

            public void setDetail(String detail) {
                this.detail = detail;
            }

            public String getImage() {
                return image;
            }

            public void setImage(String image) {
                this.image = image;
            }

            public String getStart_time() {
                return start_time;
            }

            public void setStart_time(String start_time) {
                this.start_time = start_time;
            }

            public String getEnd_time() {
                return end_time;
            }

            public void setEnd_time(String end_time) {
                this.end_time = end_time;
            }

            public int getShow_number() {
                return show_number;
            }

            public void setShow_number(int show_number) {
                this.show_number = show_number;
            }

            public String getState() {
                return state;
            }

            public void setState(String state) {
                this.state = state;
            }

            public int getSort() {
                return sort;
            }

            public void setSort(int sort) {
                this.sort = sort;
            }

            public String getDescImage() {
                return descImage;
            }

            public void setDescImage(String descImage) {
                this.descImage = descImage;
            }

            public String getTemplate() {
                return template;
            }

            public void setTemplate(String template) {
                this.template = template;
            }

            public String getUrl() {
                return url;
            }

            public void setUrl(String url) {
                this.url = url;
            }

            public String getWapUrl() {
                return wapUrl;
            }

            public void setWapUrl(String wapUrl) {
                this.wapUrl = wapUrl;
            }

            public List<GoodsListBeanX> getGoodsList() {
                return goodsList;
            }

            public void setGoodsList(List<GoodsListBeanX> goodsList) {
                this.goodsList = goodsList;
            }

            public List<String> getGoodsIdsList() {
                return goodsIdsList;
            }

            public void setGoodsIdsList(List<String> goodsIdsList) {
                this.goodsIdsList = goodsIdsList;
            }

            public List<GoodsRelationListBean> getGoodsRelationList() {
                return goodsRelationList;
            }

            public void setGoodsRelationList(List<GoodsRelationListBean> goodsRelationList) {
                this.goodsRelationList = goodsRelationList;
            }

            public static class GoodsListBeanX {
                /**
                 * id : 772
                 * goods_name : 新品上市丨清润莹亮黑膜套装21片(抢半价限购1件)
                 * shop_price : 99.9
                 * market_price : 297.0
                 * goods_img : https://image.yunifang.com/yunifang/images/goods/772/goods_img/171016095389114258195255761.jpg
                 * reservable : false
                 * efficacy : 自然莹亮  水感瓷肌
                 * watermarkUrl : https://image.yunifang.com/yunifang/images/goods/temp/171101103366116206926527217.png
                 * stock_number : 0
                 * restrict_purchase_num : 0
                 * goodsName : 补水指数:★★★☆☆
                 * goodsImage : https://image.yunifang.com/yunifang/images/goods/temp/171031225838321046214304053.jpg
                 * description : 爆款升级,你的水润美时美刻,凝聚三种植物精粹,释放三重水润膜力~
                 */

                private String id;
                private String goods_name;
                private double shop_price;
                private double market_price;
                private String goods_img;
                private boolean reservable;
                private String efficacy;
                private String watermarkUrl;
                private int stock_number;
                private int restrict_purchase_num;
                private String goodsName;
                private String goodsImage;
                private String description;

                public String getId() {
                    return id;
                }

                public void setId(String id) {
                    this.id = id;
                }

                public String getGoods_name() {
                    return goods_name;
                }

                public void setGoods_name(String goods_name) {
                    this.goods_name = goods_name;
                }

                public double getShop_price() {
                    return shop_price;
                }

                public void setShop_price(double shop_price) {
                    this.shop_price = shop_price;
                }

                public double getMarket_price() {
                    return market_price;
                }

                public void setMarket_price(double market_price) {
                    this.market_price = market_price;
                }

                public String getGoods_img() {
                    return goods_img;
                }

                public void setGoods_img(String goods_img) {
                    this.goods_img = goods_img;
                }

                public boolean isReservable() {
                    return reservable;
                }

                public void setReservable(boolean reservable) {
                    this.reservable = reservable;
                }

                public String getEfficacy() {
                    return efficacy;
                }

                public void setEfficacy(String efficacy) {
                    this.efficacy = efficacy;
                }

                public String getWatermarkUrl() {
                    return watermarkUrl;
                }

                public void setWatermarkUrl(String watermarkUrl) {
                    this.watermarkUrl = watermarkUrl;
                }

                public int getStock_number() {
                    return stock_number;
                }

                public void setStock_number(int stock_number) {
                    this.stock_number = stock_number;
                }

                public int getRestrict_purchase_num() {
                    return restrict_purchase_num;
                }

                public void setRestrict_purchase_num(int restrict_purchase_num) {
                    this.restrict_purchase_num = restrict_purchase_num;
                }

                public String getGoodsName() {
                    return goodsName;
                }

                public void setGoodsName(String goodsName) {
                    this.goodsName = goodsName;
                }

                public String getGoodsImage() {
                    return goodsImage;
                }

                public void setGoodsImage(String goodsImage) {
                    this.goodsImage = goodsImage;
                }

                public String getDescription() {
                    return description;
                }

                public void setDescription(String description) {
                    this.description = description;
                }
            }

            public static class GoodsRelationListBean {
                /**
                 * id : 15171
                 * subject_id : 80
                 * goods_id : 772
                 * goodsName : 补水指数:★★★☆☆
                 * goodsImage : https://image.yunifang.com/yunifang/images/goods/temp/171031225838321046214304053.jpg
                 * description : 爆款升级,你的水润美时美刻,凝聚三种植物精粹,释放三重水润膜力~
                 */

                private String id;
                private String subject_id;
                private String goods_id;
                private String goodsName;
                private String goodsImage;
                private String description;

                public String getId() {
                    return id;
                }

                public void setId(String id) {
                    this.id = id;
                }

                public String getSubject_id() {
                    return subject_id;
                }

                public void setSubject_id(String subject_id) {
                    this.subject_id = subject_id;
                }

                public String getGoods_id() {
                    return goods_id;
                }

                public void setGoods_id(String goods_id) {
                    this.goods_id = goods_id;
                }

                public String getGoodsName() {
                    return goodsName;
                }

                public void setGoodsName(String goodsName) {
                    this.goodsName = goodsName;
                }

                public String getGoodsImage() {
                    return goodsImage;
                }

                public void setGoodsImage(String goodsImage) {
                    this.goodsImage = goodsImage;
                }

                public String getDescription() {
                    return description;
                }

                public void setDescription(String description) {
                    this.description = description;
                }
            }
        }

        public static class Ad1Bean {
            /**
             * id : 1198
             * createtime : 2017.10.31 19:39:08
             * lastupdatetime : 2017.11.03 15:57:02
             * image : https://image.yunifang.com/yunifang/images/goods/ad0/17103119386549764837048407.jpg
             * ad_type : 0
             * sort : 1469
             * position : 0
             * enabled : 1
             * createuser : hani
             * lastupdateuser : xicheng
             * ad_type_dynamic : 1
             * ad_type_dynamic_data : http://m.yunifang.com/yunifang/web/h/11_presales113.html
             * ad_type_dynamic_detail : http%3A%2F%2Fm.yunifang.com%2Fyunifang%2Fweb%2Fh%2F11_presales113.html
             * show_channel : 1,2
             * title : 双11预热-app
             * channelType : 1
             */

            private String id;
            private String createtime;
            private String lastupdatetime;
            private String image;
            private int ad_type;
            private int sort;
            private int position;
            private int enabled;
            private String createuser;
            private String lastupdateuser;
            private String ad_type_dynamic;
            private String ad_type_dynamic_data;
            private String ad_type_dynamic_detail;
            private String show_channel;
            private String title;
            private String channelType;

            public String getId() {
                return id;
            }

            public void setId(String id) {
                this.id = id;
            }

            public String getCreatetime() {
                return createtime;
            }

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

            public String getLastupdatetime() {
                return lastupdatetime;
            }

            public void setLastupdatetime(String lastupdatetime) {
                this.lastupdatetime = lastupdatetime;
            }

            public String getImage() {
                return image;
            }

            public void setImage(String image) {
                this.image = image;
            }

            public int getAd_type() {
                return ad_type;
            }

            public void setAd_type(int ad_type) {
                this.ad_type = ad_type;
            }

            public int getSort() {
                return sort;
            }

            public void setSort(int sort) {
                this.sort = sort;
            }

            public int getPosition() {
                return position;
            }

            public void setPosition(int position) {
                this.position = position;
            }

            public int getEnabled() {
                return enabled;
            }

            public void setEnabled(int enabled) {
                this.enabled = enabled;
            }

            public String getCreateuser() {
                return createuser;
            }

            public void setCreateuser(String createuser) {
                this.createuser = createuser;
            }

            public String getLastupdateuser() {
                return lastupdateuser;
            }

            public void setLastupdateuser(String lastupdateuser) {
                this.lastupdateuser = lastupdateuser;
            }

            public String getAd_type_dynamic() {
                return ad_type_dynamic;
            }

            public void setAd_type_dynamic(String ad_type_dynamic) {
                this.ad_type_dynamic = ad_type_dynamic;
            }

            public String getAd_type_dynamic_data() {
                return ad_type_dynamic_data;
            }

            public void setAd_type_dynamic_data(String ad_type_dynamic_data) {
                this.ad_type_dynamic_data = ad_type_dynamic_data;
            }

            public String getAd_type_dynamic_detail() {
                return ad_type_dynamic_detail;
            }

            public void setAd_type_dynamic_detail(String ad_type_dynamic_detail) {
                this.ad_type_dynamic_detail = ad_type_dynamic_detail;
            }

            public String getShow_channel() {
                return show_channel;
            }

            public void setShow_channel(String show_channel) {
                this.show_channel = show_channel;
            }

            public String getTitle() {
                return title;
            }

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

            public String getChannelType() {
                return channelType;
            }

            public void setChannelType(String channelType) {
                this.channelType = channelType;
            }
        }

        public static class Ad5Bean {
            /**
             * id : 1079
             * image : https://image.yunifang.com/yunifang/images/goods/ad0/171031200440520018517243411.png
             * ad_type : 0
             * sort : 310
             * position : 5
             * enabled : 0
             * ad_type_dynamic : 1
             * ad_type_dynamic_data : http://h.yunifang.com/sign/sign.html?login_check=2
             * ad_type_dynamic_detail : http%3A%2F%2Fh.yunifang.com%2Fsign%2Fsign.html%3Flogin_check%3D2
             * show_channel : 1,2
             * title : 每日签到
             */

            private String id;
            private String image;
            private int ad_type;
            private int sort;
            private int position;
            private int enabled;
            private String ad_type_dynamic;
            private String ad_type_dynamic_data;
            private String ad_type_dynamic_detail;
            private String show_channel;
            private String title;

            public String getId() {
                return id;
            }

            public void setId(String id) {
                this.id = id;
            }

            public String getImage() {
                return image;
            }

            public void setImage(String image) {
                this.image = image;
            }

            public int getAd_type() {
                return ad_type;
            }

            public void setAd_type(int ad_type) {
                this.ad_type = ad_type;
            }

            public int getSort() {
                return sort;
            }

            public void setSort(int sort) {
                this.sort = sort;
            }

            public int getPosition() {
                return position;
            }

            public void setPosition(int position) {
                this.position = position;
            }

            public int getEnabled() {
                return enabled;
            }

            public void setEnabled(int enabled) {
                this.enabled = enabled;
            }

            public String getAd_type_dynamic() {
                return ad_type_dynamic;
            }

            public void setAd_type_dynamic(String ad_type_dynamic) {
                this.ad_type_dynamic = ad_type_dynamic;
            }

            public String getAd_type_dynamic_data() {
                return ad_type_dynamic_data;
            }

            public void setAd_type_dynamic_data(String ad_type_dynamic_data) {
                this.ad_type_dynamic_data = ad_type_dynamic_data;
            }

            public String getAd_type_dynamic_detail() {
                return ad_type_dynamic_detail;
            }

            public void setAd_type_dynamic_detail(String ad_type_dynamic_detail) {
                this.ad_type_dynamic_detail = ad_type_dynamic_detail;
            }

            public String getShow_channel() {
                return show_channel;
            }

            public void setShow_channel(String show_channel) {
                this.show_channel = show_channel;
            }

            public String getTitle() {
                return title;
            }

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

        public static class Ad8Bean {
           

            private String id;
            private String image;
            private int ad_type;
            private int sort;
            private int position;
            private int enabled;
            private String ad_type_dynamic;
            private String ad_type_dynamic_data;
            private String ad_type_dynamic_detail;
            private String show_channel;
            private GoodsBean goods;
            private String description;
            private String title;

            public String getId() {
                return id;
            }

            public void setId(String id) {
                this.id = id;
            }

            public String getImage() {
                return image;
            }

            public void setImage(String image) {
                this.image = image;
            }

            public int getAd_type() {
                return ad_type;
            }

            public void setAd_type(int ad_type) {
                this.ad_type = ad_type;
            }

            public int getSort() {
                return sort;
            }

            public void setSort(int sort) {
                this.sort = sort;
            }

            public int getPosition() {
                return position;
            }

            public void setPosition(int position) {
                this.position = position;
            }

            public int getEnabled() {
                return enabled;
            }

            public void setEnabled(int enabled) {
                this.enabled = enabled;
            }

            public String getAd_type_dynamic() {
                return ad_type_dynamic;
            }

            public void setAd_type_dynamic(String ad_type_dynamic) {
                this.ad_type_dynamic = ad_type_dynamic;
            }

            public String getAd_type_dynamic_data() {
                return ad_type_dynamic_data;
            }

            public void setAd_type_dynamic_data(String ad_type_dynamic_data) {
                this.ad_type_dynamic_data = ad_type_dynamic_data;
            }

            public String getAd_type_dynamic_detail() {
                return ad_type_dynamic_detail;
            }

            public void setAd_type_dynamic_detail(String ad_type_dynamic_detail) {
                this.ad_type_dynamic_detail = ad_type_dynamic_detail;
            }

            public String getShow_channel() {
                return show_channel;
            }

            public void setShow_channel(String show_channel) {
                this.show_channel = show_channel;
            }

            public GoodsBean getGoods() {
                return goods;
            }

            public void setGoods(GoodsBean goods) {
                this.goods = goods;
            }

            public String getDescription() {
                return description;
            }

            public void setDescription(String description) {
                this.description = description;
            }

            public String getTitle() {
                return title;
            }

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

            public static class GoodsBean {
                /**
                 * collect_count : 0
                 * reservable : false
                 * restriction : 0
                 * restrict_purchase_num : 0
                 * is_coupon_allowed : false
                 * allocated_stock : 0
                 * is_gift : 0
                 */

                private int collect_count;
                private boolean reservable;
                private int restriction;
                private int restrict_purchase_num;
                private boolean is_coupon_allowed;
                private int allocated_stock;
                private int is_gift;

                public int getCollect_count() {
                    return collect_count;
                }

                public void setCollect_count(int collect_count) {
                    this.collect_count = collect_count;
                }

                public boolean isReservable() {
                    return reservable;
                }

                public void setReservable(boolean reservable) {
                    this.reservable = reservable;
                }

                public int getRestriction() {
                    return restriction;
                }

                public void setRestriction(int restriction) {
                    this.restriction = restriction;
                }

                public int getRestrict_purchase_num() {
                    return restrict_purchase_num;
                }

                public void setRestrict_purchase_num(int restrict_purchase_num) {
                    this.restrict_purchase_num = restrict_purchase_num;
                }

                public boolean isIs_coupon_allowed() {
                    return is_coupon_allowed;
                }

                public void setIs_coupon_allowed(boolean is_coupon_allowed) {
                    this.is_coupon_allowed = is_coupon_allowed;
                }

                public int getAllocated_stock() {
                    return allocated_stock;
                }

                public void setAllocated_stock(int allocated_stock) {
                    this.allocated_stock = allocated_stock;
                }

                public int getIs_gift() {
                    return is_gift;
                }

                public void setIs_gift(int is_gift) {
                    this.is_gift = is_gift;
                }
            }
        }

        public static class DefaultGoodsListBean {
            /**
             * id : 121
             * goods_name : 镇店之宝丨美白嫩肤面膜7片
             * shop_price : 49.9
             * market_price : 99.0
             * goods_img : https://image.yunifang.com/yunifang/images/goods/121/goods_img/17062610568378169043195978.jpg
             * reservable : false
             * efficacy : 镇店之宝 美白爆款
             * watermarkUrl : https://image.yunifang.com/yunifang/images/goods/temp/171101103366116206926527217.png
             * stock_number : 0
             * restrict_purchase_num : 0
             */

            private String id;
            private String goods_name;
            private double shop_price;
            private double market_price;
            private String goods_img;
            private boolean reservable;
            private String efficacy;
            private String watermarkUrl;
            private int stock_number;
            private int restrict_purchase_num;

            public String getId() {
                return id;
            }

            public void setId(String id) {
                this.id = id;
            }

            public String getGoods_name() {
                return goods_name;
            }

            public void setGoods_name(String goods_name) {
                this.goods_name = goods_name;
            }

            public double getShop_price() {
                return shop_price;
            }

            public void setShop_price(double shop_price) {
                this.shop_price = shop_price;
            }

            public double getMarket_price() {
                return market_price;
            }

            public void setMarket_price(double market_price) {
                this.market_price = market_price;
            }

            public String getGoods_img() {
                return goods_img;
            }

            public void setGoods_img(String goods_img) {
                this.goods_img = goods_img;
            }

            public boolean isReservable() {
                return reservable;
            }

            public void setReservable(boolean reservable) {
                this.reservable = reservable;
            }

            public String getEfficacy() {
                return efficacy;
            }

            public void setEfficacy(String efficacy) {
                this.efficacy = efficacy;
            }

            public String getWatermarkUrl() {
                return watermarkUrl;
            }

            public void setWatermarkUrl(String watermarkUrl) {
                this.watermarkUrl = watermarkUrl;
            }

            public int getStock_number() {
                return stock_number;
            }

            public void setStock_number(int stock_number) {
                this.stock_number = stock_number;
            }

            public int getRestrict_purchase_num() {
                return restrict_purchase_num;
            }

            public void setRestrict_purchase_num(int restrict_purchase_num) {
                this.restrict_purchase_num = restrict_purchase_num;
            }
        }
    }
}












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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值