init
This commit is contained in:
@@ -19,7 +19,7 @@ import java.util.List;
|
||||
*/
|
||||
public interface CaiDynamicService extends IService<CaiDynamic> {
|
||||
|
||||
List<DynamicVo> selectDynamicList(Long userId, Integer limit);
|
||||
List<String> selectDynamicImageList(Long userId, Integer limit);
|
||||
|
||||
Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery query);
|
||||
|
||||
|
||||
@@ -14,4 +14,5 @@ import java.util.List;
|
||||
public interface CaiGiftService extends IService<CaiGift> {
|
||||
|
||||
List<CaiGift> all();
|
||||
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiGuardTotal;
|
||||
import com.ruoyi.cai.dto.app.dto.GuardNum;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardReq;
|
||||
import com.ruoyi.cai.dto.app.vo.GuardTotalVo;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.cai.dto.app.vo.index.GuardIndexVo;
|
||||
import com.ruoyi.cai.dto.app.vo.index.GuardListPageVo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
/**
|
||||
* 守护用户累计Service接口
|
||||
@@ -16,9 +17,11 @@ import java.util.List;
|
||||
*/
|
||||
public interface CaiGuardTotalService extends IService<CaiGuardTotal> {
|
||||
|
||||
List<GuardTotalVo> selectGuardTotalLimit(Long fromUserId,Integer limit);
|
||||
GuardIndexVo guardInfoVo(Long fromUserId,Long toUserId, Integer limit);
|
||||
|
||||
boolean giveGuard(GiveGuardReq query);
|
||||
|
||||
GuardNum getGuardNum(Long fromUserId, Long toUserId);
|
||||
|
||||
Page<GuardListPageVo> userGuardPage(PageQuery pageQuery, Long userId);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.ruoyi.cai.service;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiUserGift;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGiftRes;
|
||||
import com.ruoyi.cai.dto.app.vo.UserGiftVo;
|
||||
import com.ruoyi.cai.dto.app.vo.index.UserGiftIndexVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
*/
|
||||
public interface CaiUserGiftService extends IService<CaiUserGift> {
|
||||
|
||||
List<UserGiftVo> selectGiftList(Long userId);
|
||||
List<UserGiftIndexVo> selectGiftList(Long userId);
|
||||
|
||||
boolean giveGift(GiveGiftRes query);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiUserOnline;
|
||||
import com.ruoyi.cai.dto.app.vo.user.OnlineStatusVo;
|
||||
|
||||
/**
|
||||
* 用户在线状态Service接口
|
||||
@@ -11,4 +12,7 @@ import com.ruoyi.cai.domain.CaiUserOnline;
|
||||
*/
|
||||
public interface CaiUserOnlineService extends IService<CaiUserOnline> {
|
||||
|
||||
CaiUserOnline getByUserId(Long userId);
|
||||
|
||||
OnlineStatusVo onlineStatus(Long userId, Integer openVideoStatus, Integer videoStatus, Integer isAnchor);
|
||||
}
|
||||
|
||||
@@ -50,24 +50,8 @@ public class CaiDynamicServiceImpl extends ServiceImpl<CaiDynamicMapper,CaiDynam
|
||||
private SystemConfigManager systemConfigManager;
|
||||
|
||||
@Override
|
||||
public List<DynamicVo> selectDynamicList(Long userId, Integer limit) {
|
||||
List<CaiDynamic> list = this.list(Wrappers.lambdaQuery(CaiDynamic.class)
|
||||
.eq(CaiDynamic::getUserId, userId)
|
||||
.eq(CaiDynamic::getStatus, 1)
|
||||
.orderByDesc(CaiDynamic::getCreateTime)
|
||||
.last("limit "+ limit));
|
||||
List<DynamicVo> res = BeanConvertUtil.convertListTo(list, DynamicVo::new);
|
||||
List<Long> dynamicIds = res.stream().filter(i -> i.getIsAttach() == 1).map(DynamicVo::getId).collect(Collectors.toList());
|
||||
if(CollectionUtil.isNotEmpty(dynamicIds)){
|
||||
List<CaiDynamicImages> dynamicImages = dynamicImagesService.list(Wrappers.lambdaQuery(CaiDynamicImages.class)
|
||||
.in(CaiDynamicImages::getDynamicId, dynamicIds));
|
||||
Map<Long, List<CaiDynamicImages>> map =
|
||||
dynamicImages.stream().collect(Collectors.groupingBy(CaiDynamicImages::getDynamicId));
|
||||
for (DynamicVo re : res) {
|
||||
List<CaiDynamicImages> images = map.get(re.getId());
|
||||
re.setImageList(BeanConvertUtil.convertListTo(images, DynamicImageVo::new));
|
||||
}
|
||||
}
|
||||
public List<String> selectDynamicImageList(Long userId, Integer limit) {
|
||||
List<String> res = baseMapper.selectDynamicImageList(userId,limit);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
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.CaiAnchor;
|
||||
import com.ruoyi.cai.domain.CaiConsumeLog;
|
||||
@@ -8,13 +9,16 @@ import com.ruoyi.cai.domain.CaiGuardTotal;
|
||||
import com.ruoyi.cai.domain.CaiUser;
|
||||
import com.ruoyi.cai.dto.app.dto.GuardNum;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGuardReq;
|
||||
import com.ruoyi.cai.dto.app.vo.GuardTotalVo;
|
||||
import com.ruoyi.cai.dto.app.dto.GuardTotalDTO;
|
||||
import com.ruoyi.cai.dto.app.vo.index.GuardIndexVo;
|
||||
import com.ruoyi.cai.dto.app.vo.index.GuardListPageVo;
|
||||
import com.ruoyi.cai.enums.ConsumeLogType;
|
||||
import com.ruoyi.cai.mapper.CaiGuardTotalMapper;
|
||||
import com.ruoyi.cai.service.CaiAccountService;
|
||||
import com.ruoyi.cai.service.CaiAnchorService;
|
||||
import com.ruoyi.cai.service.CaiGuardTotalService;
|
||||
import com.ruoyi.cai.service.CaiUserService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -22,6 +26,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 守护用户累计Service业务层处理
|
||||
@@ -32,7 +37,7 @@ import java.util.List;
|
||||
@Service
|
||||
public class CaiGuardTotalServiceImpl extends ServiceImpl<CaiGuardTotalMapper,CaiGuardTotal> implements CaiGuardTotalService {
|
||||
|
||||
private final Integer GUARD_UNIT_PRICE = 1314;
|
||||
private final Long GUARD_UNIT_PRICE = 1314L;
|
||||
@Autowired
|
||||
private CaiUserService userService;
|
||||
@Autowired
|
||||
@@ -41,8 +46,26 @@ public class CaiGuardTotalServiceImpl extends ServiceImpl<CaiGuardTotalMapper,Ca
|
||||
private CaiAnchorService anchorService;
|
||||
|
||||
@Override
|
||||
public List<GuardTotalVo> selectGuardTotalLimit(Long fromUserId,Integer limit) {
|
||||
return baseMapper.selectGuardTotal(fromUserId, limit);
|
||||
public GuardIndexVo guardInfoVo(Long fromUserId, Long toUserId, Integer limit) {
|
||||
GuardIndexVo vo = new GuardIndexVo();
|
||||
vo.setGuardPrice(GUARD_UNIT_PRICE);
|
||||
// 查询守护总数
|
||||
Long count = baseMapper.guardCount(toUserId);
|
||||
if(count > 0){
|
||||
List<GuardTotalDTO> total = baseMapper.selectGuardTotal(toUserId, limit);
|
||||
GuardTotalDTO maxUser = total.get(0);
|
||||
vo.setUserList(total.stream().map(GuardTotalDTO::getAvatar).collect(Collectors.toList()));
|
||||
vo.setNickname(maxUser.getNickname());
|
||||
vo.setAvatar(maxUser.getAvatar());
|
||||
vo.setUserId(maxUser.getToUserId());
|
||||
vo.setGuardSymbolTotal(count);
|
||||
// 获取总数总人数
|
||||
vo.setGuardPersonTotal(baseMapper.guardPersonCount(toUserId));
|
||||
// 获取差距
|
||||
GuardNum guardNum = this.getGuardNum(fromUserId, toUserId);
|
||||
vo.setDiffNum(guardNum.getDiffNum());
|
||||
}
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -102,4 +125,9 @@ public class CaiGuardTotalServiceImpl extends ServiceImpl<CaiGuardTotalMapper,Ca
|
||||
num.setDiffNum((upGuardNum - myGuardNum) < 0 ? 0 : (upGuardNum - myGuardNum));
|
||||
return num;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<GuardListPageVo> userGuardPage(PageQuery pageQuery,Long userId) {
|
||||
return baseMapper.userGuardPage(pageQuery.build(),userId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.ruoyi.cai.service.impl;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.dto.app.query.GiveGiftRes;
|
||||
import com.ruoyi.cai.dto.app.vo.UserGiftVo;
|
||||
import com.ruoyi.cai.dto.app.vo.index.UserGiftIndexVo;
|
||||
import com.ruoyi.cai.enums.ConsumeLogType;
|
||||
import com.ruoyi.cai.mapper.CaiUserGiftMapper;
|
||||
import com.ruoyi.cai.service.*;
|
||||
@@ -36,7 +36,7 @@ public class CaiUserGiftServiceImpl extends ServiceImpl<CaiUserGiftMapper,CaiUse
|
||||
|
||||
|
||||
@Override
|
||||
public List<UserGiftVo> selectGiftList(Long userId) {
|
||||
public List<UserGiftIndexVo> selectGiftList(Long userId) {
|
||||
return baseMapper.selectGiftList(userId);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.CaiUserOnline;
|
||||
import com.ruoyi.cai.dto.app.vo.user.OnlineStatusVo;
|
||||
import com.ruoyi.cai.mapper.CaiUserOnlineMapper;
|
||||
import com.ruoyi.cai.service.CaiUserOnlineService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -17,4 +19,40 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class CaiUserOnlineServiceImpl extends ServiceImpl<CaiUserOnlineMapper,CaiUserOnline> implements CaiUserOnlineService {
|
||||
|
||||
@Override
|
||||
public CaiUserOnline getByUserId(Long userId){
|
||||
return this.getOne(Wrappers.lambdaQuery(CaiUserOnline.class).eq(CaiUserOnline::getUserId,userId).last("limit 1"));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public OnlineStatusVo onlineStatus(Long userId,Integer openVideoStatus,Integer videoStatus,Integer isAnchor){
|
||||
CaiUserOnline userOnline = this.getByUserId(userId);
|
||||
Integer onlineStatus = userOnline.getStatus();
|
||||
Integer status = 0;
|
||||
String statusMsg = "离线";
|
||||
if(isAnchor == 1){
|
||||
if(openVideoStatus == 1 && videoStatus == 0 && onlineStatus == 1){
|
||||
status = 1;
|
||||
statusMsg = "空闲";
|
||||
}else if(videoStatus == 1){
|
||||
status = 2;
|
||||
statusMsg = "忙碌中";
|
||||
}else if(openVideoStatus == 0){
|
||||
status = 3;
|
||||
statusMsg = "勿扰";
|
||||
}
|
||||
}else{
|
||||
if(onlineStatus == 1){
|
||||
status = 1;
|
||||
statusMsg = "在线";
|
||||
}
|
||||
}
|
||||
OnlineStatusVo vo = new OnlineStatusVo();
|
||||
vo.setStatus(status);
|
||||
vo.setOnlineStatus(onlineStatus);
|
||||
vo.setStatusMsg(statusMsg);
|
||||
return vo;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.ruoyi.cai.dto.admin.vo.CaiUserAdminVo;
|
||||
import com.ruoyi.cai.dto.app.query.UserQuery;
|
||||
import com.ruoyi.cai.dto.app.vo.UserInfoVo;
|
||||
import com.ruoyi.cai.dto.app.vo.UserListVo;
|
||||
import com.ruoyi.cai.dto.app.vo.user.OnlineStatusVo;
|
||||
import com.ruoyi.cai.mapper.CaiUserMapper;
|
||||
import com.ruoyi.cai.service.*;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
@@ -37,6 +38,8 @@ public class CaiUserServiceImpl extends ServiceImpl<CaiUserMapper, CaiUser> impl
|
||||
private CaiDynamicService dynamicService;
|
||||
@Autowired
|
||||
private CaiUserGiftService userGiftService;
|
||||
@Autowired
|
||||
private CaiUserOnlineService userOnlineService;
|
||||
|
||||
@Override
|
||||
public CaiUser getByUsername(String username) {
|
||||
@@ -84,13 +87,18 @@ public class CaiUserServiceImpl extends ServiceImpl<CaiUserMapper, CaiUser> impl
|
||||
vo.setStar(userFollowService.checkStar(currentUserId, userId));
|
||||
vo.setAlbumList(caiUserAlbumService.getUserAlbum(userId,caiUser.getIsAnchor()));
|
||||
// 在线状态
|
||||
// vo.setStatus();
|
||||
OnlineStatusVo onlineStatusVo;
|
||||
if(caiUser.getIsAnchor() == 1 && anchor != null){
|
||||
onlineStatusVo = userOnlineService.onlineStatus(userId,anchor.getOpenVideoStatus(),anchor.getVideoStatus(),caiUser.getIsAnchor());
|
||||
}else{
|
||||
onlineStatusVo = userOnlineService.onlineStatus(userId,0,0,caiUser.getIsAnchor());
|
||||
}
|
||||
vo.setOnlineStatus(onlineStatusVo);
|
||||
if(caiUser.getIsAnchor() == 1){
|
||||
vo.setGuardTotalList(guardTotalService.selectGuardTotalLimit(userId,10));
|
||||
// vo.setDynamicList(dynamicService.selectDynamicList(userId,10));
|
||||
vo.setGuardIndexVo(guardTotalService.guardInfoVo(currentUserId,userId,10));
|
||||
vo.setDynamicList(dynamicService.selectDynamicImageList(userId,10));
|
||||
vo.setGiftList(userGiftService.selectGiftList(userId));
|
||||
}
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user