xiaoyong931011
2021-05-26 cd300053b140903098916b8f067eb09fc5b9eb2d
20210526  聊天
5 files modified
48 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java 30 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/otc/vo/ChatBoxVo.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/otc/vo/MsgListVo.java 9 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/otc/OtcMsgHistoryDao.xml 1 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/otc/OtcMsgUserListDao.xml 2 ●●●●● patch | view | raw | blame | history
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);
    }
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;
}
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;
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>
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>