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