package com.partynetwork.iparty.app.entities;
import java.util.Date;
import android.os.Parcel;
import android.os.Parcelable;
import com.lidroid.xutils.db.annotation.Column;
import com.lidroid.xutils.db.annotation.Table;
import com.partynetwork.dataprovider.util.TimeUtil;
import com.partynetwork.iparty.imessage.OpenfireConstant;
/**
* 通知实体
*/
@Table(name = "notice")
public class Notice extends EntityBase implements Parcelable,
Comparable<Notice> {
// 用户Id
@Column(column = "notice_uid")
private int userId;
// 用户昵称
@Column(column = "notice_uName")
private String userName;
// 用户头像Url地址
@Column(column = "notice_uHead")
private String userHeadUrl;
// 消息主要文字内容
@Column(column = "notice_content")
private String messageContent;
// 消息发送时间
@Column(column = "notice_time")
private String messageTime;
// 和当前好友关系(0:未关注;1:已关注;2:i好友;3:去你妹)(仅需在新的好友功能模块返回)
@Column(column = "notice_relationship")
private int relationship;
// 图片Url(若无,则为空)
@Column(column = "notice_photo")
private String eventPhotoUrl;
// 活动Id
@Column(column = "notice_eventId")
private int eventId;
// 消息来源类别0:iparty;1:i分享;2:相册;3:照片;4:个人中心;5:助手6:URL(要是看不懂,写的时候先找下我)
@Column(column = "notice_eventType")
private int eventType;
// 通知类别
@Column(column = "notice_type")
private int noticeType;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserHeadUrl() {
return userHeadUrl;
}
public void setUserHeadUrl(String userHeadUrl) {
this.userHeadUrl = userHeadUrl;
}
public String getMessageContent() {
return messageContent;
}
public void setMessageContent(String messageContent) {
this.messageContent = messageContent;
}
public String getMessageTime() {
return messageTime;
}
public void setMessageTime(String messageTime) {
this.messageTime = messageTime;
}
public int getRelationship() {
return relationship;
}
public void setRelationship(int relationship) {
this.relationship = relationship;
}
public String getEventPhotoUrl() {
return eventPhotoUrl;
}
public void setEventPhotoUrl(String eventPhotoUrl) {
this.eventPhotoUrl = eventPhotoUrl;
}
public int getEventId() {
return eventId;
}
public void setEventId(int eventId) {
this.eventId = eventId;
}
public int getEventType() {
return eventType;
}
public void setEventType(int eventType) {
this.eventType = eventType;
}
public int getNoticeType() {
return noticeType;
}
public void setNoticeType(int noticeType) {
this.noticeType = noticeType;
}
@Override
public int compareTo(Notice oth) {
if (null == this.getMessageTime() || null == oth.getMessageTime()) {
return 0;
}
String format = null;
String time1 = "";
String time2 = "";
if (this.getMessageTime().length() == oth.getMessageTime().length()
&& this.getMessageTime().length() == 23) {
time1 = this.getMessageTime();
time2 = oth.getMessageTime();
format = OpenfireConstant.MS_FORMART;
} else {
time1 = this.getMessageTime().substring(0, 19);
time2 = oth.getMessageTime().substring(0, 19);
}
Date da1 = TimeUtil.str2Date(time1, format);
Date da2 = TimeUtil.str2Date(time2, format);
if (da1.before(da2)) {
return 1;
}
if (da2.before(da1)) {
return -1;
}
return 0;
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel dest, int arg1) {
dest.writeInt(userId);
dest.writeString(userName);
dest.writeString(userHeadUrl);
dest.writeString(messageContent);
dest.writeString(messageTime);
dest.writeInt(relationship);
dest.writeString(eventPhotoUrl);
dest.writeInt(eventId);
dest.writeInt(eventType);
dest.writeInt(noticeType);
}
public static final Parcelable.Creator<Notice> CREATOR = new Parcelable.Creator<Notice>() {
@Override
public Notice createFromParcel(Parcel source) {
Notice notice = new Notice();
notice.setUserId(source.readInt());
notice.setUserName(source.readString());
notice.setUserHeadUrl(source.readString());
notice.setMessageContent(source.readString());
notice.setMessageTime(source.readString());
notice.setRelationship(source.readInt());
notice.setEventPhotoUrl(source.readString());
notice.setEventId(source.readInt());
notice.setEventType(source.readInt());
notice.setNoticeType(source.readInt());
return notice;
}
@Override
public Notice[] newArray(int size) {
return new Notice[size];
}
};
}