From 06bbe3130549b941be8c46564cf4b1e4c85edacb Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 03 Jun 2021 17:05:05 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java | 127 ++++++++++++++++++++++++------------------
1 files changed, 73 insertions(+), 54 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 ef8c087..67a62fa 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
@@ -4,6 +4,7 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -47,23 +48,45 @@
public IPage<MsgListVo> getMsgList(MsgListDto msgListDto) {
MemberEntity member = LoginUserUtils.getAppLoginUser();
Long memberId = member.getId();
-// Long memberId = 445L;
+// Long memberId = 444L;
+// MemberEntity member = memberDao.selectById(memberId);
+
Page<MsgListVo> page = new Page<>(msgListDto.getPageNum(), msgListDto.getPageSize());
OtcMsgUserListEntity otcMsgUserListEntity = new OtcMsgUserListEntity();
otcMsgUserListEntity.setMemberId(memberId);
+ otcMsgUserListEntity.setNickname(msgListDto.getNickname());
IPage<MsgListVo> msgList = otcMsgUserListDao.getMsgList(otcMsgUserListEntity, page);
List<MsgListVo> records = msgList.getRecords();
+ //更新最外层的消息提醒
+ boolean flag = true;
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());
+// MemberEntity memberEntity = memberDao.selectById(targetId);
+// msgListVo.setNickname(memberEntity.getName());
+
+ ChatOrderVo chatOrderVo = new ChatOrderVo();
+ List<ChatOrderVo> chatOrderVos = otcOrderDao.selectOneByMemberIdAndTargetId(memberId,targetId);
+ if(CollUtil.isNotEmpty(chatOrderVos)){
+ for(ChatOrderVo chatOrderVodone : chatOrderVos){
+ Long memberIdDone = chatOrderVodone.getMemberId();
+ if(memberId.equals(memberIdDone) || memberId == memberIdDone){
+ chatOrderVo = chatOrderVodone;
+ }
+ }
}
+ msgListVo.setChatOrderVo(chatOrderVo);
+
+ Integer isRead = msgListVo.getIsRead();
+ if(OtcMsgUserListEntity.ISREAD_ONE == isRead){
+ flag = false;
+ }
+ }
+ if(flag){
+ MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(member.getId());
+ memberSettingEntity.setMessageReminder(0);
+ memberSettingDao.updateById(memberSettingEntity);
}
}
return msgList;
@@ -94,17 +117,6 @@
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);
}
@@ -113,7 +125,7 @@
public Result sendMsg(SendMsgDto sendMsgDto) {
MemberEntity member = LoginUserUtils.getAppLoginUser();
Long memberId = member.getId();
-// Long memberId = 445L;
+// Long memberId = 449L;
long targetId = sendMsgDto.getTargetId();
if(ObjectUtil.isEmpty(targetId)){
return Result.fail("对话用户不存在");
@@ -130,41 +142,58 @@
if(ObjectUtil.isEmpty(msgType)){
return Result.fail("请输入发送消息");
}
- /**
- * 是否有记录
- * 有就更新,没有就新增
- * 在消息列表中增加一条记录
- * 在历史记录中增加一条记录
- * 增加一个提醒的
- */
-// QueryWrapper<OtcMsgHistoryEntity> objectQueryWrapper = new QueryWrapper<>();
-// objectQueryWrapper.eq("member_id",memberId);
-// objectQueryWrapper.eq("target_id",targetId);
-// OtcMsgUserListEntity otcMsgUserListEntity = otcMsgUserListDao.selectById(objectQueryWrapper);
- List<OtcMsgUserListEntity> otcMsgUserListEntitys = otcMsgUserListDao.selectListByMemberIdAndTargetId(memberId,targetId);
- if(CollUtil.isEmpty(otcMsgUserListEntitys)){
+ //发送方
+ List<OtcMsgUserListEntity> otcMsgUserListEntityFrom = otcMsgUserListDao.selectListByMemberIdAndTargetId(memberId,targetId);
+ if(CollUtil.isEmpty(otcMsgUserListEntityFrom)){
OtcMsgUserListEntity otcMsgUserListEntity = new OtcMsgUserListEntity();
otcMsgUserListEntity.setMemberId(memberId);
otcMsgUserListEntity.setTargetId(targetId);
+ otcMsgUserListEntity.setIsRead(OtcMsgUserListEntity.ISREAD_TWO);
+ otcMsgUserListEntity.setLastMsgTime(DateUtil.date());
+ otcMsgUserListDao.insert(otcMsgUserListEntity);
+ }else{
+ OtcMsgUserListEntity otcMsgUserListEntity = otcMsgUserListEntityFrom.get(0);
+ otcMsgUserListEntity.setMemberId(memberId);
+ otcMsgUserListEntity.setTargetId(targetId);
+ otcMsgUserListEntity.setIsRead(OtcMsgUserListEntity.ISREAD_TWO);
+ otcMsgUserListEntity.setLastMsgTime(DateUtil.date());
+ otcMsgUserListDao.updateById(otcMsgUserListEntity);
+ }
+ //历史消息中增加新纪录
+ OtcMsgHistoryEntity otcMsgHistoryEntityFrom = new OtcMsgHistoryEntity();
+ otcMsgHistoryEntityFrom.setMemberId(memberId);
+ otcMsgHistoryEntityFrom.setFromMemberId(memberId);
+ otcMsgHistoryEntityFrom.setTargetId(targetId);
+ otcMsgHistoryEntityFrom.setMsg(msg);
+ otcMsgHistoryEntityFrom.setMsgType(msgType);
+ otcMsgHistoryEntityFrom.setIsSelf(OtcMsgHistoryEntity.ISSELF_ONE);
+ otcMsgHistoryDao.insert(otcMsgHistoryEntityFrom);
+ //接受方
+ List<OtcMsgUserListEntity> otcMsgUserListEntityTo = otcMsgUserListDao.selectListByMemberIdAndTargetId(targetId,memberId);
+ if(CollUtil.isEmpty(otcMsgUserListEntityTo)){
+ OtcMsgUserListEntity otcMsgUserListEntity = new OtcMsgUserListEntity();
+ otcMsgUserListEntity.setMemberId(targetId);
+ otcMsgUserListEntity.setTargetId(memberId);
otcMsgUserListEntity.setIsRead(OtcMsgUserListEntity.ISREAD_ONE);
otcMsgUserListEntity.setLastMsgTime(DateUtil.date());
otcMsgUserListDao.insert(otcMsgUserListEntity);
}else{
- OtcMsgUserListEntity otcMsgUserListEntity = otcMsgUserListEntitys.get(0);
- otcMsgUserListEntity.setMemberId(memberId);
- otcMsgUserListEntity.setTargetId(targetId);
+ OtcMsgUserListEntity otcMsgUserListEntity = otcMsgUserListEntityTo.get(0);
+ otcMsgUserListEntity.setMemberId(targetId);
+ otcMsgUserListEntity.setTargetId(memberId);
otcMsgUserListEntity.setIsRead(OtcMsgUserListEntity.ISREAD_ONE);
otcMsgUserListEntity.setLastMsgTime(DateUtil.date());
otcMsgUserListDao.updateById(otcMsgUserListEntity);
}
-
//历史消息中增加新纪录
- OtcMsgHistoryEntity otcMsgHistoryEntity = new OtcMsgHistoryEntity();
- otcMsgHistoryEntity.setMemberId(memberId);
- otcMsgHistoryEntity.setTargetId(targetId);
- otcMsgHistoryEntity.setMsg(msg);
- otcMsgHistoryEntity.setMsgType(msgType);
- otcMsgHistoryDao.insert(otcMsgHistoryEntity);
+ OtcMsgHistoryEntity otcMsgHistoryEntityTo = new OtcMsgHistoryEntity();
+ otcMsgHistoryEntityTo.setMemberId(targetId);
+ otcMsgHistoryEntityTo.setFromMemberId(memberId);
+ otcMsgHistoryEntityTo.setTargetId(targetId);
+ otcMsgHistoryEntityTo.setMsg(msg);
+ otcMsgHistoryEntityTo.setMsgType(msgType);
+ otcMsgHistoryEntityTo.setIsSelf(OtcMsgHistoryEntity.ISSELF_TWO);
+ otcMsgHistoryDao.insert(otcMsgHistoryEntityTo);
//增加一个提醒的
MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(targetId);
@@ -191,17 +220,6 @@
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);
}
@@ -221,7 +239,8 @@
List<ChatOrderVo> chatOrderVos = otcOrderDao.selectByMemberIdAndTargetId(memberId,targetId);
if(CollUtil.isNotEmpty(chatOrderVos)){
for(ChatOrderVo chatOrderVo : chatOrderVos){
- if(memberId == chatOrderVo.getMemberId()){
+ Long memberIdDone = chatOrderVo.getMemberId();
+ if(memberId.equals(memberIdDone) || memberId == memberIdDone){
chatOrderVoList.add(chatOrderVo);
}
}
--
Gitblit v1.9.1