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]; } }; }