From 229e0ec1a577d604f15ed9659d7c2f0cd7edf8cd Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 27 May 2021 15:00:12 +0800
Subject: [PATCH] Merge branch 'otc' of http://120.27.238.55:7000/r/exchange into otc
---
src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgHistoryEntity.java | 7 ++
src/main/resources/mapper/otc/OtcMsgHistoryDao.xml | 11 ++-
src/main/java/com/xcong/excoin/modules/otc/vo/ChatBoxVo.java | 5 +
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java | 109 ++++++++++++++++++++++--------------
src/main/resources/mapper/otc/OtcMsgUserListDao.xml | 6 -
5 files changed, 86 insertions(+), 52 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgHistoryEntity.java b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgHistoryEntity.java
index 736fa8e..daa3662 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgHistoryEntity.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcMsgHistoryEntity.java
@@ -12,6 +12,8 @@
//用户ID
private long memberId;
+ //发送方
+ private long fromMemberId;
//对方用户ID
private long targetId;
@@ -20,4 +22,9 @@
//消息类型 1-文本2-图片
private Integer msgType;
+
+ //是不是memberId发的消息 1:是 2:否
+ private Integer isSelf;
+ public static final Integer ISSELF_ONE = 1;
+ public static final Integer ISSELF_TWO = 2;
}
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 769bfa8..ce6755b 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
@@ -47,7 +47,7 @@
public IPage<MsgListVo> getMsgList(MsgListDto msgListDto) {
MemberEntity member = LoginUserUtils.getAppLoginUser();
Long memberId = member.getId();
-// Long memberId = 445L;
+// Long memberId = 443L;
Page<MsgListVo> page = new Page<>(msgListDto.getPageNum(), msgListDto.getPageSize());
OtcMsgUserListEntity otcMsgUserListEntity = new OtcMsgUserListEntity();
@@ -57,13 +57,8 @@
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());
}
}
return msgList;
@@ -94,17 +89,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);
- }
- }
- }
+// 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 +108,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("对话用户不存在");
@@ -141,30 +136,58 @@
// 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 +214,17 @@
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);
- }
- }
- }
+// 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);
}
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 e35db34..25318f3 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
@@ -15,9 +15,12 @@
@ApiModelProperty(value = "时间")
private Date createTime;
- @ApiModelProperty(value = "对方用户ID")
+ @ApiModelProperty(value = "接受ID")
private long targetId;
+ @ApiModelProperty(value = "发送ID")
+ private long fromMemberId;
+
@ApiModelProperty(value = "用户ID")
private long memberId;
diff --git a/src/main/resources/mapper/otc/OtcMsgHistoryDao.xml b/src/main/resources/mapper/otc/OtcMsgHistoryDao.xml
index 3a3869e..4d4f1a1 100644
--- a/src/main/resources/mapper/otc/OtcMsgHistoryDao.xml
+++ b/src/main/resources/mapper/otc/OtcMsgHistoryDao.xml
@@ -9,13 +9,18 @@
a.msg msg,
a.target_id targetId,
a.member_id memberId,
+ a.from_member_id fromMemberId,
+ a.is_self isSelf,
a.msg_type msgType
from otc_msg_history a
<where>
<if test="record!=null">
- (a.member_id = ${record.memberId} and a.target_id = ${record.targetId})
- or
- (a.member_id = ${record.targetId} and a.target_id = ${record.memberId})
+ a.member_id = ${record.memberId}
+ and (
+ (a.from_member_id = ${record.memberId} and a.target_id = ${record.targetId})
+ or
+ (a.from_member_id = ${record.targetId} and a.target_id = ${record.memberId})
+ )
</if>
</where>
order by a.create_time asc
diff --git a/src/main/resources/mapper/otc/OtcMsgUserListDao.xml b/src/main/resources/mapper/otc/OtcMsgUserListDao.xml
index da6bbfa..0be3ee3 100644
--- a/src/main/resources/mapper/otc/OtcMsgUserListDao.xml
+++ b/src/main/resources/mapper/otc/OtcMsgUserListDao.xml
@@ -13,8 +13,6 @@
<where>
<if test="record!=null">
a.member_id = #{record.memberId}
- or
- a.target_id = #{record.memberId}
</if>
</where>
order by a.create_time desc
@@ -25,9 +23,7 @@
*
from otc_msg_user_list a
<where>
- (a.member_id = #{memberId} and a.target_id = #{targetId})
- or
- (a.member_id = #{targetId} and a.target_id = #{memberId})
+ a.member_id = #{memberId} and a.target_id = #{targetId}
</where>
order by a.create_time desc
</select>
--
Gitblit v1.9.1