123
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.Anchor;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.domain.UserCall;
|
||||
import com.ruoyi.cai.dto.admin.vo.UserCallAdminVo;
|
||||
import com.ruoyi.cai.dto.app.vo.UserCallAppVo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
/**
|
||||
@@ -20,4 +22,5 @@ public interface UserCallService extends IService<UserCall> {
|
||||
|
||||
Page<UserCallAdminVo> pageAdmin(PageQuery pageQuery, UserCallAdminVo bo);
|
||||
|
||||
IPage<UserCallAppVo> pageApp(PageQuery pageQuery, Integer type, Long userId);
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import com.ruoyi.cai.mapper.SysPushMapper;
|
||||
import com.ruoyi.cai.mq.AmqpProducer;
|
||||
import com.ruoyi.cai.mq.CommonDelayTypeEnum;
|
||||
import com.ruoyi.cai.mq.dto.CommonDelayDto;
|
||||
import com.ruoyi.cai.mq.handle.dto.SysPushDTO;
|
||||
import com.ruoyi.cai.mq.handle.dto.SysPushNotifyDTO;
|
||||
import com.ruoyi.cai.notice.data.NoticeMsgR;
|
||||
import com.ruoyi.cai.notice.data.NoticeOnlyImageR;
|
||||
import com.ruoyi.cai.notice.data.NoticeR;
|
||||
@@ -46,7 +46,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@@ -211,7 +210,7 @@ public class SysPushServiceImpl extends ServiceImpl<SysPushMapper, SysPush> impl
|
||||
if(!update){
|
||||
throw new ServiceException("正在执行中,请稍等");
|
||||
}
|
||||
SysPushDTO sysPush = new SysPushDTO();
|
||||
SysPushNotifyDTO sysPush = new SysPushNotifyDTO();
|
||||
sysPush.setSysPushId(id);
|
||||
amqpProducer.sendCommonMq(sysPush);
|
||||
}
|
||||
|
||||
@@ -1,20 +1,28 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.dto.admin.vo.UserCallAdminVo;
|
||||
import com.ruoyi.cai.dto.app.vo.UserCallAppVo;
|
||||
import com.ruoyi.cai.mapper.UserCallMapper;
|
||||
import com.ruoyi.cai.service.AccountService;
|
||||
import com.ruoyi.cai.service.UnionUserService;
|
||||
import com.ruoyi.cai.service.UserCallService;
|
||||
import com.ruoyi.cai.service.UserInviteService;
|
||||
import com.ruoyi.cai.service.*;
|
||||
import com.ruoyi.cai.util.IPageUtil;
|
||||
import com.ruoyi.cai.ws.constant.RoomStatusEnums;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* 通话记录Service业务层处理
|
||||
*
|
||||
@@ -62,8 +70,85 @@ public class UserCallServiceImpl extends ServiceImpl<UserCallMapper, UserCall> i
|
||||
return userCall;
|
||||
}
|
||||
|
||||
/**
|
||||
* 类型 0 全部 1 主打者 2 被打者
|
||||
*/
|
||||
@Override
|
||||
public Page<UserCallAdminVo> pageAdmin(PageQuery pageQuery, UserCallAdminVo bo) {
|
||||
return baseMapper.pageAdmin(pageQuery.build(),bo);
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
|
||||
@Override
|
||||
public IPage<UserCallAppVo> pageApp(PageQuery pageQuery, Integer type,Long userId) {
|
||||
if(type == null){
|
||||
type = 0;
|
||||
}
|
||||
LambdaQueryWrapper<UserCall> query = Wrappers.lambdaQuery(UserCall.class);
|
||||
if(type == 1){
|
||||
query.eq(UserCall::getFromUid,userId);
|
||||
}else if(type == 2){
|
||||
query.eq(UserCall::getToUid,userId);
|
||||
}else {
|
||||
query.and(i -> i.eq(UserCall::getFromUid,userId).or().eq(UserCall::getToUid,userId));
|
||||
}
|
||||
query.eq(UserCall::getDeleteFlag, 0);
|
||||
query.orderByDesc(UserCall::getId);
|
||||
Page<UserCall> page = this.page(pageQuery.build(), query);
|
||||
List<UserCall> records = page.getRecords();
|
||||
if(records.isEmpty()){
|
||||
return IPageUtil.transIPageEmpty(page);
|
||||
}
|
||||
Set<Long> userIds = records.stream().flatMap(c -> Stream.of(c.getToUid(),c.getFromUid())).collect(Collectors.toSet());
|
||||
List<User> users = userService.listByIds(userIds);
|
||||
Map<Long, User> userMap = users.stream().collect(Collectors.toMap(User::getId, Function.identity()));
|
||||
List<UserCallAppVo> result = new ArrayList<>();
|
||||
for (UserCall record : records) {
|
||||
UserCallAppVo vo = new UserCallAppVo();
|
||||
vo.setId(record.getId());
|
||||
Long toUid;
|
||||
if(userId.equals(record.getFromUid())){ // 拨打方
|
||||
vo.setType(1);
|
||||
toUid = record.getToUid();
|
||||
}else{
|
||||
vo.setType(2);
|
||||
toUid = record.getFromUid();
|
||||
}
|
||||
User user = userMap.get(toUid);
|
||||
if(user != null){
|
||||
vo.setOtherType(user.getType());
|
||||
vo.setUserId(user.getId());
|
||||
vo.setUsercode(user.getUsercode());
|
||||
vo.setNickname(user.getNickname());
|
||||
vo.setAvatar(user.getAvatar());
|
||||
vo.setGender(user.getGender());
|
||||
vo.setAge(user.getAge());
|
||||
vo.setCity(user.getCity());
|
||||
vo.setCityId(user.getCityId());
|
||||
}
|
||||
Integer status = record.getStatus();
|
||||
if(status <= RoomStatusEnums.STATUS_CONNECT_CANCEL.getCode()){ // 4
|
||||
vo.setStatus(1);
|
||||
vo.setStatusText("取消");
|
||||
}else if(status.equals(RoomStatusEnums.STATUS_REFUSE.getCode())){ // 6
|
||||
vo.setStatus(2);
|
||||
vo.setStatusText("拒绝");
|
||||
}else if(status.equals(RoomStatusEnums.STATUS_TIMEOUT_CANCEL.getCode())){ // 5
|
||||
vo.setStatus(3);
|
||||
vo.setStatusText("超时");
|
||||
}if(status > RoomStatusEnums.STATUS_REFUSE.getCode()){ // 6
|
||||
vo.setStatus(4);
|
||||
vo.setStatusText("已接通");
|
||||
}
|
||||
if(record.getBeginTime() != null){
|
||||
vo.setCreateTime(record.getBeginTime());
|
||||
}else{
|
||||
vo.setCreateTime(record.getCreateTime());
|
||||
}
|
||||
result.add(vo);
|
||||
}
|
||||
return IPageUtil.transIPage(page,result);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user