init
This commit is contained in:
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.cai.dto.app.query.StarQuery;
|
||||
import com.ruoyi.cai.dto.app.query.StarOrVisitorRes;
|
||||
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||
import com.ruoyi.cai.service.CaiUserCountService;
|
||||
import com.ruoyi.cai.service.CaiUserFollowService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.cai.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
@@ -22,36 +23,40 @@ public class CaiUserCount implements Serializable {
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@TableId(value = "user_id")
|
||||
private Integer userId;
|
||||
@TableId(value = "user_id",type = IdType.INPUT)
|
||||
private Long userId;
|
||||
/**
|
||||
* 粉丝总数
|
||||
*/
|
||||
private Integer fansCount;
|
||||
private Long fansCount;
|
||||
/**
|
||||
* 关注数
|
||||
*/
|
||||
private Integer followCount;
|
||||
private Long followCount;
|
||||
/**
|
||||
* 足迹数
|
||||
*/
|
||||
private Long footCount;
|
||||
/**
|
||||
* 访客数
|
||||
*/
|
||||
private Integer visitorCount;
|
||||
private Long visitorCount;
|
||||
/**
|
||||
* 相册数量
|
||||
*/
|
||||
private Integer photoCount;
|
||||
private Long photoCount;
|
||||
/**
|
||||
* 发帖数量
|
||||
*/
|
||||
private Integer dynamicCount;
|
||||
private Long dynamicCount;
|
||||
/**
|
||||
* 收到的礼物数量
|
||||
*/
|
||||
private Integer receiveGiftCount;
|
||||
private Long receiveGiftCount;
|
||||
/**
|
||||
* 送礼总数量
|
||||
*/
|
||||
private Integer giveGiftCount;
|
||||
private Long giveGiftCount;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.cai.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.cai.domain.CaiUserCount;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 用户信息数量统计Mapper接口
|
||||
@@ -11,4 +12,7 @@ import com.ruoyi.cai.domain.CaiUserCount;
|
||||
*/
|
||||
public interface CaiUserCountMapper extends BaseMapper<CaiUserCount> {
|
||||
|
||||
void starIncs(@Param("userId") Long userId, @Param("fansIncs") int fansIncs, @Param("followIncs") int followIncs);
|
||||
|
||||
void visitorIncs(@Param("userId") Long userId, @Param("footIncs") int footIncs, @Param("visitorIncs") int visitorIncs);
|
||||
}
|
||||
|
||||
@@ -16,4 +16,6 @@ import java.util.List;
|
||||
public interface CaiUserGiftMapper extends BaseMapper<CaiUserGift> {
|
||||
|
||||
List<UserGiftVo> selectGiftList(@Param("userId") Long userId);
|
||||
|
||||
long countGiftNum(@Param("fromUid") Long fromUid, @Param("toUid") Long toUid);
|
||||
}
|
||||
|
||||
@@ -10,5 +10,9 @@ import com.ruoyi.cai.domain.CaiUserCount;
|
||||
* @date 2023-12-24
|
||||
*/
|
||||
public interface CaiUserCountService extends IService<CaiUserCount> {
|
||||
|
||||
void star(Long fromUserId,Long toUserId);
|
||||
void unStar(Long fromUserId,Long toUserId);
|
||||
void visitor(Long fromUserId,Long toUserId);
|
||||
void reset(Long userId);
|
||||
void resetAsync(Long userId);
|
||||
}
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
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.CaiUserCount;
|
||||
import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.executor.ExecutorConstant;
|
||||
import com.ruoyi.cai.mapper.CaiUserCountMapper;
|
||||
import com.ruoyi.cai.service.CaiUserCountService;
|
||||
import com.ruoyi.cai.mapper.CaiUserGiftMapper;
|
||||
import com.ruoyi.cai.service.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 用户信息数量统计Service业务层处理
|
||||
*
|
||||
@@ -17,4 +23,68 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class CaiUserCountServiceImpl extends ServiceImpl<CaiUserCountMapper,CaiUserCount> implements CaiUserCountService {
|
||||
|
||||
@Autowired
|
||||
private CaiUserVisitorService userVisitorService;
|
||||
@Autowired
|
||||
private CaiUserFollowService userFollowService;
|
||||
@Autowired
|
||||
private CaiUserGiftService userGiftService;
|
||||
@Resource
|
||||
private CaiUserGiftMapper userGiftMapper;
|
||||
@Autowired
|
||||
private CaiUserAlbumService userAlbumService;
|
||||
|
||||
@Override
|
||||
public void star(Long fromUserId, Long toUserId) {
|
||||
baseMapper.starIncs(fromUserId,0,1);
|
||||
baseMapper.starIncs(toUserId,1,0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unStar(Long fromUserId, Long toUserId) {
|
||||
baseMapper.starIncs(fromUserId,0,-1);
|
||||
baseMapper.starIncs(toUserId,-1,0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitor(Long fromUserId, Long toUserId) {
|
||||
baseMapper.visitorIncs(fromUserId,1,0);
|
||||
baseMapper.visitorIncs(toUserId,0,-1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset(Long userId) {
|
||||
// 粉丝总数
|
||||
long fans = userFollowService.count(Wrappers.lambdaQuery(CaiUserFollow.class).eq(CaiUserFollow::getFollowUser, userId));
|
||||
// 关注数
|
||||
long follow = userFollowService.count(Wrappers.lambdaQuery(CaiUserFollow.class).eq(CaiUserFollow::getUserId, userId));
|
||||
// 足迹数
|
||||
long foot = userVisitorService.count(Wrappers.lambdaQuery(CaiUserVisitor.class).eq(CaiUserVisitor::getVisitorId, userId));
|
||||
// 访客数
|
||||
long visitor = userVisitorService.count(Wrappers.lambdaQuery(CaiUserVisitor.class).eq(CaiUserVisitor::getUserId, userId));
|
||||
// 相册数量(包含待审核中)
|
||||
long photo = userAlbumService.count(Wrappers.lambdaQuery(CaiUserAlbum.class).eq(CaiUserAlbum::getUserId, userId)
|
||||
.ne(CaiUserAlbum::getStatus, 2));
|
||||
// 收到的礼物数量
|
||||
long receiveGiftCount = userGiftMapper.countGiftNum(null,userId);
|
||||
// 送出的礼物数量
|
||||
long giveGiftCount = userGiftMapper.countGiftNum(userId,null);
|
||||
CaiUserCount update = new CaiUserCount();
|
||||
update.setUserId(userId);
|
||||
update.setFansCount(fans);
|
||||
update.setFollowCount(follow);
|
||||
update.setFootCount(foot);
|
||||
update.setVisitorCount(visitor);
|
||||
update.setPhotoCount(photo);
|
||||
// TODO
|
||||
update.setDynamicCount(0L);
|
||||
update.setReceiveGiftCount(receiveGiftCount);
|
||||
update.setGiveGiftCount(giveGiftCount);
|
||||
this.updateById(update);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetAsync(Long userId) {
|
||||
ExecutorConstant.SYNC_EXECUTOR.execute(() -> reset(userId));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,11 +8,14 @@ import com.ruoyi.cai.dto.app.query.StarQuery;
|
||||
import com.ruoyi.cai.dto.app.query.StarOrVisitorRes;
|
||||
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||
import com.ruoyi.cai.mapper.CaiUserFollowMapper;
|
||||
import com.ruoyi.cai.service.CaiUserCountService;
|
||||
import com.ruoyi.cai.service.CaiUserFollowService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 关注表Service业务层处理
|
||||
@@ -24,7 +27,8 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class CaiUserFollowServiceImpl extends ServiceImpl<CaiUserFollowMapper,CaiUserFollow> implements CaiUserFollowService {
|
||||
|
||||
|
||||
@Autowired
|
||||
private CaiUserCountService userCountService;
|
||||
@Override
|
||||
public Long getFansNumByUserId(Long userId){
|
||||
return this.count(Wrappers.lambdaQuery(CaiUserFollow.class)
|
||||
@@ -43,6 +47,7 @@ public class CaiUserFollowServiceImpl extends ServiceImpl<CaiUserFollowMapper,Ca
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean star(StarOrVisitorRes starOrVisitorRes) {
|
||||
Long fromUserId = LoginHelper.getUserId();
|
||||
this.remove(Wrappers.lambdaQuery(CaiUserFollow.class)
|
||||
@@ -52,6 +57,7 @@ public class CaiUserFollowServiceImpl extends ServiceImpl<CaiUserFollowMapper,Ca
|
||||
userFollow.setUserId(fromUserId);
|
||||
userFollow.setFollowUser(starOrVisitorRes.getToUserId());
|
||||
this.save(userFollow);
|
||||
userCountService.star(fromUserId,starOrVisitorRes.getToUserId());
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -61,6 +67,7 @@ public class CaiUserFollowServiceImpl extends ServiceImpl<CaiUserFollowMapper,Ca
|
||||
this.remove(Wrappers.lambdaQuery(CaiUserFollow.class)
|
||||
.eq(CaiUserFollow::getUserId,fromUserId)
|
||||
.eq(CaiUserFollow::getFollowUser, starOrVisitorRes.getToUserId()));
|
||||
userCountService.star(fromUserId,starOrVisitorRes.getToUserId());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,10 +9,12 @@ import com.ruoyi.cai.dto.app.query.StarOrVisitorRes;
|
||||
import com.ruoyi.cai.dto.app.query.VisitorQuery;
|
||||
import com.ruoyi.cai.dto.app.vo.UserStarOrVisitorList;
|
||||
import com.ruoyi.cai.mapper.CaiUserVisitorMapper;
|
||||
import com.ruoyi.cai.service.CaiUserCountService;
|
||||
import com.ruoyi.cai.service.CaiUserVisitorService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@@ -27,6 +29,8 @@ import java.util.List;
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class CaiUserVisitorServiceImpl extends ServiceImpl<CaiUserVisitorMapper,CaiUserVisitor> implements CaiUserVisitorService {
|
||||
@Autowired
|
||||
private CaiUserCountService userCountService;
|
||||
@Override
|
||||
public boolean visitor(StarOrVisitorRes starOrVisitorRes) {
|
||||
Long fromUserId = LoginHelper.getUserId();
|
||||
@@ -41,6 +45,7 @@ public class CaiUserVisitorServiceImpl extends ServiceImpl<CaiUserVisitorMapper,
|
||||
}
|
||||
userVisitor.setCreateTime(LocalDateTime.now());
|
||||
this.saveOrUpdate(userVisitor);
|
||||
userCountService.visitor(fromUserId, starOrVisitorRes.getToUserId());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user