Files
assistant-android/app/src/main/java/com/gh/gamecenter/entity/MessageEntity.kt

230 lines
5.1 KiB
Kotlin

package com.gh.gamecenter.entity
import android.os.Parcel
import android.os.Parcelable
import com.google.gson.annotations.SerializedName
/**
* Created by khy on 2017/4/18.
*/
class MessageEntity {
@SerializedName(value = "_id", alternate = ["message_id"])
var id: String = ""
var time: Long = 0
var article: Article = Article()
var comment: Comment = Comment()
var dialogue: Dialogue = Dialogue()
var question: Question = Question()
var answer: Answer = Answer()
@SerializedName("game_list")
var gameList: GameList = GameList()
var type: String = ""
var read: Boolean = true // true:已读,false:未读
@SerializedName("user")
var userEntity: UserEntity = UserEntity()
var game: SimpleGame = SimpleGame()
var video: Video = Video()
var reply: Reply = Reply()
var fold: Fold? = null
var activity: Activity = Activity()
class Article() : Parcelable {
@SerializedName("_id")
var id: String? = null
var title: String? = null
var thumb: String? = null
@SerializedName("community_id")
var communityId: String? = null
var images: List<String> = ArrayList()
constructor(parcel: Parcel) : this() {
id = parcel.readString()
title = parcel.readString()
thumb = parcel.readString()
communityId = parcel.readString()
images = parcel.createStringArrayList() ?: arrayListOf()
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(id)
parcel.writeString(title)
parcel.writeString(thumb)
parcel.writeString(communityId)
parcel.writeStringList(images)
}
override fun describeContents(): Int {
return 0
}
companion object {
const val TAG = "Article"
@JvmField
val CREATOR: Parcelable.Creator<Article> = object : Parcelable.Creator<Article> {
override fun createFromParcel(parcel: Parcel): Article {
return Article(parcel)
}
override fun newArray(size: Int): Array<Article?> {
return arrayOfNulls(size)
}
}
}
}
class Answer() : Parcelable {
@SerializedName("_id")
var id: String? = null
var content: String? = null
var images: List<String> = ArrayList()
constructor(parcel: Parcel) : this() {
id = parcel.readString()
content = parcel.readString()
images = parcel.createStringArrayList() ?: arrayListOf()
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeString(id)
parcel.writeString(content)
parcel.writeStringList(images)
}
override fun describeContents(): Int {
return 0
}
companion object {
const val TAG = "MessageAnswer"
@JvmField
val CREATOR: Parcelable.Creator<Answer> = object : Parcelable.Creator<Answer> {
override fun createFromParcel(parcel: Parcel): Answer {
return Answer(parcel)
}
override fun newArray(size: Int): Array<Answer?> {
return arrayOfNulls(size)
}
}
}
}
class Question {
@SerializedName("_id")
var id: String? = null
var title: String? = null
var images: List<String> = ArrayList()
}
class Dialogue {
var from: From = From()
var to: To = To()
}
class From {
@SerializedName("_id")
var id: String? = null
var content: String? = null
}
class To {
@SerializedName("_id")
var id: String? = null
@SerializedName("top_id")
var topId: String? = null
var content: String? = null
}
class Comment {
@SerializedName("_id")
var id: String? = null
@SerializedName("top_id", alternate = ["parent_id"])
var topId: String? = null
var content: String? = null
}
class Video {
@SerializedName("_id")
var id: String? = null
var title: String? = null
var poster: String? = null
}
class Fold {
@SerializedName("resource_id")
var resourceId: String = ""
var number: Int = 0
}
class Reply {
@SerializedName("_id")
var id: String? = null
var content: String? = null
@SerializedName("comment_id")
var commentId: String? = null
}
class Activity {
@SerializedName("_id")
var id: String? = null
var title: String? = null
@SerializedName("image_url")
var imageUrl: String? = null
var url: String? = null
@SerializedName("url_comment")
var urlComment: String? = null
}
class GameList {
@SerializedName("_id")
var id: String = ""
var cover: String = ""
var title: String = ""
}
}