Browse Source

消息中心可跳转homelist模块和任务

zengjiebin 7 years ago
parent
commit
1f0bcbeb83

+ 1 - 3
app/src/main/AndroidManifest.xml

@@ -582,8 +582,6 @@
             android:screenOrientation="portrait"/>
             android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActSetting"
         <activity android:name="com.sheep.gamegroup.view.activity.ActSetting"
             android:screenOrientation="portrait"/>
             android:screenOrientation="portrait"/>
-        <activity android:name="com.sheep.gamegroup.view.activity.MessagesActivity"
-            android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActMsg"
         <activity android:name="com.sheep.gamegroup.view.activity.ActMsg"
             android:screenOrientation="portrait"/>
             android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActGameCenter"
         <activity android:name="com.sheep.gamegroup.view.activity.ActGameCenter"
@@ -602,7 +600,7 @@
             android:screenOrientation="portrait"/>
             android:screenOrientation="portrait"/>
         <activity android:name="com.sheep.gamegroup.view.activity.ActPlayGameDetail"
         <activity android:name="com.sheep.gamegroup.view.activity.ActPlayGameDetail"
             android:screenOrientation="portrait"/>
             android:screenOrientation="portrait"/>
-        <activity android:name="com.sheep.gamegroup.view.activity.MessageCenterDetailActivity"
+        <activity android:name="com.sheep.gamegroup.view.activity.ActSysNfDetail"
             android:exported="true"/>
             android:exported="true"/>
         <activity android:name="com.sheep.gamegroup.view.activity.InvitationActivity"
         <activity android:name="com.sheep.gamegroup.view.activity.InvitationActivity"
             android:screenOrientation="portrait"/>
             android:screenOrientation="portrait"/>

+ 4 - 4
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -47,7 +47,7 @@ public interface ApiService {
      * @return 消息中心列表
      * @return 消息中心列表
      */
      */
     @GET("app/message/system_notification/")
     @GET("app/message/system_notification/")
-    Observable<BaseMessage> getMessageCenter(@Query("page") int page, @Query("per_page") int per_page);
+    Observable<BaseMessage> getMessageCenter(@Query("page") int page, @Query("per_page") int per_page, @Query("user_id ") String user_id);
 
 
     /**
     /**
      * @param page            页数
      * @param page            页数
@@ -55,7 +55,7 @@ public interface ApiService {
      * @return 回复互动列表
      * @return 回复互动列表
      */
      */
     @GET("app/message/system_message/")
     @GET("app/message/system_message/")
-    Observable<BaseMessage> getMessageReply(@Query("page") int page, @Query("per_page") int per_page);
+    Observable<BaseMessage> getMessageReply(@Query("page") int page, @Query("per_page") int per_page, @Query("user_id ") String user_id);
 
 
     /**
     /**
      * @param id 回复互动id
      * @param id 回复互动id
@@ -69,14 +69,14 @@ public interface ApiService {
      * @return 消息中心详情
      * @return 消息中心详情
      */
      */
     @GET("app/message/system_notification/{id}")
     @GET("app/message/system_notification/{id}")
-    Observable<BaseMessage> getMessageCenterItem(@Path("id") int id);
+    Observable<BaseMessage> getSystemNotification(@Path("id") int id);
 
 
     /**
     /**
      * @return 获取未读消息条数 返回 0 或者 未读数量 大于零则有未读
      * @return 获取未读消息条数 返回 0 或者 未读数量 大于零则有未读
      * 获取未读消息条数
      * 获取未读消息条数
      */
      */
     @GET("app/message/system_message/no_read_num/")
     @GET("app/message/system_message/no_read_num/")
-    Observable<BaseMessage> getMessageUnReadNum();
+    Observable<BaseMessage> getMessageUnReadNum(@Query("user_id ") String user_id);
 
 
     /**
     /**
      * 获取邀请图片列表
      * 获取邀请图片列表

+ 11 - 0
app/src/main/java/com/sheep/gamegroup/model/api/OnItemClickListener.java

@@ -0,0 +1,11 @@
+package com.sheep.gamegroup.model.api;
+
+import android.view.View;
+
+/**
+ * Created by realicing on 2018/9/14.
+ * realicing@sina.com
+ */
+public interface OnItemClickListener<T> {
+    void onClickItem(View view, T t, int position);
+}

+ 0 - 143
app/src/main/java/com/sheep/gamegroup/model/entity/MessageCenterDetailEntity.java

@@ -1,143 +0,0 @@
-package com.sheep.gamegroup.model.entity;
-
-/**
- * created on:2018/9/5 on 14:07
- * created by: YSL
- * 描述:消息中心详情
- */
-public class MessageCenterDetailEntity {
-
-    /**
-     * Id : 0
-     * abstracts : string
-     * content : string
-     * created_at : 0
-     * is_look : 0
-     * platform : 0
-     * recipient : 0
-     * recipient_invitation_code : string
-     * send_time : 0
-     * send_type : 0
-     * title : string
-     * type : 0
-     * updated_at : 0
-     */
-
-    private int Id;
-    private String abstracts;
-    private String content;
-    private int created_at;
-    private int is_look;
-    private int platform;
-    private int recipient;
-    private String recipient_invitation_code;
-    private int send_time;
-    private int send_type;
-    private String title;
-    private int type;
-    private int updated_at;
-
-    public int getId() {
-        return Id;
-    }
-
-    public void setId(int Id) {
-        this.Id = Id;
-    }
-
-    public String getAbstracts() {
-        return abstracts;
-    }
-
-    public void setAbstracts(String abstracts) {
-        this.abstracts = abstracts;
-    }
-
-    public String getContent() {
-        return content;
-    }
-
-    public void setContent(String content) {
-        this.content = content;
-    }
-
-    public int getCreated_at() {
-        return created_at;
-    }
-
-    public void setCreated_at(int created_at) {
-        this.created_at = created_at;
-    }
-
-    public int getIs_look() {
-        return is_look;
-    }
-
-    public void setIs_look(int is_look) {
-        this.is_look = is_look;
-    }
-
-    public int getPlatform() {
-        return platform;
-    }
-
-    public void setPlatform(int platform) {
-        this.platform = platform;
-    }
-
-    public int getRecipient() {
-        return recipient;
-    }
-
-    public void setRecipient(int recipient) {
-        this.recipient = recipient;
-    }
-
-    public String getRecipient_invitation_code() {
-        return recipient_invitation_code;
-    }
-
-    public void setRecipient_invitation_code(String recipient_invitation_code) {
-        this.recipient_invitation_code = recipient_invitation_code;
-    }
-
-    public int getSend_time() {
-        return send_time;
-    }
-
-    public void setSend_time(int send_time) {
-        this.send_time = send_time;
-    }
-
-    public int getSend_type() {
-        return send_type;
-    }
-
-    public void setSend_type(int send_type) {
-        this.send_type = send_type;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getType() {
-        return type;
-    }
-
-    public void setType(int type) {
-        this.type = type;
-    }
-
-    public int getUpdated_at() {
-        return updated_at;
-    }
-
-    public void setUpdated_at(int updated_at) {
-        this.updated_at = updated_at;
-    }
-}

+ 0 - 146
app/src/main/java/com/sheep/gamegroup/model/entity/MessageCenterEntity.java

@@ -1,146 +0,0 @@
-package com.sheep.gamegroup.model.entity;
-
-import java.io.Serializable;
-
-/**
- * created on:2018/9/3 on 13:36
- * created by: YSL
- * 描述:消息中心列表   ,  消息中心详情
- */
-public class MessageCenterEntity implements Serializable{
-
-
-    /**
-     * updated_at : 1535524140
-     * is_look : 0
-     * Id : 6
-     * content : 4444444444444
-     * platform : 0
-     * abstracts : 4444444444
-     * title : 55555555555555
-     * recipient : 0
-     * send_type : 1
-     * recipient_invitation_code :
-     * created_at : 1535524140
-     * send_time : 1535524073
-     * type : 1
-     */
-
-    private int updated_at;
-    private int is_look;
-    private int Id;
-    private String content;
-    private int platform;
-    private String abstracts;
-    private String title;
-    private int recipient;
-    private int send_type;
-    private String recipient_invitation_code;
-    private int created_at;
-    private int send_time;
-    private int type;
-
-    public int getUpdated_at() {
-        return updated_at;
-    }
-
-    public void setUpdated_at(int updated_at) {
-        this.updated_at = updated_at;
-    }
-
-    public int getIs_look() {
-        return is_look;
-    }
-
-    public void setIs_look(int is_look) {
-        this.is_look = is_look;
-    }
-
-    public int getId() {
-        return Id;
-    }
-
-    public void setId(int Id) {
-        this.Id = Id;
-    }
-
-    public String getContent() {
-        return content;
-    }
-
-    public void setContent(String content) {
-        this.content = content;
-    }
-
-    public int getPlatform() {
-        return platform;
-    }
-
-    public void setPlatform(int platform) {
-        this.platform = platform;
-    }
-
-    public String getAbstracts() {
-        return abstracts;
-    }
-
-    public void setAbstracts(String abstracts) {
-        this.abstracts = abstracts;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getRecipient() {
-        return recipient;
-    }
-
-    public void setRecipient(int recipient) {
-        this.recipient = recipient;
-    }
-
-    public int getSend_type() {
-        return send_type;
-    }
-
-    public void setSend_type(int send_type) {
-        this.send_type = send_type;
-    }
-
-    public String getRecipient_invitation_code() {
-        return recipient_invitation_code;
-    }
-
-    public void setRecipient_invitation_code(String recipient_invitation_code) {
-        this.recipient_invitation_code = recipient_invitation_code;
-    }
-
-    public int getCreated_at() {
-        return created_at;
-    }
-
-    public void setCreated_at(int created_at) {
-        this.created_at = created_at;
-    }
-
-    public int getSend_time() {
-        return send_time;
-    }
-
-    public void setSend_time(int send_time) {
-        this.send_time = send_time;
-    }
-
-    public int getType() {
-        return type;
-    }
-
-    public void setType(int type) {
-        this.type = type;
-    }
-}

+ 246 - 0
app/src/main/java/com/sheep/gamegroup/model/entity/SystemNotification.java

@@ -0,0 +1,246 @@
+package com.sheep.gamegroup.model.entity;
+
+import com.alibaba.fastjson.JSONObject;
+
+import java.io.Serializable;
+
+/**
+ * created on:2018/9/3 on 13:36
+ * created by: YSL
+ * 描述:消息中心列表   ,  消息中心详情
+ */
+public class SystemNotification implements Serializable {
+
+
+    /**
+     * {
+     * "Id": 41,
+     * "type": 3,
+     * "title": "连续任务模块上线",
+     * "content": "连续任务模块上线",
+     * "abstracts": "连续任务模块上线",
+     * "platform": 0,
+     * "recipient": 0,
+     * "recipient_invitation_code": "",
+     * "send_time": 1536742603,
+     * "created_at": 1536742605,
+     * "updated_at": 1536742605,
+     * "send_type": 1,
+     * "is_look": 1,
+     * "relation_id": 8,
+     * "relation_data": {
+     * "Id": 8,
+     * "Title": "连续任务",
+     * "Desc": "连续任务收益多多",
+     * "Icon": "http:\/\/img.zcool.cn\/community\/01080755c1edaf32f87528a18e9840.jpg@900w_1l_2o_100sh.jpg",
+     * "Type": 2,
+     * "Jump": "8",
+     * "Order": 8,
+     * "CreateTime": 1525957376,
+     * "UpdateTime": 1531744035,
+     * "Url": "",
+     * "Display": 1,
+     * "Tag": 0,
+     * "Platform": 0
+     * }
+     * }
+     * Id	integer($int64)
+     * abstracts	string
+     * 摘要
+     * <p>
+     * content	string
+     * 消息内容
+     * <p>
+     * created_at	integer($int64)
+     * 创建时间
+     * <p>
+     * is_look	integer($int64)
+     * 是否已查看 1已查看 0未查看
+     * <p>
+     * platform	integer($int32)
+     * 0:全平台 1:安卓 2:IOS
+     * <p>
+     * recipient	integer($int32)
+     * 0:全部 1:指定人
+     * <p>
+     * recipient_invitation_code	string
+     * 接收人绵羊号多个;隔开,空为全部
+     * <p>
+     * relation_data	{...}
+     * relation_id	integer($int64)
+     * 根据type类型关联不同表ID
+     * <p>
+     * send_time	integer($int64)
+     * 推送时间
+     * <p>
+     * send_type	integer($int32)
+     * 推送类型 1:立即推送 2:定时推送
+     * <p>
+     * title	string
+     * 消息标题
+     * <p>
+     * type	integer($int32)
+     *
+     * <p>
+     * updated_at	integer($int64)
+     * 更新时间
+     */
+
+    private int updated_at;
+    private int is_look;
+    private int Id;
+    private String content;
+    private int platform;
+    private String abstracts;
+    private String title;
+    private int recipient;
+    private int send_type;
+    private String recipient_invitation_code;
+    private int created_at;
+    private int send_time;
+    private int type;//消息类型 1:通知 2:活动 3:模块上线 4:任务上线 5:任务成功 6:任务失败
+    private int relation_id;
+    private Object relation_data;
+
+    public int getUpdated_at() {
+        return updated_at;
+    }
+
+    public void setUpdated_at(int updated_at) {
+        this.updated_at = updated_at;
+    }
+
+    public int getIs_look() {
+        return is_look;
+    }
+
+    public void setIs_look(int is_look) {
+        this.is_look = is_look;
+    }
+
+    public int getId() {
+        return Id;
+    }
+
+    public void setId(int Id) {
+        this.Id = Id;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public int getPlatform() {
+        return platform;
+    }
+
+    public void setPlatform(int platform) {
+        this.platform = platform;
+    }
+
+    public String getAbstracts() {
+        return abstracts;
+    }
+
+    public void setAbstracts(String abstracts) {
+        this.abstracts = abstracts;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public int getRecipient() {
+        return recipient;
+    }
+
+    public void setRecipient(int recipient) {
+        this.recipient = recipient;
+    }
+
+    public int getSend_type() {
+        return send_type;
+    }
+
+    public void setSend_type(int send_type) {
+        this.send_type = send_type;
+    }
+
+    public String getRecipient_invitation_code() {
+        return recipient_invitation_code;
+    }
+
+    public void setRecipient_invitation_code(String recipient_invitation_code) {
+        this.recipient_invitation_code = recipient_invitation_code;
+    }
+
+    public int getCreated_at() {
+        return created_at;
+    }
+
+    public void setCreated_at(int created_at) {
+        this.created_at = created_at;
+    }
+
+    public int getSend_time() {
+        return send_time;
+    }
+
+    public void setSend_time(int send_time) {
+        this.send_time = send_time;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    public int getRelation_id() {
+        return relation_id;
+    }
+
+    public void setRelation_id(int relation_id) {
+        this.relation_id = relation_id;
+    }
+
+    public Object getRelation_data() {
+        return relation_data;
+    }
+
+    public void setRelation_data(Object relation_data) {
+        this.relation_data = relation_data;
+    }
+
+
+
+
+
+    /**
+     * 失败返回null
+     *
+     * @param clazz
+     * @param <T>
+     * @return
+     */
+    public <T> T getRelation_data(Class<T> clazz) {
+        if (relation_data != null) {
+            try {
+                return JSONObject.parseObject(JSONObject.toJSONString(relation_data), clazz);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return null;
+    }
+}

+ 10 - 5
app/src/main/java/com/sheep/gamegroup/util/DataUtil.java

@@ -53,8 +53,8 @@ public class DataUtil {
 
 
     private DataUtil() {
     private DataUtil() {
         userEntity = getCacheResult(ApiKey.get_info, UserEntity.class);//先从缓存中初始化用户信息
         userEntity = getCacheResult(ApiKey.get_info, UserEntity.class);//先从缓存中初始化用户信息
-        String id = SpUtils.getToken(SheepApp.getInstance());
-        String uid = TextUtils.isEmpty(id) ? "" : id.split("@")[0];
+        token = SpUtils.getToken(SheepApp.getInstance());
+        uid = TextUtils.isEmpty(token) ? "" : token.split("@")[0];
         if (userEntity != null && !TextUtils.equals(userEntity.getId(), uid)) {//当前用户id与缓存的用户信息不符时,清除缓存
         if (userEntity != null && !TextUtils.equals(userEntity.getId(), uid)) {//当前用户id与缓存的用户信息不符时,清除缓存
             clearData();
             clearData();
         }
         }
@@ -78,6 +78,8 @@ public class DataUtil {
 
 
     //-----------------------------------------用户信息部分-----------------------------------------------------开始
     //-----------------------------------------用户信息部分-----------------------------------------------------开始
     private UserEntity userEntity;
     private UserEntity userEntity;
+    private String token;
+    private String uid;
 
 
     public UserEntity getUserEntity() {
     public UserEntity getUserEntity() {
         return userEntity;
         return userEntity;
@@ -104,10 +106,13 @@ public class DataUtil {
      * @return
      * @return
      */
      */
     public String getUserId() {
     public String getUserId() {
-        if (userEntity != null && userEntity.getId() != null)
-            return userEntity.getId();
-        return "";
+        return uid;
+    }
+
+    public String getToken() {
+        return token;
     }
     }
+
     /**
     /**
      * 获取当前用户的头像
      * 获取当前用户的头像
      *
      *

+ 14 - 1
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -25,6 +25,7 @@ import com.sheep.gamegroup.model.entity.FindItem;
 import com.sheep.gamegroup.model.entity.LoginEntity;
 import com.sheep.gamegroup.model.entity.LoginEntity;
 import com.sheep.gamegroup.model.entity.NewbieTask;
 import com.sheep.gamegroup.model.entity.NewbieTask;
 import com.sheep.gamegroup.model.entity.NewbieTaskRecord;
 import com.sheep.gamegroup.model.entity.NewbieTaskRecord;
+import com.sheep.gamegroup.model.entity.SystemNotification;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.TaskAcceptedEty;
 import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.model.entity.UserEntity;
 import com.sheep.gamegroup.model.entity.UserEntity;
@@ -51,6 +52,7 @@ import com.sheep.gamegroup.view.activity.ActLoadH5;
 import com.sheep.gamegroup.view.activity.ActMain;
 import com.sheep.gamegroup.view.activity.ActMain;
 import com.sheep.gamegroup.view.activity.ActMiDong;
 import com.sheep.gamegroup.view.activity.ActMiDong;
 import com.sheep.gamegroup.view.activity.ActModifyThird;
 import com.sheep.gamegroup.view.activity.ActModifyThird;
+import com.sheep.gamegroup.view.activity.ActSysNfDetail;
 import com.sheep.gamegroup.view.activity.ActMyMoney;
 import com.sheep.gamegroup.view.activity.ActMyMoney;
 import com.sheep.gamegroup.view.activity.ActMyWelfare;
 import com.sheep.gamegroup.view.activity.ActMyWelfare;
 import com.sheep.gamegroup.view.activity.ActNewAboutUs;
 import com.sheep.gamegroup.view.activity.ActNewAboutUs;
@@ -1200,7 +1202,6 @@ public class Jump2View {
     }
     }
     public void gotoMain(Activity activity) {
     public void gotoMain(Activity activity) {
         String openId = SpUtils.getToken(SheepApp.getInstance());
         String openId = SpUtils.getToken(SheepApp.getInstance());
-        LogUtil.logI("GOTOMIAN_____TOKEN----"+openId);
         if (!TextUtils.isEmpty(openId)) {
         if (!TextUtils.isEmpty(openId)) {
             checkOrGoHomePage(activity);
             checkOrGoHomePage(activity);
         } else {
         } else {
@@ -1565,4 +1566,16 @@ public class Jump2View {
         activity.startActivity(intent);
         activity.startActivity(intent);
         GAME_PLAY_GAME_DETAIL.onEvent();
         GAME_PLAY_GAME_DETAIL.onEvent();
     }
     }
+
+    /**
+     * 普通的消息详情
+     */
+    public void goActSysNfDetail(Activity activity, Object object) {
+        Intent intent = new Intent(activity, ActSysNfDetail.class);
+        if(object instanceof Integer)
+            intent.putExtra("id", (Integer) object);
+        else if(object instanceof SystemNotification)
+            intent.putExtra(SystemNotification.class.getSimpleName(), (SystemNotification)object);
+        activity.startActivity(intent);
+    }
 }
 }

+ 33 - 21
app/src/main/java/com/sheep/gamegroup/view/activity/MessageCenterDetailActivity.java

@@ -1,24 +1,19 @@
 package com.sheep.gamegroup.view.activity;
 package com.sheep.gamegroup.view.activity;
 
 
-import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AppCompatActivity;
+import android.content.Intent;
 import android.view.View;
 import android.view.View;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
-import com.google.gson.Gson;
+import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.MessageCenterDetailEntity;
-import com.sheep.gamegroup.model.entity.MessageCenterEntity;
+import com.sheep.gamegroup.model.entity.SystemNotification;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
-import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.G;
 
 
 import butterknife.BindView;
 import butterknife.BindView;
-import butterknife.ButterKnife;
 import butterknife.OnClick;
 import butterknife.OnClick;
 import rx.android.schedulers.AndroidSchedulers;
 import rx.android.schedulers.AndroidSchedulers;
 import rx.schedulers.Schedulers;
 import rx.schedulers.Schedulers;
@@ -28,7 +23,7 @@ import rx.schedulers.Schedulers;
  * created by: YSL
  * created by: YSL
  * 描述:
  * 描述:
  */
  */
-public class MessageCenterDetailActivity extends AppCompatActivity {
+public class ActSysNfDetail extends BaseActivity {
     @BindView(R.id.tv_content)
     @BindView(R.id.tv_content)
     TextView tvContent;
     TextView tvContent;
     @BindView(R.id.tv_title)
     @BindView(R.id.tv_title)
@@ -37,26 +32,44 @@ public class MessageCenterDetailActivity extends AppCompatActivity {
     TextView tvBaseTitle;
     TextView tvBaseTitle;
 
 
     @Override
     @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_messagesystem);
-        ButterKnife.bind(this);
+    protected int getLayoutId() {
+        return R.layout.act_sys_nf_detail;
+    }
+
+    @Override
+    public void initView() {
         tvBaseTitle.setText("消息详情");
         tvBaseTitle.setText("消息详情");
-        int id = getIntent().getIntExtra("id", -1);
-        loadData(id);
+    }
+
+    private void loadData(SystemNotification systemNotification) {
+        if (systemNotification != null) {
+            ViewUtil.setText(tvContent, systemNotification.getContent());
+            ViewUtil.setText(tvTitle, systemNotification.getTitle());
+        }
     }
     }
 
 
     @OnClick({R.id.img_baseactivity_title})
     @OnClick({R.id.img_baseactivity_title})
     public void initClick(View view) {
     public void initClick(View view) {
         switch (view.getId()) {
         switch (view.getId()) {
             case R.id.img_baseactivity_title:
             case R.id.img_baseactivity_title:
-                MessageCenterDetailActivity.this.finish();
+                ActSysNfDetail.this.finish();
                 break;
                 break;
         }
         }
 
 
     }
     }
 
 
-    private void loadData(int id) {
+    @Override
+    public void initData() {
+        Intent intent = getIntent();
+        int id = intent.getIntExtra("id", -1);
+        if (id == -1) {
+            SystemNotification systemNotification = (SystemNotification) intent.getSerializableExtra(SystemNotification.class.getSimpleName());
+            loadData(systemNotification);
+        } else {
+            initSysNf(id);
+        }
+    }
+    private void initSysNf(int id) {
         if (id <= 0) {
         if (id <= 0) {
             G.showToast("消息id出错");
             G.showToast("消息id出错");
             return;
             return;
@@ -66,15 +79,14 @@ public class MessageCenterDetailActivity extends AppCompatActivity {
         SheepApp.getInstance()
         SheepApp.getInstance()
                 .getNetComponent()
                 .getNetComponent()
                 .getApiService()
                 .getApiService()
-                .getMessageCenterItem(id)
+                .getSystemNotification(id)
                 .subscribeOn(Schedulers.io())
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                     @Override
                     @Override
                     public void onNext(BaseMessage baseMessage) {
                     public void onNext(BaseMessage baseMessage) {
-                        MessageCenterDetailEntity entity = baseMessage.getData(MessageCenterDetailEntity.class);
-                        ViewUtil.setText(tvContent, entity.getContent());
-                        ViewUtil.setText(tvTitle, entity.getTitle());
+                        SystemNotification entity = baseMessage.getData(SystemNotification.class);
+                        loadData(entity);
                     }
                     }
 
 
                     @Override
                     @Override

+ 0 - 140
app/src/main/java/com/sheep/gamegroup/view/activity/MessagesActivity.java

@@ -1,140 +0,0 @@
-package com.sheep.gamegroup.view.activity;
-
-import android.annotation.SuppressLint;
-import android.graphics.Color;
-import android.os.Bundle;
-import android.os.Handler;
-import android.support.design.widget.TabLayout;
-import android.support.v4.view.ViewPager;
-import android.support.v7.app.AppCompatActivity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.MessageCenterEntity;
-import com.sheep.gamegroup.model.entity.MessageReplyEntity;
-import com.sheep.gamegroup.model.util.SheepSubscriber;
-import com.sheep.gamegroup.view.adapter.MessageAdapter;
-import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.SheepApp;
-
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-import org.xutils.view.annotation.Event;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import rx.android.schedulers.AndroidSchedulers;
-import rx.schedulers.Schedulers;
-
-
-/**
- * created on:2018/8/28 on 11:44
- * created by: YSL
- * 描述:消息Activity,展示消息中心和互动消息两个模块
- */
-public class MessagesActivity extends AppCompatActivity {
-    private String[] mTitle = new String[]{"消息中心", "回复互动"};
-    private TabLayout tabLayout = null;
-    private ViewPager viewPager = null;
-    private ImageView imageViewLeft;
-    private ImageView imageViewRight;
-
-    private List<MessageCenterEntity> mListleft = new ArrayList<>();
-    private List<MessageReplyEntity> mListRight = new ArrayList<>();
-
-    @SuppressLint("WrongViewCast")
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_messages);
-        EventBus.getDefault().register(this);
-        viewPager = findViewById(R.id.message_view_pager_grd);
-        tabLayout = findViewById(R.id.tab_layout);
-        findViewById(R.id.iv_back).setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                MessagesActivity.this.finish();
-            }
-        });
-        tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
-            @Override
-            public void onTabSelected(TabLayout.Tab tab) {
-                for (int i = 0; i < tabLayout.getTabCount(); i++) {
-                    View tabView = tabLayout.getTabAt(i).getCustomView();
-                    if (tabView == null) {
-                        tabView = getCustomView(i);
-                        tabLayout.getTabAt(i).setCustomView(tabView);
-                    }
-                    imageViewLeft = getCustomView(0).findViewById(R.id.iv_message);
-                    imageViewRight = getCustomView(1).findViewById(R.id.iv_message);
-                    TextView tvtable = tabView.findViewById(R.id.tv_message);
-                    if (i == tab.getPosition()) {
-                        tvtable.setTextColor(Color.parseColor("#ff333333"));
-                    } else {
-                        tvtable.setTextColor(Color.parseColor("#ff666666"));
-                    }
-                    tvtable.setText(mTitle[i]);
-                }
-            }
-
-            @Override
-            public void onTabUnselected(TabLayout.Tab tab) {
-
-            }
-
-            @Override
-            public void onTabReselected(TabLayout.Tab tab) {
-
-            }
-        });
-        viewPager.setAdapter(new MessageAdapter(getSupportFragmentManager(), this));
-        tabLayout.setupWithViewPager(viewPager);
-        imageViewLeft = getCustomView(0).findViewById(R.id.iv_message);
-        imageViewRight = getCustomView(1).findViewById(R.id.iv_message);
-
-        findViewById(R.id.iv_back).setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                MessagesActivity.this.finish();
-            }
-        });
-    }
-
-    @Subscribe(threadMode = ThreadMode.MAIN)
-    public void changeView(String flag) {
-        if (flag.equals("left_unread")) {
-            imageViewLeft.setVisibility(View.VISIBLE);
-        } else if (flag.equals("left_read")) {
-            imageViewLeft.setVisibility(View.GONE);
-        } else if (flag.equals("right_unread")) {
-            imageViewRight.setVisibility(View.VISIBLE);
-        } else if (flag.equals("right_read")) {
-            imageViewRight.setVisibility(View.GONE);
-        }
-    }
-
-
-    /**
-     * 、
-     * 设置每个tab的view,可根据position的不同,针对性的对每个tab做处理,这里消息互动和消息中心的tab布局一样,所以就统一设置
-     *
-     * @param position tab的位置
-     * @return ,tab的view
-     */
-    private View getCustomView(int position) {
-        View view = LayoutInflater.from(this).inflate(R.layout.layout_fragment_mseeages, null, false);
-        return view;
-    }
-
-    @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        EventBus.getDefault().unregister(this);
-    }
-}
-

+ 0 - 37
app/src/main/java/com/sheep/gamegroup/view/adapter/MessageAdapter.java

@@ -1,37 +0,0 @@
-package com.sheep.gamegroup.view.adapter;
-
-import android.content.Context;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentPagerAdapter;
-
-import com.sheep.gamegroup.view.fragment.MessageCenterFragment;
-import com.sheep.gamegroup.view.fragment.MessageReplyFragment;
-
-/**
- * created on:2018/8/29 on 9:47
- * created by: YSL
- * 描述: 消息模块的FragmentAdapter,
- */
-public class MessageAdapter extends FragmentPagerAdapter {
-    private Context context;
-
-    public MessageAdapter(FragmentManager fm, Context context) {
-        super(fm);
-        this.context = context;
-    }
-
-    @Override
-    public Fragment getItem(int position) {
-        if (position == 0) {
-            return new MessageCenterFragment(context);
-        } else {
-            return new MessageReplyFragment(context);
-        }
-    }
-
-    @Override
-    public int getCount() {
-        return 2;
-    }
-}

+ 17 - 25
app/src/main/java/com/sheep/gamegroup/view/adapter/MessageLeftAdapter.java

@@ -10,7 +10,8 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
-import com.sheep.gamegroup.model.entity.MessageCenterEntity;
+import com.sheep.gamegroup.model.api.OnItemClickListener;
+import com.sheep.gamegroup.model.entity.SystemNotification;
 import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.ListUtil;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.TimeUtil;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.util.ViewUtil;
@@ -24,12 +25,12 @@ import java.util.List;
  * created by: YSL
  * created by: YSL
  * 描述:
  * 描述:
  */
  */
-public class MessageLeftAdapter extends RecyclerView.Adapter<MessageLeftAdapter.Myholder> {
+public class MessageLeftAdapter extends RecyclerView.Adapter<MessageLeftAdapter.SNHolder> {
     private Context mContext;
     private Context mContext;
-    private List<MessageCenterEntity> mList;
-    private ItemOnClickListener itemClick;
+    private List<SystemNotification> mList;
+    private OnItemClickListener<SystemNotification> itemClick;
 
 
-    public MessageLeftAdapter(Context mContext, List<MessageCenterEntity> mList, ItemOnClickListener itemClick) {
+    public MessageLeftAdapter(Context mContext, List<SystemNotification> mList, OnItemClickListener<SystemNotification> itemClick) {
         this.mContext = mContext;
         this.mContext = mContext;
         this.mList = mList;
         this.mList = mList;
         this.itemClick = itemClick;
         this.itemClick = itemClick;
@@ -38,23 +39,24 @@ public class MessageLeftAdapter extends RecyclerView.Adapter<MessageLeftAdapter.
 
 
     @NonNull
     @NonNull
     @Override
     @Override
-    public Myholder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
+    public SNHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
         View view;
         View view;
-        if (mList == null || mList.isEmpty()) {
+        if (ListUtil.isEmpty(mList)) {
             view = LayoutInflater.from(mContext).inflate(R.layout.empty_view, null);
             view = LayoutInflater.from(mContext).inflate(R.layout.empty_view, null);
         } else {
         } else {
             view = LayoutInflater.from(mContext).inflate(R.layout.adapter_message_left_fragment, null);
             view = LayoutInflater.from(mContext).inflate(R.layout.adapter_message_left_fragment, null);
         }
         }
-        return new Myholder(view);
+        return new SNHolder(view);
     }
     }
 
 
     @Override
     @Override
-    public void onBindViewHolder(@NonNull Myholder viewHolder, final int i) {
-        if (i == mList.size() - 1) {
+    public void onBindViewHolder(@NonNull SNHolder viewHolder, int i) {
+        final int position = -1 + viewHolder.getAdapterPosition();
+        if (position == mList.size() - 1) {
             viewHolder.viewLine.setVisibility(View.GONE);//最后一条数据隐藏线条
             viewHolder.viewLine.setVisibility(View.GONE);//最后一条数据隐藏线条
         }
         }
-        final MessageCenterEntity item = ListUtil.getItem(mList, i);
-        if(item == null){
+        final SystemNotification item = ListUtil.getItem(mList, position);
+        if (item == null) {
             ViewUtil.setDefaultText(viewHolder.tvTitle);
             ViewUtil.setDefaultText(viewHolder.tvTitle);
             ViewUtil.setDefaultText(viewHolder.tvTime);
             ViewUtil.setDefaultText(viewHolder.tvTime);
             ViewUtil.setDefaultText(viewHolder.tvContent);
             ViewUtil.setDefaultText(viewHolder.tvContent);
@@ -70,7 +72,7 @@ public class MessageLeftAdapter extends RecyclerView.Adapter<MessageLeftAdapter.
             viewHolder.itemLayout.setOnClickListener(new View.OnClickListener() {
             viewHolder.itemLayout.setOnClickListener(new View.OnClickListener() {
                 @Override
                 @Override
                 public void onClick(View view) {
                 public void onClick(View view) {
-                    itemClick.itemClick(item.getId());
+                    itemClick.onClickItem(view, item, position);
                 }
                 }
             });
             });
         }
         }
@@ -81,7 +83,7 @@ public class MessageLeftAdapter extends RecyclerView.Adapter<MessageLeftAdapter.
         return mList == null ? 0 : mList.size();
         return mList == null ? 0 : mList.size();
     }
     }
 
 
-    class Myholder extends RecyclerView.ViewHolder {
+    class SNHolder extends RecyclerView.ViewHolder {
         private ImageView ivIcon;//头像
         private ImageView ivIcon;//头像
         private TextView tvTitle;//标题
         private TextView tvTitle;//标题
         private TextView tvTime;//时间
         private TextView tvTime;//时间
@@ -90,7 +92,7 @@ public class MessageLeftAdapter extends RecyclerView.Adapter<MessageLeftAdapter.
         private LinearLayout itemLayout;//整个item布局
         private LinearLayout itemLayout;//整个item布局
 
 
 
 
-        public Myholder(View view) {
+        SNHolder(View view) {
             super(view);
             super(view);
             ivIcon = view.findViewById(R.id.iv_icon);
             ivIcon = view.findViewById(R.id.iv_icon);
             tvTitle = view.findViewById(R.id.tv_title);
             tvTitle = view.findViewById(R.id.tv_title);
@@ -101,14 +103,4 @@ public class MessageLeftAdapter extends RecyclerView.Adapter<MessageLeftAdapter.
 
 
         }
         }
     }
     }
-
-    /**
-     * 设置每一条消息的回调
-     */
-    public interface ItemOnClickListener {
-        /**
-         * @param position
-         */
-        void itemClick(int position);
-    }
 }
 }

+ 55 - 12
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMsgCenter.java

@@ -1,26 +1,36 @@
 package com.sheep.gamegroup.view.fragment;
 package com.sheep.gamegroup.view.fragment;
 
 
 
 
-import android.content.Intent;
 import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.RecyclerView;
+import android.view.View;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.google.gson.reflect.TypeToken;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.api.ApiService;
+import com.sheep.gamegroup.model.api.OnItemClickListener;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.MessageCenterEntity;
+import com.sheep.gamegroup.model.entity.HomeListEntity;
+import com.sheep.gamegroup.model.entity.SystemNotification;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.CommonUtil;
+import com.sheep.gamegroup.util.DataUtil;
+import com.sheep.gamegroup.util.Jump2View;
 import com.sheep.gamegroup.view.activity.ActMsg;
 import com.sheep.gamegroup.view.activity.ActMsg;
-import com.sheep.gamegroup.view.activity.MessageCenterDetailActivity;
 import com.sheep.gamegroup.view.adapter.MessageLeftAdapter;
 import com.sheep.gamegroup.view.adapter.MessageLeftAdapter;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
 
 
 import java.util.Locale;
 import java.util.Locale;
 
 
 import rx.Observable;
 import rx.Observable;
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
 
 
 /**
 /**
  * Created by realicing on 2018/9/7.
  * Created by realicing on 2018/9/7.
  * realicing@sina.com
  * realicing@sina.com
  */
  */
-public class FgtMsgCenter extends BaseListFragment<MessageCenterEntity> implements MessageLeftAdapter.ItemOnClickListener {
+public class FgtMsgCenter extends BaseListFragment<SystemNotification> implements OnItemClickListener<SystemNotification> {
 
 
     @Override
     @Override
     protected boolean isFirstGetACache() {
     protected boolean isFirstGetACache() {
@@ -39,17 +49,17 @@ public class FgtMsgCenter extends BaseListFragment<MessageCenterEntity> implemen
 
 
     @Override
     @Override
     protected String getKey(int page, int per_page) {
     protected String getKey(int page, int per_page) {
-        return String.format(Locale.CHINA, "app/message/system_notification?page=%d&per_page=%d", page, per_page);
+        return String.format(Locale.CHINA, "app/message/system_notification?page=%d&per_page=%d&user_id=%s", page, per_page, DataUtil.getInstance().getUserId());
     }
     }
 
 
     @Override
     @Override
     protected Observable<BaseMessage> getApi(ApiService apiService) {
     protected Observable<BaseMessage> getApi(ApiService apiService) {
-        return apiService.getMessageCenter(page, per_page);
+        return apiService.getMessageCenter(page, per_page, DataUtil.getInstance().getUserId());
     }
     }
 
 
     @Override
     @Override
-    protected Class<MessageCenterEntity> getTClass() {
-        return MessageCenterEntity.class;
+    protected Class<SystemNotification> getTClass() {
+        return SystemNotification.class;
     }
     }
 
 
 
 
@@ -61,9 +71,42 @@ public class FgtMsgCenter extends BaseListFragment<MessageCenterEntity> implemen
     }
     }
 
 
     @Override
     @Override
-    public void itemClick(int id) {
-        Intent intent = new Intent(getActivity(), MessageCenterDetailActivity.class);
-        intent.putExtra("id", id);
-        startActivity(intent);
+    public void onClickItem(View view, final SystemNotification item, int position) {
+        if(item == null){
+            return;
+        }
+        //注意:下面的接口调用不要删除,因为这里要去设置消息为可读
+        SheepApp.getInstance().getNetComponent().getApiService().getSystemNotification(item.getId())
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                    }
+                });
+        switch (item.getType()){//消息类型 1:通知 2:活动 3:模块上线 4:任务上线 5:任务成功 6:任务失败
+            case 3:
+                try {
+                    HomeListEntity homeListEntity = item.getRelation_data(HomeListEntity.class);
+                    if(homeListEntity != null){
+                        CommonUtil.getInstance().goWhere(activity, homeListEntity, "消息中心");
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                break;
+            case 4:
+                Jump2View.getInstance().goTaskDetailView(activity, item.getRelation_id());
+                break;
+            case 1:
+            case 2:
+            default:
+                Jump2View.getInstance().goActSysNfDetail(activity, item);
+                break;
+        }
     }
     }
 }
 }

+ 3 - 2
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtMsgReply.java

@@ -7,6 +7,7 @@ import android.support.v7.widget.RecyclerView;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.api.ApiService;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.entity.MessageReplyEntity;
 import com.sheep.gamegroup.model.entity.MessageReplyEntity;
+import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.view.activity.ActMsg;
 import com.sheep.gamegroup.view.activity.ActMsg;
 import com.sheep.gamegroup.view.activity.MessageInteractionDetailActivity;
 import com.sheep.gamegroup.view.activity.MessageInteractionDetailActivity;
 import com.sheep.gamegroup.view.adapter.MessageLeftAdapter;
 import com.sheep.gamegroup.view.adapter.MessageLeftAdapter;
@@ -34,12 +35,12 @@ public class FgtMsgReply extends BaseListFragment<MessageReplyEntity> implements
 
 
     @Override
     @Override
     protected String getKey(int page, int per_page) {
     protected String getKey(int page, int per_page) {
-        return String.format(Locale.CHINA, "app/message/system_message?page=%d&per_page=%d", page, per_page);
+        return String.format(Locale.CHINA, "app/message/system_message?page=%d&per_page=%d&user_id=%s", page, per_page, DataUtil.getInstance().getUserId());
     }
     }
 
 
     @Override
     @Override
     protected Observable<BaseMessage> getApi(ApiService apiService) {
     protected Observable<BaseMessage> getApi(ApiService apiService) {
-        return apiService.getMessageReply(page, per_page);
+        return apiService.getMessageReply(page, per_page, DataUtil.getInstance().getUserId());
     }
     }
 
 
     @Override
     @Override

+ 2 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPersonalCenter.java

@@ -39,6 +39,7 @@ import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.G;
+import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 
 
 import org.afinal.simplecache.ACache;
 import org.afinal.simplecache.ACache;
 
 
@@ -192,7 +193,7 @@ public class FgtPersonalCenter extends BaseFragment {
         SheepApp.getInstance()
         SheepApp.getInstance()
                 .getNetComponent()
                 .getNetComponent()
                 .getApiService()
                 .getApiService()
-                .getMessageUnReadNum()
+                .getMessageUnReadNum(DataUtil.getInstance().getUserId())
                 .subscribeOn(Schedulers.io())
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
                 .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {

+ 0 - 196
app/src/main/java/com/sheep/gamegroup/view/fragment/MessageCenterFragment.java

@@ -1,196 +0,0 @@
-package com.sheep.gamegroup.view.fragment;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.constraint.ConstraintLayout;
-import android.support.v4.app.Fragment;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.OrientationHelper;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import com.jcodecraeer.xrecyclerview.XRecyclerView;
-import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.MessageCenterEntity;
-import com.sheep.gamegroup.model.util.SheepSubscriber;
-import com.sheep.gamegroup.util.ListUtil;
-import com.sheep.gamegroup.view.activity.MessageCenterDetailActivity;
-import com.sheep.gamegroup.view.adapter.MessageLeftAdapter;
-import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.SheepApp;
-import com.sheep.jiuyan.samllsheep.utils.G;
-
-import org.greenrobot.eventbus.EventBus;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import rx.android.schedulers.AndroidSchedulers;
-import rx.schedulers.Schedulers;
-
-/**
- * created on:2018/8/28 on 12:32
- * created by: YSL
- * 描述:
- */
-
-@SuppressLint("ValidFragment")
-public class MessageCenterFragment extends Fragment implements MessageLeftAdapter.ItemOnClickListener {
-    private Context mContext;
-    private XRecyclerView recyclerView;
-    private ConstraintLayout emptyView;
-    private MessageLeftAdapter adapter;
-    private List<MessageCenterEntity> mList = new ArrayList<>();
-    private int per_page;
-    private int page;
-
-
-    public MessageCenterFragment() {
-    }
-
-    public MessageCenterFragment(Context mContext) {
-        this.mContext = mContext;
-    }
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-        View view = null;
-        view = inflater.inflate(R.layout.fragment_messagecenter, null);
-        recyclerView = view.findViewById(R.id.recycle_fragment_message_center);
-        emptyView = view.findViewById(R.id.view_empty);
-        return view;
-    }
-
-    @Override
-    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        recyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {
-            @Override
-            public void onRefresh() {
-                refreshData(1, 20);
-            }
-
-            @Override
-            public void onLoadMore() {
-                loadmoreMessage();
-                if (ListUtil.size(mList) >= per_page * page) {
-                    page += 1;
-                    loadmoreMessage();
-                } else {
-                    recyclerView.setNoMore(true);
-                }
-            }
-        });
-        //  ViewUtil.setBottomLine(recyclerView);
-        adapter = new MessageLeftAdapter(mContext, mList, this);
-        LinearLayoutManager manager = new LinearLayoutManager(mContext);
-        manager.setOrientation(OrientationHelper.VERTICAL);
-        recyclerView.setLayoutManager(manager);
-        recyclerView.setAdapter(adapter);
-        loadDatas(1, 20);
-
-    }
-
-    /**
-     * 加载消息
-     *
-     * @param page     页数
-     * @param per_page ,每页加载条数
-     */
-    private void loadDatas(int page, int per_page) {
-        SheepApp.getInstance()
-                .getNetComponent()
-                .getApiService()
-                .getMessageCenter(page, per_page)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        mList.addAll(baseMessage.getDataList(MessageCenterEntity.class));
-                        if (mList.isEmpty()) {
-                            EventBus.getDefault().post("left_read");
-                            emptyView.setVisibility(View.VISIBLE);
-                            recyclerView.setVisibility(View.GONE);
-                        } else {
-                            EventBus.getDefault().post("left_unread");
-                            emptyView.setVisibility(View.GONE);
-                            recyclerView.setVisibility(View.VISIBLE);
-                        }
-                        recyclerView.getAdapter().notifyDataSetChanged();
-
-                    }
-
-                    @Override
-                    public void onError(BaseMessage baseMessage) {
-                        emptyView.setVisibility(View.VISIBLE);
-                        recyclerView.setVisibility(View.GONE);
-                    }
-                });
-    }
-
-    /**
-     * 刷新
-     */
-    private void refreshData(int page, int per_page) {
-        SheepApp.getInstance()
-                .getNetComponent()
-                .getApiService()
-                .getMessageCenter(page, per_page)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        if (!mList.isEmpty()) {
-                            mList.clear();
-                            EventBus.getDefault().post("left_unread");
-                        }
-                        mList.addAll(baseMessage.getDataList(MessageCenterEntity.class));
-                        if (mList.isEmpty()) {
-                            EventBus.getDefault().post("left_read");
-                            emptyView.setVisibility(View.VISIBLE);
-                            recyclerView.setVisibility(View.GONE);
-                        } else {
-                            emptyView.setVisibility(View.GONE);
-                            recyclerView.setVisibility(View.VISIBLE);
-                        }
-                        recyclerView.getAdapter().notifyDataSetChanged();
-                        recyclerView.refreshComplete();
-
-                    }
-
-                    @Override
-                    public void onError(BaseMessage baseMessage) {
-                        emptyView.setVisibility(View.VISIBLE);
-                        recyclerView.setVisibility(View.GONE);
-                        recyclerView.refreshComplete();
-                    }
-                });
-
-    }
-
-    /**
-     * 加载更多消息
-     */
-    private void loadmoreMessage() {
-        G.showToast("加载更多");
-        recyclerView.loadMoreComplete();
-    }
-
-    @Override
-    public void itemClick(int position) {
-        refreshData(1,20);
-        if (getActivity() != null) {
-            Intent intent = new Intent(getActivity(), MessageCenterDetailActivity.class);
-            intent.putExtra("position", position);
-            startActivity(intent);
-        }
-    }
-}

+ 0 - 197
app/src/main/java/com/sheep/gamegroup/view/fragment/MessageReplyFragment.java

@@ -1,197 +0,0 @@
-package com.sheep.gamegroup.view.fragment;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.OrientationHelper;
-import android.support.v7.widget.RecyclerView;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import com.google.gson.Gson;
-import com.jcodecraeer.xrecyclerview.XRecyclerView;
-import com.sheep.gamegroup.model.entity.BaseMessage;
-import com.sheep.gamegroup.model.entity.MessageCenterEntity;
-import com.sheep.gamegroup.model.entity.MessageReplyEntity;
-import com.sheep.gamegroup.model.util.SheepSubscriber;
-import com.sheep.gamegroup.util.ListUtil;
-import com.sheep.gamegroup.util.LogUtil;
-import com.sheep.gamegroup.view.activity.MessageInteractionDetailActivity;
-import com.sheep.gamegroup.view.adapter.MessageLeftAdapter;
-import com.sheep.gamegroup.view.adapter.MessageRightAdapter;
-import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.SheepApp;
-
-import org.greenrobot.eventbus.EventBus;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import rx.android.schedulers.AndroidSchedulers;
-import rx.schedulers.Schedulers;
-
-/**
- * created on:2018/8/29 on 9:58
- * created by: YSL
- * 描述:
- */
-
-@SuppressLint("ValidFragment")
-public class MessageReplyFragment extends Fragment implements MessageRightAdapter.ItemOnClickListener {
-    private Context mContext;
-    private XRecyclerView recyclerView;
-    private MessageRightAdapter adapter;
-    private List<MessageReplyEntity> mList = new ArrayList<>();
-    private View emptyView;
-    private int per_page;
-    private int page;
-
-    public MessageReplyFragment() {
-    }
-
-    public MessageReplyFragment(Context mContext) {
-        this.mContext = mContext;
-    }
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-        View view = null;
-        view = inflater.inflate(R.layout.fragment_messagecenter, null);
-        recyclerView = view.findViewById(R.id.recycle_fragment_message_center);
-        emptyView = view.findViewById(R.id.view_empty);
-        return view;
-    }
-
-    @Override
-    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        recyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {
-            @Override
-            public void onRefresh() {
-                refreshData(1, 20);
-            }
-
-            @Override
-            public void onLoadMore() {
-                loadmoreMessage();
-                if (ListUtil.size(mList) >= per_page * page) {
-                    page += 1;
-                    loadmoreMessage();
-                } else {
-                    recyclerView.setNoMore(true);
-                }
-            }
-        });
-        //  ViewUtil.setBottomLine(recyclerView);
-        adapter = new MessageRightAdapter(mContext, mList, this);
-        LinearLayoutManager manager = new LinearLayoutManager(mContext);
-        manager.setOrientation(OrientationHelper.VERTICAL);
-        recyclerView.setLayoutManager(manager);
-        recyclerView.setAdapter(adapter);
-        loadDatas(1, 20);
-    }
-
-    /**
-     * 刷新
-     */
-    private void refreshData(int page, int per_page) {
-        SheepApp.getInstance()
-                .getNetComponent()
-                .getApiService()
-                .getMessageReply(page, per_page)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        LogUtil.logI("返回格式---" + new Gson().toJson(baseMessage));
-                        if (!mList.isEmpty()) {
-                            EventBus.getDefault().post("right_unread");
-                            mList.clear();
-                            mList.addAll(baseMessage.getDataList(MessageReplyEntity.class));
-                        }
-                        if (mList.isEmpty()) {
-                            EventBus.getDefault().post("right_read");
-                            emptyView.setVisibility(View.VISIBLE);
-                            recyclerView.setVisibility(View.GONE);
-                        } else {
-                            emptyView.setVisibility(View.GONE);
-                            recyclerView.setVisibility(View.VISIBLE);
-                        }
-                        recyclerView.refreshComplete();
-                        recyclerView.getAdapter().notifyDataSetChanged();
-                    }
-
-                    @Override
-                    public void onError(BaseMessage baseMessage) {
-                       /* emptyView.setVisibility(View.VISIBLE);
-                        recyclerView.setVisibility(View.GONE);*/
-                        recyclerView.refreshComplete();
-                        LogUtil.logI("返回格式错误---" + new Gson().toJson(baseMessage));
-                    }
-                });
-    }
-
-    /**
-     * 加载更多
-     */
-    private void loadmoreMessage() {
-    }
-
-    /**
-     * 加载消息
-     *
-     * @param page     页数
-     * @param per_page ,每页加载条数
-     */
-    private void loadDatas(int page, int per_page) {
-        SheepApp.getInstance()
-                .getNetComponent()
-                .getApiService()
-                .getMessageReply(page, per_page)
-                .subscribeOn(Schedulers.io())
-                .observeOn(AndroidSchedulers.mainThread())
-                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
-                    @Override
-                    public void onNext(BaseMessage baseMessage) {
-                        LogUtil.logI("返回格式---" + new Gson().toJson(baseMessage));
-                        mList.addAll(baseMessage.getDataList(MessageReplyEntity.class));
-                        if (mList.isEmpty()) {
-                            emptyView.setVisibility(View.VISIBLE);
-                            recyclerView.setVisibility(View.GONE);
-                            EventBus.getDefault().post("right_read");
-                        } else {
-                            EventBus.getDefault().post("right_unread");
-                            emptyView.setVisibility(View.GONE);
-                            recyclerView.setVisibility(View.VISIBLE);
-                        }
-                        recyclerView.getAdapter().notifyDataSetChanged();
-                    }
-
-                    @Override
-                    public void onError(BaseMessage baseMessage) {
-                       /* emptyView.setVisibility(View.VISIBLE);
-                        recyclerView.setVisibility(View.GONE);*/
-                        LogUtil.logI("返回格式错误---" + new Gson().toJson(baseMessage));
-                    }
-                });
-    }
-
-    @Override
-    public void itemClick(int position) {
-        refreshData(1, 20);
-        if (getActivity() != null) {
-            Intent intent = new Intent(getActivity(), MessageInteractionDetailActivity.class);
-            intent.putExtra("position", position);
-            LogUtil.logI("loadData-----id---post--" + position);
-            startActivity(new Intent(intent));
-        }
-    }
-}

app/src/main/res/layout/activity_messagesystem.xml → app/src/main/res/layout/act_sys_nf_detail.xml