package com.igo.user.network.entity import android.os.Parcel import android.os.Parcelable import com.github.promeg.pinyinhelper.Pinyin import java.io.Serializable data class City( val id: Int = 0, val code: String = "", val name: String = "", val cityName: String = "", val chineseName: String = "", val englishName: String = "", val frenchName: String = "", val sites: List = listOf() ):Serializable{ fun getInitial():String = if (name.startsWith("重庆")) "C" else Pinyin.toPinyin(name[0])[0].toString() } data class Site( val id: Int = 0, val name: String = "" ):Serializable data class Line( val endAddress: String = "", val id: Int = 0, val name: String = "", val startAddress: String = "" ) : Parcelable { constructor(parcel: Parcel) : this( parcel.readString()!!, parcel.readInt(), parcel.readString()!!, parcel.readString()!! ) { } override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeString(endAddress) parcel.writeInt(id) parcel.writeString(name) parcel.writeString(startAddress) } override fun describeContents(): Int { return 0 } companion object CREATOR : Parcelable.Creator { override fun createFromParcel(parcel: Parcel): Line { return Line(parcel) } override fun newArray(size: Int): Array { return arrayOfNulls(size) } } } data class Shift( val brand: String = "", val carColor: String = "", val carId: Int = 0, val carLicensePlate: String = "", val driverId: Int = 0, val evaluate: Double = 0.0, val headImgUrl: String = "", val id: Int = 0, val lineShiftDriverId: Int = 0, val laveSeat: Int = 0, val laveSeatNumber: String = "", val name: String = "", val number: String = "", val price: Double = 0.0, val serverCarModelId: Int = 0, val startTime: String = "", val totalSeat: Int = 0 ) : Parcelable { constructor(parcel: Parcel) : this( parcel.readString()?:"", parcel.readString()?:"", parcel.readInt(), parcel.readString()?:"", parcel.readInt(), parcel.readDouble(), parcel.readString()?:"", parcel.readInt(), parcel.readInt(), parcel.readInt(), parcel.readString()?:"", parcel.readString()?:"", parcel.readString()?:"", parcel.readDouble(), parcel.readInt(), parcel.readString()?:"", parcel.readInt() ) { } override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeString(brand) parcel.writeString(carColor) parcel.writeInt(carId) parcel.writeString(carLicensePlate) parcel.writeInt(driverId) parcel.writeDouble(evaluate) parcel.writeString(headImgUrl) parcel.writeInt(id) parcel.writeInt(lineShiftDriverId) parcel.writeInt(laveSeat) parcel.writeString(laveSeatNumber) parcel.writeString(name) parcel.writeString(number) parcel.writeDouble(price) parcel.writeInt(serverCarModelId) parcel.writeString(startTime) parcel.writeInt(totalSeat) } override fun describeContents(): Int { return 0 } companion object CREATOR : Parcelable.Creator { override fun createFromParcel(parcel: Parcel): Shift { return Shift(parcel) } override fun newArray(size: Int): Array { return arrayOfNulls(size) } } } data class SeatInfo( val amount: Int = 0, val content: String = "", val id: Int = 0, val lat: Int = 0, val lon: Int = 0, val minute: Int = 0, val name: String = "", val number: Int = 0, val totalNumber: Int = 0 ) /** * 电子围栏锚点 */ data class Anchor( val city: String = "", val cityCode: String = "", val coordinate: String = "", val district: String = "", val districtCode: String = "", val province: String = "", val provinceCode: String = "", val type: Int = 0 ) : Parcelable { constructor(parcel: Parcel) : this( parcel.readString()?:"", parcel.readString()?:"", parcel.readString()?:"", parcel.readString()?:"", parcel.readString()?:"", parcel.readString()?:"", parcel.readString()?:"", parcel.readInt() ) { } override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeString(city) parcel.writeString(cityCode) parcel.writeString(coordinate) parcel.writeString(district) parcel.writeString(districtCode) parcel.writeString(province) parcel.writeString(provinceCode) parcel.writeInt(type) } override fun describeContents(): Int { return 0 } companion object CREATOR : Parcelable.Creator { override fun createFromParcel(parcel: Parcel): Anchor { return Anchor(parcel) } override fun newArray(size: Int): Array { return arrayOfNulls(size) } } }