package com.igo.user.network.entity import android.content.Context import android.os.Parcelable import com.igo.user.R import kotlinx.android.parcel.Parcelize @Parcelize data class Order( val differenceMoney: Double = 0.0, val serverCarModel: String = "", val cancelReason: String = "", val cancelRemark: String = "", val cancelUserType: Int = 0, val timeOutCancel: Long = 0, val driverTimeOut: String= "", val driverTimeOutTime: Int = 0, val snatchOrderTime: String = "", val endAddress: String = "", val tripId: String = "", val insertTime: String = "", val arriveTime: String = "", val receipt: String = "", val invoice: Int = 0, //开票状态(1=未开票,2=已开票) val num: Int = 0, val driverId: Int = 0, val orderId: Int = 0, val orderName: String = "", val orderTime: String = "", val travelTime: String = "", val travelTime1: String = "", val driverPhone: String = "", val driverName: String = "", val brand: String = "", val driverAvatar: String = "", val licensePlate: String = "", val evaluate: String = "", val carColor: String = "", val orderType: Int = 0, val orderNum: Int = 0, val cancelId: Int = 0, val device: Int = 0, val score: Double = 0.0, val orderScore: Int = 0, val cancelMidway: Int = 0, val tipMoney: Double = 0.0, val payMoney: Double = 0.0, val endLat: Double = 0.0, val endLon: Double = 0.0, val startLat: Double = 0.0, val startLon: Double = 0.0, val cancelPayMoney: Double = 0.0, val cancelMoney: Double = 0.0, val orderMoney: Double = 0.0, val startAddress: String = "", val cargoType: String = "", val remark: String = "", val lineShiftTime: String = "", val startCity: String = "", val endCity: String = "", var state: Int = 0, //订单状态(1=待接单,2=待出发,3=待到达预约地点,4=待乘客上车,5=服务中,6=完成服务,7=待支付,8=待评价,9=已完成,10=已取消,11=改派中,12=取消待支付)加个15作为改派成功 val time: String = "", val travelMoney: Double = 0.0, val roadTollMoney: Double = 0.0, val parkMoney: Double = 0.0, val discountMoney: Double = 0.0, val discount:Double = 0.0, val priceDifference: Double = 0.0,//补差价金额 val couponMoney: Double = 0.0, val redPacketMoney: Double = 0.0, val startMoney: Double = 0.0, val startMileage: Double = 0.0, val duration: Int = 0, val startDuration: Int = 0, val carTime: Int = 0, val isDispute: Int = 0, val durationMoney: Double = 0.0, val mileage: Double = 0.0, val mileageMoney: Double = 0.0, val longDistance: Double = 0.0, val longDistanceMoney: Double = 0.0, val waitMoney: Double = 0.0, val wait: Int = 0, val peopleNumber: Int = 0, val moneyType: Int = 0, val isFrozen: Int = 0, //是否冻结(1=否,2=是,3=冻结已处理) val seatNumber: String = "", val moneyTime: String = "", val isFree: String = "" //是否首单免费 1否2是 ) : Parcelable { fun getStateStr() = when(state){ 1->R.string.等待应答 2,3->R.string.等待接驾 4->R.string.等待上车 5->R.string.服务中 6->R.string.行程结束 7->R.string.待支付 8->R.string.待评价 9->{ if (cancelMidway == 1) R.string.中途取消已完成 else R.string.已完成 } 10->R.string.已取消 11->R.string.改派中 12->R.string.取消待支付 else->0 } fun getCharterState() = when(state){ 1->"待处理" 2->"已处理" 3->"已取消" else->"" } //小件物流订单状态 状态(1=待接单,2=待出发,3=待到达预约地点,4=待乘客上车,5=服务中,6=完成服务,7=待支付,8=待评价,9=已完成,10=已取消,11=改派中,12=取消待支付,13=补差价) fun getLogisticsState() = when(state){ 1->R.string.待接单 2,3->R.string.待取货 4->R.string.取货中 5->R.string.送货中 6->R.string.已送达 7->R.string.待支付 8->R.string.待评价 9->{ if (cancelMidway == 1) R.string.中途取消已完成 else R.string.已完成 } 10->R.string.已取消 11->R.string.改派中 12->R.string.取消待支付 13->R.string.补差价 else->0 } fun getStateColor() = when(state){ 7-> R.color.colorRed 10-> R.color.textColor66 else->R.color.colorPrimary } fun getCharterStateColor() = when(state){ 3-> R.color.textColor66 else->R.color.colorPrimary } } data class TrippingInfo( val lat: String = "", val laveMileage: String = "", val laveTime: String = "", val lon: String = "", val orderId: Int = 0, val orderType: Int = 0, val reassignNotice: String = "", val reservationMileage: String = "", val reservationTime: String = "", val servedMileage: String = "", val servedTime: String = "", val orderPositionList: String = "", val state: Int = 0, val money: Double = 0.0, val status: Int = 0 //1=申请,2=同意,3=拒绝 ) data class Coupon( val fullMoney: Double = 0.0, val id: Int = 0, val money: Double = 0.0, val name: String = "", val time: String = "", val type: Int = 0, //1=抵扣,2=满减 val state: Int = 0, //1: 未使用 2:已使用 3:已过期 val userType: Int = 0 //(0=通用,1=专车,2=出租车,3=城际,4=小件物流) ){ fun getTypeStr() = when(userType){ 0->R.string.通用优惠券 1->R.string.专车优惠券 2->R.string.出租车优惠券 3->R.string.跨城出行优惠券 4->R.string.小件物流优惠券 else->0 } fun getTypeBg() = when(userType){ 0->R.mipmap.bg_coupon_blue 1->R.mipmap.bg_coupon_green 2->R.mipmap.bg_coupon_green 3->R.mipmap.bg_coupon_red 4->R.mipmap.bg_coupon_orange else->R.mipmap.bg_coupon_grey } fun getRangeStr() = when(userType){ 4->R.string.仅限小件物流使用 0->R.string.可用于打车和快件 else->R.string.仅限专车使用 } fun getFullMoney(context: Context) = if (type == 1) "" else context.getString(R.string.full_discount).format(fullMoney.toString(),money.toString()) fun getNameStr() = if (name.length <= 6) name else "${name.substring(0,6)}..." } data class Point( val lat:Double = 0.0, val lon:Double = 0.0 ) /** * 开票参数 */ data class OrderParam(val type: Int,val id: Int) /** * 开票记录 */ data class InvokeHis( val content: String = "", val id: Int = 0, val insertTime: String = "", val money: Double = 0.0, val state: Int = 0, val type: String = "" ) /** * 邀请记录 */ data class InviteHis( val phone: String = "", val insertTime: String = "" )