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 = ""
|
)
|