From cd300053b140903098916b8f067eb09fc5b9eb2d Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 26 May 2021 18:29:21 +0800
Subject: [PATCH] 20210526  聊天

---
 src/main/resources/mapper/otc/OtcMsgHistoryDao.xml                             |    1 +
 src/main/java/com/xcong/excoin/modules/otc/vo/ChatBoxVo.java                   |    6 ++++++
 src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java |   30 ++++++++++++++++++++++++++++--
 src/main/java/com/xcong/excoin/modules/otc/vo/MsgListVo.java                   |    9 +++++++++
 src/main/resources/mapper/otc/OtcMsgUserListDao.xml                            |    2 ++
 5 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java
index 3b8212a..e1b6542 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java
@@ -45,18 +45,33 @@
     public IPage<MsgListVo> getMsgList(MsgListDto msgListDto) {
         MemberEntity member = LoginUserUtils.getAppLoginUser();
         Long memberId = member.getId();
-//        Long memberId = 444L;
+//        Long memberId = 445L;
         Page<MsgListVo> page = new Page<>(msgListDto.getPageNum(), msgListDto.getPageSize());
 
         OtcMsgUserListEntity otcMsgUserListEntity = new OtcMsgUserListEntity();
         otcMsgUserListEntity.setMemberId(memberId);
-        return otcMsgUserListDao.getMsgList(otcMsgUserListEntity, page);
+        IPage<MsgListVo> msgList = otcMsgUserListDao.getMsgList(otcMsgUserListEntity, page);
+        List<MsgListVo> records = msgList.getRecords();
+        if(CollUtil.isNotEmpty(records)){
+            for(MsgListVo msgListVo : records){
+                long targetId = msgListVo.getTargetId();
+                if(memberId == targetId){
+                    MemberEntity memberEntity = memberDao.selectById(msgListVo.getMemberId());
+                    msgListVo.setNickname(memberEntity.getName());
+                }else{
+                    MemberEntity memberEntity = memberDao.selectById(targetId);
+                    msgListVo.setNickname(memberEntity.getName());
+                }
+            }
+        }
+        return msgList;
     }
 
     @Override
     @Transactional
     public Result getChatBox(ChatBoxDto chatBoxDto) {
         MemberEntity member = LoginUserUtils.getAppLoginUser();
+//        MemberEntity member = memberDao.selectById(444L);
         //对话是否存在
         long id = chatBoxDto.getId();
         if(ObjectUtil.isEmpty(id)){
@@ -77,6 +92,17 @@
         otcMsgHistoryEntity.setMemberId(memberId);
         otcMsgHistoryEntity.setTargetId(targetId);
         IPage<ChatBoxVo> chatBoxVos= otcMsgHistoryDao.getChatBoxMsgList(page,otcMsgHistoryEntity);
+        List<ChatBoxVo> records = chatBoxVos.getRecords();
+        if(CollUtil.isNotEmpty(records)){
+            for(ChatBoxVo chatBoxVo : records){
+                long memberIds = chatBoxVo.getMemberId();
+                if(memberIds == member.getId()){
+                    chatBoxVo.setIsSelf(1);
+                }else{
+                    chatBoxVo.setIsSelf(2);
+                }
+            }
+        }
         return Result.ok(chatBoxVos);
     }
 
diff --git a/src/main/java/com/xcong/excoin/modules/otc/vo/ChatBoxVo.java b/src/main/java/com/xcong/excoin/modules/otc/vo/ChatBoxVo.java
index 01e2acf..e35db34 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/vo/ChatBoxVo.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/vo/ChatBoxVo.java
@@ -18,6 +18,9 @@
     @ApiModelProperty(value = "对方用户ID")
     private long targetId;
 
+    @ApiModelProperty(value = "用户ID")
+    private long memberId;
+
     //消息
     @ApiModelProperty(value = "消息")
     private String msg;
@@ -26,4 +29,7 @@
     @ApiModelProperty(value = "消息类型 1-文本2-图片")
     private Integer msgType;
 
+    @ApiModelProperty(value = "是否是自己 1:是 2:否")
+    private Integer isSelf;
+
 }
diff --git a/src/main/java/com/xcong/excoin/modules/otc/vo/MsgListVo.java b/src/main/java/com/xcong/excoin/modules/otc/vo/MsgListVo.java
index 74ea1ac..b8ad910 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/vo/MsgListVo.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/vo/MsgListVo.java
@@ -15,6 +15,15 @@
     @ApiModelProperty(value = "用户ID")
     private long id;
 
+    @ApiModelProperty(value = "昵称")
+    private String nickname;
+
+    @ApiModelProperty(value = "对方用户ID")
+    private long targetId;
+
+    @ApiModelProperty(value = "用户ID")
+    private long memberId;
+
     //是否已读 1:未读 2:已读
     @ApiModelProperty(value = "是否已读 1:未读 2:已读")
     private Integer isRead;
diff --git a/src/main/resources/mapper/otc/OtcMsgHistoryDao.xml b/src/main/resources/mapper/otc/OtcMsgHistoryDao.xml
index b36f8fd..47a519d 100644
--- a/src/main/resources/mapper/otc/OtcMsgHistoryDao.xml
+++ b/src/main/resources/mapper/otc/OtcMsgHistoryDao.xml
@@ -8,6 +8,7 @@
         a.create_time createTime,
         a.msg msg,
         a.target_id targetId,
+        a.member_id memberId,
         a.msg_type msgType
         from otc_msg_history a
         <where>
diff --git a/src/main/resources/mapper/otc/OtcMsgUserListDao.xml b/src/main/resources/mapper/otc/OtcMsgUserListDao.xml
index 88c3f56..a1d336c 100644
--- a/src/main/resources/mapper/otc/OtcMsgUserListDao.xml
+++ b/src/main/resources/mapper/otc/OtcMsgUserListDao.xml
@@ -6,6 +6,8 @@
         select
                a.id id,
                a.is_read isRead,
+               a.target_id targetId,
+               a.member_id memberId,
                a.last_msg_time lastMsgTime
         from otc_msg_user_list a
         <where>

--
Gitblit v1.9.1