From 4ac2bde488291508f3535fdee690c3189aa5a8ba Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 26 May 2021 19:46:14 +0800
Subject: [PATCH] 20210526  聊天

---
 src/main/java/com/xcong/excoin/modules/otc/dto/ChatBoxDto.java                 |    3 +
 src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java |   34 +++++++++++++++++
 src/main/java/com/xcong/excoin/modules/otc/controller/OtcMsgController.java    |   18 ++++++--
 src/main/java/com/xcong/excoin/modules/otc/service/OtcMsgService.java          |    3 +
 src/main/java/com/xcong/excoin/modules/otc/dto/ConnectDto.java                 |   20 ++++++++++
 5 files changed, 73 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/otc/controller/OtcMsgController.java b/src/main/java/com/xcong/excoin/modules/otc/controller/OtcMsgController.java
index cd3339f..4e81c56 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/controller/OtcMsgController.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/controller/OtcMsgController.java
@@ -2,14 +2,10 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.xcong.excoin.common.response.Result;
-import com.xcong.excoin.modules.otc.dto.ChatBoxDto;
-import com.xcong.excoin.modules.otc.dto.MsgListDto;
-import com.xcong.excoin.modules.otc.dto.OrderListDto;
-import com.xcong.excoin.modules.otc.dto.SendMsgDto;
+import com.xcong.excoin.modules.otc.dto.*;
 import com.xcong.excoin.modules.otc.service.OtcMsgService;
 import com.xcong.excoin.modules.otc.vo.ChatBoxVo;
 import com.xcong.excoin.modules.otc.vo.MsgListVo;
-import com.xcong.excoin.modules.otc.vo.OrderListVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -46,6 +42,18 @@
     }
 
     /**
+     * 联系卖家或者联系买家
+     */
+    @ApiOperation(value = "联系卖家或者联系买家")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ChatBoxVo.class)
+    })
+    @PostMapping(value = "/getChatBoxConnect")
+    public Result getChatBoxConnect(@RequestBody ConnectDto connectDto) {
+        return otcMsgService.getChatBoxConnect(connectDto);
+    }
+
+    /**
      * 进入聊天框,获取聊天记录
      */
     @ApiOperation(value = "进入聊天框,获取聊天记录")
diff --git a/src/main/java/com/xcong/excoin/modules/otc/dto/ChatBoxDto.java b/src/main/java/com/xcong/excoin/modules/otc/dto/ChatBoxDto.java
index fc895cb..e9d2fd2 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/dto/ChatBoxDto.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/dto/ChatBoxDto.java
@@ -16,4 +16,7 @@
 
     @ApiModelProperty(value = "ID", example = "1")
     private long id;
+
+    @ApiModelProperty(value = "目标ID", example = "1")
+    private long targetId;
 }
diff --git a/src/main/java/com/xcong/excoin/modules/otc/dto/ConnectDto.java b/src/main/java/com/xcong/excoin/modules/otc/dto/ConnectDto.java
new file mode 100644
index 0000000..ba86ede
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/otc/dto/ConnectDto.java
@@ -0,0 +1,20 @@
+package com.xcong.excoin.modules.otc.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ConnectDto", description = "参数接收类")
+public class ConnectDto {
+
+    @ApiModelProperty(value = "条数", example = "10")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "页码", example = "1")
+    private Integer pageNum;
+
+    @ApiModelProperty(value = "目标ID", example = "1")
+    private long targetId;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/OtcMsgService.java b/src/main/java/com/xcong/excoin/modules/otc/service/OtcMsgService.java
index 6d45ccf..5c027e9 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/service/OtcMsgService.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/service/OtcMsgService.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xcong.excoin.common.response.Result;
 import com.xcong.excoin.modules.otc.dto.ChatBoxDto;
+import com.xcong.excoin.modules.otc.dto.ConnectDto;
 import com.xcong.excoin.modules.otc.dto.MsgListDto;
 import com.xcong.excoin.modules.otc.dto.SendMsgDto;
 import com.xcong.excoin.modules.otc.entity.OtcMsgUserListEntity;
@@ -17,4 +18,6 @@
     Result getChatBox(ChatBoxDto chatBoxDto);
 
     Result sendMsg(SendMsgDto sendMsgDto);
+
+    Result getChatBoxConnect(ConnectDto connectDto);
 }
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 61e92c7..ed01fec 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
@@ -16,6 +16,7 @@
 import com.xcong.excoin.modules.otc.dao.OtcMsgHistoryDao;
 import com.xcong.excoin.modules.otc.dao.OtcMsgUserListDao;
 import com.xcong.excoin.modules.otc.dto.ChatBoxDto;
+import com.xcong.excoin.modules.otc.dto.ConnectDto;
 import com.xcong.excoin.modules.otc.dto.MsgListDto;
 import com.xcong.excoin.modules.otc.dto.SendMsgDto;
 import com.xcong.excoin.modules.otc.entity.OtcMsgHistoryEntity;
@@ -171,5 +172,38 @@
         return Result.ok("发送成功");
     }
 
+    @Override
+    public Result getChatBoxConnect(ConnectDto connectDto) {
+
+        MemberEntity member = LoginUserUtils.getAppLoginUser();
+        Long memberId = member.getId();
+//        Long memberId = 443L;
+        long targetId = connectDto.getTargetId();
+        if(ObjectUtil.isEmpty(targetId)){
+            return Result.fail("请返回重试");
+        }
+        IPage<ChatBoxVo> chatBoxVos= new Page<>();
+        List<OtcMsgUserListEntity> otcMsgUserListEntitys = otcMsgUserListDao.selectListByMemberIdAndTargetId(memberId,targetId);
+        if(CollUtil.isNotEmpty(otcMsgUserListEntitys)){
+            Page<ChatBoxVo> page = new Page<>(connectDto.getPageNum(), connectDto.getPageSize());
+            OtcMsgHistoryEntity otcMsgHistoryEntity = new OtcMsgHistoryEntity();
+            otcMsgHistoryEntity.setMemberId(memberId);
+            otcMsgHistoryEntity.setTargetId(targetId);
+            chatBoxVos = otcMsgHistoryDao.getChatBoxMsgList(page,otcMsgHistoryEntity);
+            List<ChatBoxVo> records = chatBoxVos.getRecords();
+            if(CollUtil.isNotEmpty(records)){
+                for(ChatBoxVo chatBoxVo : records){
+                    long memberIds = chatBoxVo.getMemberId();
+                    if(memberIds == memberId){
+                        chatBoxVo.setIsSelf(1);
+                    }else{
+                        chatBoxVo.setIsSelf(2);
+                    }
+                }
+            }
+        }
+        return Result.ok(chatBoxVos);
+    }
+
 
 }

--
Gitblit v1.9.1