xiaoyong931011
2021-05-26 afdbaa02913adb95cb9701d1a0a3a3a65c48b13a
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMsgServiceImpl.java
@@ -15,19 +15,20 @@
import com.xcong.excoin.modules.member.entity.MemberSettingEntity;
import com.xcong.excoin.modules.otc.dao.OtcMsgHistoryDao;
import com.xcong.excoin.modules.otc.dao.OtcMsgUserListDao;
import com.xcong.excoin.modules.otc.dto.ChatBoxDto;
import com.xcong.excoin.modules.otc.dto.MsgListDto;
import com.xcong.excoin.modules.otc.dto.SendMsgDto;
import com.xcong.excoin.modules.otc.dao.OtcOrderDao;
import com.xcong.excoin.modules.otc.dto.*;
import com.xcong.excoin.modules.otc.entity.OtcMsgHistoryEntity;
import com.xcong.excoin.modules.otc.entity.OtcMsgUserListEntity;
import com.xcong.excoin.modules.otc.service.OtcMsgService;
import com.xcong.excoin.modules.otc.vo.ChatBoxVo;
import com.xcong.excoin.modules.otc.vo.ChatOrderVo;
import com.xcong.excoin.modules.otc.vo.MsgListVo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service
@@ -36,6 +37,7 @@
    private final OtcMsgUserListDao otcMsgUserListDao;
    private final OtcMsgHistoryDao otcMsgHistoryDao;
    private final OtcOrderDao otcOrderDao;
    private final MemberSettingDao memberSettingDao;
    private final MemberDao memberDao;
@@ -71,7 +73,7 @@
    @Transactional
    public Result getChatBox(ChatBoxDto chatBoxDto) {
        MemberEntity member = LoginUserUtils.getAppLoginUser();
//        MemberEntity member = memberDao.selectById(444L);
//        MemberEntity member = memberDao.selectById(443L);
        //对话是否存在
        long id = chatBoxDto.getId();
        if(ObjectUtil.isEmpty(id)){
@@ -171,5 +173,61 @@
        return Result.ok("发送成功");
    }
    @Override
    public Result getChatBoxConnect(ConnectDto connectDto) {
        MemberEntity member = LoginUserUtils.getAppLoginUser();
        Long memberId = member.getId();
//        Long memberId = 443L;
        long targetId = connectDto.getTargetId();
        if(ObjectUtil.isEmpty(targetId)){
            return Result.fail("请返回重试");
        }
        IPage<ChatBoxVo> chatBoxVos= new Page<>();
        List<OtcMsgUserListEntity> otcMsgUserListEntitys = otcMsgUserListDao.selectListByMemberIdAndTargetId(memberId,targetId);
        if(CollUtil.isNotEmpty(otcMsgUserListEntitys)){
            Page<ChatBoxVo> page = new Page<>(connectDto.getPageNum(), connectDto.getPageSize());
            OtcMsgHistoryEntity otcMsgHistoryEntity = new OtcMsgHistoryEntity();
            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);
    }
    @Override
    public Result getChatOrder(ChatOrderDto chatOrderDto) {
        MemberEntity member = LoginUserUtils.getAppLoginUser();
        Long memberId = member.getId();
//        Long memberId = 443L;
        long targetId = chatOrderDto.getTargetId();
        if(ObjectUtil.isEmpty(targetId)){
            return Result.fail("请返回重试");
        }
        ArrayList<ChatOrderVo> chatOrderVoList = new ArrayList<>();
        List<ChatOrderVo> chatOrderVos = otcOrderDao.selectByMemberIdAndTargetId(memberId,targetId);
        if(CollUtil.isNotEmpty(chatOrderVos)){
            for(ChatOrderVo chatOrderVo : chatOrderVos){
                if(memberId == chatOrderVo.getMemberId()){
                    chatOrderVoList.add(chatOrderVo);
                }
            }
        }
        return Result.ok(chatOrderVoList);
    }
}