From 74f7de5f9317e4937ad8504560fded09061e1455 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 27 May 2021 16:25:25 +0800
Subject: [PATCH] 20210527 最多三个待付款
---
src/main/java/com/xcong/excoin/modules/otc/dao/OtcOrderDao.java | 2 +
src/main/resources/mapper/otc/OtcOrderDao.xml | 18 +++++++++
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java | 58 ++++++++++++----------------
src/main/java/com/xcong/excoin/modules/otc/vo/MsgListVo.java | 3 +
4 files changed, 48 insertions(+), 33 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/otc/dao/OtcOrderDao.java b/src/main/java/com/xcong/excoin/modules/otc/dao/OtcOrderDao.java
index b39c27b..ca216ca 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/dao/OtcOrderDao.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/dao/OtcOrderDao.java
@@ -37,4 +37,6 @@
BigDecimal selectOrderTotalAmount(@Param("memberId") Long memberId);
List<ChatOrderVo> selectByMemberIdAndTargetId(@Param("memberId")Long memberId, @Param("targetId")long targetId);
+
+ List<ChatOrderVo> selectOneByMemberIdAndTargetId(@Param("memberId")Long memberId, @Param("targetId")long targetId);
}
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 ce6755b..69fce34 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;
@@ -54,11 +55,35 @@
otcMsgUserListEntity.setMemberId(memberId);
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();
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;
@@ -89,17 +114,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);
}
@@ -125,17 +139,6 @@
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> otcMsgUserListEntityFrom = otcMsgUserListDao.selectListByMemberIdAndTargetId(memberId,targetId);
if(CollUtil.isEmpty(otcMsgUserListEntityFrom)){
@@ -214,17 +217,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);
}
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 b8ad910..fd5317c 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
@@ -33,4 +33,7 @@
@ApiModelProperty(value = "最后聊天时间")
private Date lastMsgTime;
+ @ApiModelProperty(value = "最新的订单")
+ private ChatOrderVo chatOrderVo;
+
}
diff --git a/src/main/resources/mapper/otc/OtcOrderDao.xml b/src/main/resources/mapper/otc/OtcOrderDao.xml
index 20ac813..f932ed5 100644
--- a/src/main/resources/mapper/otc/OtcOrderDao.xml
+++ b/src/main/resources/mapper/otc/OtcOrderDao.xml
@@ -118,4 +118,22 @@
</select>
+ <select id="selectOneByMemberIdAndTargetId" resultType="com.xcong.excoin.modules.otc.vo.ChatOrderVo">
+ select
+ order_no orderNo,
+ member_id memberId,
+ unit_price unitPrice,
+ coin_amount usdtAmount,
+ total_amount totalAmount,
+ status status,
+ order_type orderType
+ from otc_order
+ where ((member_id=#{memberId} and opposite_member_id=#{targetId})
+ or
+ (member_id=#{targetId} and opposite_member_id=#{memberId}))
+ order by create_time desc
+ LIMIT 2
+
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1