diff --git a/client-api/src/main/java/org/jiayunet/controller/UserManageController.java b/client-api/src/main/java/org/jiayunet/controller/UserManageController.java index 5901e2f..aa666a3 100644 --- a/client-api/src/main/java/org/jiayunet/controller/UserManageController.java +++ b/client-api/src/main/java/org/jiayunet/controller/UserManageController.java @@ -1,6 +1,7 @@ package org.jiayunet.controller; import lombok.AllArgsConstructor; +import org.jiayunet.pojo.dto.user.InviteStatsDto; import org.jiayunet.pojo.dto.user.UserInfoDto; import org.jiayunet.pojo.param.user.UserInfoParam; import org.jiayunet.service.UserManageService; @@ -42,4 +43,12 @@ public class UserManageController { public void cancelAccount() { userManageService.cancelAccount(); } + + /** + * 邀请统计(累计邀请人数、累计获得会员天数) + */ + @GetMapping("/inviteStats") + public InviteStatsDto getInviteStats() { + return userManageService.getInviteStats(); + } } diff --git a/client-api/src/main/java/org/jiayunet/pojo/dto/user/InviteStatsDto.java b/client-api/src/main/java/org/jiayunet/pojo/dto/user/InviteStatsDto.java new file mode 100644 index 0000000..59abaa7 --- /dev/null +++ b/client-api/src/main/java/org/jiayunet/pojo/dto/user/InviteStatsDto.java @@ -0,0 +1,16 @@ +package org.jiayunet.pojo.dto.user; + +import lombok.Data; + +/** + * 用户邀请统计DTO + * + * @author zk + */ +@Data +public class InviteStatsDto { + /** 累计邀请人数 */ + private Long inviteCount; + /** 累计获得会员天数 */ + private Integer rewardDays; +} diff --git a/client-api/src/main/java/org/jiayunet/service/UserManageService.java b/client-api/src/main/java/org/jiayunet/service/UserManageService.java index 7ad33fd..0bde097 100644 --- a/client-api/src/main/java/org/jiayunet/service/UserManageService.java +++ b/client-api/src/main/java/org/jiayunet/service/UserManageService.java @@ -1,12 +1,16 @@ package org.jiayunet.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.jiayunet.constant.PreRedisKeyName; +import org.jiayunet.mapper.UserInviteMapper; import org.jiayunet.mapper.UserMapper; +import org.jiayunet.pojo.dto.user.InviteStatsDto; import org.jiayunet.pojo.dto.user.UserInfoDto; import org.jiayunet.pojo.param.user.UserInfoParam; import org.jiayunet.pojo.po.User; +import org.jiayunet.pojo.po.UserInvite; import org.jiayunet.tool.UserSecurityTool; import org.jiayunet.tool.server.RedisServerTool; import org.springframework.beans.BeanUtils; @@ -15,10 +19,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; +import java.util.List; + /** * 用户账号管理服务 - *
主要功能:查看个人信息、修改个人信息、注销账号
- *使用表:bg_user(查询/更新/逻辑删除)
+ *主要功能:查看个人信息、修改个人信息、注销账号、邀请统计
+ *使用表:bg_user(查询/更新/逻辑删除)、bg_user_invite(邀请统计)
*使用Redis:login:token:{userId}(注销时清理登录态)
* * @author zk @@ -30,6 +36,9 @@ public class UserManageService { @Autowired private UserMapper userMapper; + @Autowired + private UserInviteMapper userInviteMapper; + @Autowired private RedisServerTool redisServerTool; @@ -80,4 +89,19 @@ public class UserManageService { log.info("用户注销账号 userId:{}", userId); } + + /** + * 邀请统计 + *查询当前用户的累计邀请人数和累计获得会员天数
+ */ + public InviteStatsDto getInviteStats() { + Long userId = UserSecurityTool.getUserId(); + List