package com.xxrv.invoice.bean;

import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.google.gson.annotations.SerializedName;
import com.ruiwenliu.wrapper.base.BaseBean;

import java.io.Serializable;
import java.util.List;

/**
 * 订单租车
 */

public class OrderInvoicingCarBean extends BaseBean {

    private DataBeanX data;
    private int code;

    public DataBeanX getData() {
        return data;
    }

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

    public int getCode() {
        return code;
    }

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

    public static class DataBeanX {

        private int totalCount;
        private int totalPage;
        private int pageNum;
        private List<DataBean> data;

        public int getTotalCount() {
            return totalCount;
        }

        public void setTotalCount(int totalCount) {
            this.totalCount = totalCount;
        }

        public int getTotalPage() {
            return totalPage;
        }

        public void setTotalPage(int totalPage) {
            this.totalPage = totalPage;
        }

        public int getPageNum() {
            return pageNum;
        }

        public void setPageNum(int pageNum) {
            this.pageNum = pageNum;
        }

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

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

        public static class DataBean implements Serializable {
            public int selectType;//是否选中

            public int getSelectType() {
                return selectType;
            }

            public void setSelectType(int selectType) {
                this.selectType = selectType;
            }


            /**
             * no : 4a0c200a-c4f0-4c37-8cdc-d2ee5cc08c20
             * type : 1  订单类型 1–租车；2–旅游 3-会员
             * status : 3
             * goodsAmount : 71200.02
             * orderAmount : 91200.02
             * userId : 14
             * picture : https://xxfcim.upyuns.com/image/u/2/10000002/201905/o/adb766b69c0140018a3aaaa08b37d41d.jpg
             * crtTime : 2019-05-30 15:45:29
             * crtUser : 14
             * crtName : 18655555559
             * crtHost : 192.168.56.1
             * updTime : 2019-05-30 15:45:29
             * updUser : 14
             * updName : 18655555559
             * updHost : 192.168.56.1
             * detail : {"start_city_name":"东莞市","end_addr":"廊坊分公司","driver_type":1,"end_time":1559318400000,"day_num":2,"end_company_id":0,"cost_detail":"{\"key\":\"费用明细\",\"val\":\"\",\"children\":[{\"key\":\"车辆租赁费\",\"val\":\"￥70000.02\",\"children\":[{\"key\":\"大通自行式C型房车（旅居版）车型1\",\"val\":\"￥35000.01/天\"},{\"key\":\"租用天数\",\"val\":\"2天\"},{\"key\":\"房车数量\",\"val\":\"1辆\"}]},{\"key\":\"服务费（司机）\",\"val\":\"￥1200.00\",\"children\":[{\"key\":\"欣新司机\",\"val\":\"￥600.00/天\"},{\"key\":\"司机数量\",\"val\":\"{driverNum}个\"},{\"key\":\"房车数量\",\"val\":\"2天\"}]},{\"key\":\"用车押金\",\"val\":\"￥20000.00\"}]}","model_id":2,"end_city_name":"东莞市","s_userid":0,"start_time":1559145600000,"start_company_id":2,"score":0,"s_time":0,"deposit":20000,"crt_time":1559202328592,"upd_time":1559202328592,"id":35,"start_city":441900,"start_addr":"廊坊分公司","order_id":46,"end_city":0}
             * detailId : 37
             */

            private String no;
            private int id;
            private int type;
            @SerializedName("status")
            private int statusX;
            private double goodsAmount;
            private double orderAmount;
            private double realAmount;
            private int userId;
            private String picture;
            private String crtTime;
            private String crtUser;
            private String crtName;
            private String crtHost;
            private String updTime;
            private String updUser;
            private String updName;
            private String updHost;
            private String qrcodeStr;
            private OrderRentVehicleDetail orderRentVehicleDetail;
            private OrderTourDetail orderTourDetail;
            private OrderMemberDetail orderMemberDetail;
            private int detailId;
            private String name;
            private String coverPic;

            public String getCoverPic() {
                return coverPic;
            }

            public void setCoverPic(String coverPic) {
                this.coverPic = coverPic;
            }

            public String getQrcodeStr() {
                return qrcodeStr;
            }

            public void setQrcodeStr(String qrcodeStr) {
                this.qrcodeStr = qrcodeStr;
            }

            public double getRealAmount() {
                return realAmount;
            }

            public void setRealAmount(double realAmount) {
                this.realAmount = realAmount;
            }

            public int getId() {
                return id;
            }

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

            public String getName() {
                return name;
            }

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

            public String getNo() {
                return no;
            }

            public void setNo(String no) {
                this.no = no;
            }

            public int getType() {
                return type;
            }

            public void setType(int type) {
                this.type = type;
            }

            public int getStatusX() {
                return statusX;
            }

            public void setStatusX(int statusX) {
                this.statusX = statusX;
            }

            public double getGoodsAmount() {
                return goodsAmount;
            }

            public void setGoodsAmount(double goodsAmount) {
                this.goodsAmount = goodsAmount;
            }

            public double getOrderAmount() {
                return orderAmount;
            }

            public void setOrderAmount(double orderAmount) {
                this.orderAmount = orderAmount;
            }

            public int getUserId() {
                return userId;
            }

            public void setUserId(int userId) {
                this.userId = userId;
            }

            public String getPicture() {
                return picture;
            }

            public String getIcon() {
                String icon = "";
                if (!TextUtil.isEmpty(picture)) {
                    String[] icons = picture.split(",");
                    if (icons != null && icons.length > 0) {
                        icon = icons[0];
                    } else {
                        icon = picture;
                    }
                }

                return icon;
            }

            public void setPicture(String picture) {
                this.picture = picture;
            }

            public String getCrtTime() {
                return crtTime;
            }

            public void setCrtTime(String crtTime) {
                this.crtTime = crtTime;
            }

            public String getCrtUser() {
                return crtUser;
            }

            public void setCrtUser(String crtUser) {
                this.crtUser = crtUser;
            }

            public String getCrtName() {
                return crtName;
            }

            public void setCrtName(String crtName) {
                this.crtName = crtName;
            }

            public String getCrtHost() {
                return crtHost;
            }

            public void setCrtHost(String crtHost) {
                this.crtHost = crtHost;
            }

            public String getUpdTime() {
                return updTime;
            }

            public void setUpdTime(String updTime) {
                this.updTime = updTime;
            }

            public String getUpdUser() {
                return updUser;
            }

            public void setUpdUser(String updUser) {
                this.updUser = updUser;
            }

            public String getUpdName() {
                return updName;
            }

            public void setUpdName(String updName) {
                this.updName = updName;
            }

            public String getUpdHost() {
                return updHost;
            }

            public void setUpdHost(String updHost) {
                this.updHost = updHost;
            }

            public OrderRentVehicleDetail getOrderRentVehicleDetail() {
                return orderRentVehicleDetail;
            }

            public void setOrderRentVehicleDetail(OrderRentVehicleDetail detail) {
                this.orderRentVehicleDetail = orderRentVehicleDetail;
            }

            public OrderTourDetail getOrderTourDetail() {
                return orderTourDetail;
            }

            public void setOrderTourDetail(OrderTourDetail orderTourDetail) {
                this.orderTourDetail = orderTourDetail;
            }

            public int getDetailId() {
                return detailId;
            }

            public void setDetailId(int detailId) {
                this.detailId = detailId;
            }

            public OrderMemberDetail getOrderMemberDetail() {
                return orderMemberDetail;
            }

            public void setOrderMemberDetail(OrderMemberDetail orderMemberDetail) {
                this.orderMemberDetail = orderMemberDetail;
            }


            public static class OrderRentVehicleDetail implements Serializable {
                /**
                 * start_city_name : 东莞市
                 * end_addr : 廊坊分公司
                 * driver_type : 1
                 * end_time : 1559318400000
                 * day_num : 2
                 * end_company_id : 0
                 * cost_detail : {"key":"费用明细","val":"","children":[{"key":"车辆租赁费","val":"￥70000.02","children":[{"key":"大通自行式C型房车（旅居版）车型1","val":"￥35000.01/天"},{"key":"租用天数","val":"2天"},{"key":"房车数量","val":"1辆"}]},{"key":"服务费（司机）","val":"￥1200.00","children":[{"key":"欣新司机","val":"￥600.00/天"},{"key":"司机数量","val":"{driverNum}个"},{"key":"房车数量","val":"2天"}]},{"key":"用车押金","val":"￥20000.00"}]}
                 * model_id : 2
                 * end_city_name : 东莞市
                 * s_userid : 0
                 * start_time : 1559145600000
                 * start_company_id : 2
                 * score : 0
                 * s_time : 0
                 * deposit : 20000.0
                 * crt_time : 1559202328592
                 * upd_time : 1559202328592
                 * id : 35
                 * start_city : 441900
                 * start_addr : 廊坊分公司
                 * order_id : 46
                 * end_city : 0
                 */

                private String startCityName;
                private String endAddr;
                private int driverType;
                private long endTime;
                private int dayNum;
                private int endCompanyId;
                private String costDetail;
                private int modelId;
                private String endCityName;
                private int sUserid;
                private long startTime;
                private int startCompanyId;
                private int score;
                private int sTime;
                private double deposit;
                private long crtTime;
                private long updTime;
                private int id;
                private int startCity;
                private String startAddr;
                private int orderId;
                private int endCity;
                private int freeDays;
                private double rebate;
                private long delayAddEndTime;

                public int getFreeDays() {
                    return freeDays;
                }

                public void setFreeDays(int freeDays) {
                    this.freeDays = freeDays;
                }

                public double getRebate() {
                    return rebate;
                }

                public void setRebate(double rebate) {
                    this.rebate = rebate;
                }

                public String getStart_city_name() {
                    return startCityName;
                }

                public void setStart_city_name(String start_city_name) {
                    this.startCityName = start_city_name;
                }

                public String getEnd_addr() {
                    return endAddr;
                }

                public void setEnd_addr(String end_addr) {
                    this.endAddr = end_addr;
                }

                public int getDriver_type() {
                    return driverType;
                }

                public void setDriver_type(int driver_type) {
                    this.driverType = driver_type;
                }

                public long getEnd_time() {
                    return endTime;
                }

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

                public int getDay_num() {
                    return dayNum;
                }

                public void setDay_num(int day_num) {
                    this.dayNum = day_num;
                }

                public int getEnd_company_id() {
                    return endCompanyId;
                }

                public void setEnd_company_id(int end_company_id) {
                    this.endCompanyId = end_company_id;
                }

                public String getCost_detail() {
                    return costDetail;
                }

                public void setCost_detail(String cost_detail) {
                    this.costDetail = cost_detail;
                }

                public int getModel_id() {
                    return modelId;
                }

                public void setModel_id(int model_id) {
                    this.modelId = model_id;
                }

                public String getEnd_city_name() {
                    return endCityName;
                }

                public void setEnd_city_name(String end_city_name) {
                    this.endCityName = end_city_name;
                }

                public int getS_userid() {
                    return sUserid;
                }

                public void setS_userid(int s_userid) {
                    this.sUserid = s_userid;
                }

                public long getStart_time() {
                    return startTime;
                }

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

                public int getStart_company_id() {
                    return startCompanyId;
                }

                public void setStart_company_id(int start_company_id) {
                    this.startCompanyId = start_company_id;
                }

                public int getScore() {
                    return score;
                }

                public void setScore(int score) {
                    this.score = score;
                }

                public int getS_time() {
                    return sTime;
                }

                public void setS_time(int s_time) {
                    this.sTime = s_time;
                }

                public double getDeposit() {
                    return deposit;
                }

                public void setDeposit(double deposit) {
                    this.deposit = deposit;
                }

                public long getCrt_time() {
                    return crtTime;
                }

                public void setCrt_time(long crt_time) {
                    this.crtTime = crt_time;
                }

                public long getUpd_time() {
                    return updTime;
                }

                public void setUpd_time(long upd_time) {
                    this.updTime = upd_time;
                }

                public int getId() {
                    return id;
                }

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

                public int getStart_city() {
                    return startCity;
                }

                public void setStart_city(int start_city) {
                    this.startCity = start_city;
                }

                public String getStart_addr() {
                    return startAddr;
                }

                public void setStart_addr(String start_addr) {
                    this.startAddr = start_addr;
                }

                public int getOrder_id() {
                    return orderId;
                }

                public void setOrder_id(int order_id) {
                    this.orderId = order_id;
                }

                public int getEnd_city() {
                    return endCity;
                }

                public void setEnd_city(int end_city) {
                    this.endCity = end_city;
                }


                public long getDelayAddEndTime() {
                    return delayAddEndTime;
                }

                public void setDelayAddEndTime(long delayAddEndTime) {
                    this.delayAddEndTime = delayAddEndTime;
                }
            }

            public static class OrderTourDetail implements Serializable {
                /**
                 * contactEmail	string
                 * 联系邮箱
                 * <p>
                 * contactMan	string
                 * 联系人
                 * <p>
                 * contactPhone	string
                 * 联系电话
                 * <p>
                 * costDetail	string
                 * 费用明细
                 * <p>
                 * dayNum	integer($int32)
                 * 天数
                 * <p>
                 * endAddr	string
                 * 还车地点
                 * <p>
                 * endTime	integer($int64)
                 * 结束时间
                 * <p>
                 * goodId	integer($int32)
                 * 商品id
                 * <p>
                 * id	integer($int32)
                 * 主键
                 * <p>
                 * name	string
                 * 名称
                 * <p>
                 * orderId	integer($int32)
                 * 基础订单id
                 * <p>
                 * speIds	string
                 * 规格ids
                 * <p>
                 * spePriceId	integer($int32)
                 * 具体商品（商品项）id
                 * <p>
                 * startAddr	string
                 * 出发地点
                 * <p>
                 * startCompanyId	integer($int32)
                 * 出发公司Id
                 * <p>
                 * startTime	integer($int64)
                 * 开始时间
                 * <p>
                 * tourUserIds	string
                 * 出游乘客ids
                 */

                private String id;
                private String orderId;
                private String crtTime;//": 1560163254063,
                private String updTime;//": 1560163254063,
                private long startTime;//": 1560152144000,
                private long endTime;//": 1560324944000,
                private String startAddr;//": "东土",
                private String endAddr;//": "西天3",
                private String tourUserIds;//": "4,5",
                private String startCompanyId;//": 2,
                private String costDetail;
                private String goodId;//": 37,
                private String speIds;//": "string",
                private String spePriceId;//": 109,
                private String contactMan;//": "周2",
                private String contactPhone;//": "13712398220",
                private String contactEmail;//":
                private int startCity;
                private String startCityName;
                private int totalNumber;


                public String getId() {
                    return id;
                }

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

                public String getOrderId() {
                    return orderId;
                }

                public void setOrderId(String orderId) {
                    this.orderId = orderId;
                }

                public String getCrtTime() {
                    return crtTime;
                }

                public void setCrtTime(String crtTime) {
                    this.crtTime = crtTime;
                }

                public String getUpdTime() {
                    return updTime;
                }

                public void setUpdTime(String updTime) {
                    this.updTime = updTime;
                }

                public long getStartTime() {
                    return startTime;
                }

                public void setStartTime(long startTime) {
                    this.startTime = startTime;
                }

                public long getEndTime() {
                    return endTime;
                }

                public void setEndTime(long endTime) {
                    this.endTime = endTime;
                }

                public String getStartAddr() {
                    return startAddr;
                }

                public void setStartAddr(String startAddr) {
                    this.startAddr = startAddr;
                }

                public String getEndAddr() {
                    return endAddr;
                }

                public void setEndAddr(String endAddr) {
                    this.endAddr = endAddr;
                }

                public String getTourUserIds() {
                    return tourUserIds;
                }

                public void setTourUserIds(String tourUserIds) {
                    this.tourUserIds = tourUserIds;
                }

                public String getStartCompanyId() {
                    return startCompanyId;
                }

                public void setStartCompanyId(String startCompanyId) {
                    this.startCompanyId = startCompanyId;
                }

                public String getCostDetail() {
                    return costDetail;
                }

                public void setCostDetail(String costDetail) {
                    this.costDetail = costDetail;
                }

                public String getGoodId() {
                    return goodId;
                }

                public void setGoodId(String goodId) {
                    this.goodId = goodId;
                }

                public String getSpeIds() {
                    return speIds;
                }

                public void setSpeIds(String speIds) {
                    this.speIds = speIds;
                }

                public String getSpePriceId() {
                    return spePriceId;
                }

                public void setSpePriceId(String spePriceId) {
                    this.spePriceId = spePriceId;
                }

                public String getContactMan() {
                    return contactMan;
                }

                public void setContactMan(String contactMan) {
                    this.contactMan = contactMan;
                }

                public String getContactPhone() {
                    return contactPhone;
                }

                public void setContactPhone(String contactPhone) {
                    this.contactPhone = contactPhone;
                }

                public String getContactEmail() {
                    return contactEmail;
                }

                public void setContactEmail(String contactEmail) {
                    this.contactEmail = contactEmail;
                }

                public int getStartCity() {
                    return startCity;
                }

                public void setStartCity(int startCity) {
                    this.startCity = startCity;
                }

                public String getStartCityName() {
                    return startCityName;
                }

                public void setStartCityName(String startCityName) {
                    this.startCityName = startCityName;
                }

                public int getTotalNumber() {
                    return totalNumber;
                }

                public void setTotalNumber(int totalNumber) {
                    this.totalNumber = totalNumber;
                }
            }


            public static class OrderMemberDetail implements Serializable {
                private String id;//主键
                private String memberLevel;//会员等级
                private String memberLevelId;//会员等级id
                private String name;//
                private String orderId;//
                private int rebate;//
                private String rentFreeNum;//

                public String getId() {
                    return id;
                }

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

                public String getMemberLevel() {
                    return memberLevel;
                }

                public void setMemberLevel(String memberLevel) {
                    this.memberLevel = memberLevel;
                }

                public String getMemberLevelId() {
                    return memberLevelId;
                }

                public void setMemberLevelId(String memberLevelId) {
                    this.memberLevelId = memberLevelId;
                }

                public String getName() {
                    return name;
                }

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

                public String getOrderId() {
                    return orderId;
                }

                public void setOrderId(String orderId) {
                    this.orderId = orderId;
                }

                public int getRebate() {
                    return rebate;
                }

                public void setRebate(int rebate) {
                    this.rebate = rebate;
                }

                public String getRentFreeNum() {
                    return rentFreeNum;
                }

                public void setRentFreeNum(String rentFreeNum) {
                    this.rentFreeNum = rentFreeNum;
                }

                public String getContent() {
                    int discount = rebate / 10;
                    return "永久" + discount + "折租车，免费用车" + rentFreeNum + "天";
                }
            }
        }
    }
}
