Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
代码敲不队
YoubiliProject
提交
6696ba96
Y
YoubiliProject
项目概览
代码敲不队
/
YoubiliProject
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
YoubiliProject
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6696ba96
编写于
7月 10, 2023
作者:
喷火的神灵
🎱
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
粉丝关注功能实现
上级
06567dd0
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
207 addition
and
0 deletion
+207
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/controller/personalController.java
.../modules/user/personal/controller/personalController.java
+24
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/dao/persist/mapper/PersonalMapper.java
...ules/user/personal/dao/persist/mapper/PersonalMapper.java
+15
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/dao/persist/repository/IPersonalRepository.java
.../personal/dao/persist/repository/IPersonalRepository.java
+13
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/dao/persist/repository/impl/PersonalRepository.java
...sonal/dao/persist/repository/impl/PersonalRepository.java
+38
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/pojo/vo/CenterVideoInfoVO.java
...kend/modules/user/personal/pojo/vo/CenterVideoInfoVO.java
+18
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/pojo/vo/PersonalCenterInfoVO.java
...d/modules/user/personal/pojo/vo/PersonalCenterInfoVO.java
+18
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/pojo/vo/PersonalCenterUserInfoVO.java
...dules/user/personal/pojo/vo/PersonalCenterUserInfoVO.java
+16
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/service/IPersonalService.java
...ckend/modules/user/personal/service/IPersonalService.java
+8
-0
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/service/impl/PersonalService.java
...d/modules/user/personal/service/impl/PersonalService.java
+57
-0
未找到文件。
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/controller/personalController.java
0 → 100644
浏览文件 @
6696ba96
package
cn.tedu.youbiliprojectbackend.modules.user.personal.controller
;
import
cn.tedu.youbiliprojectbackend.common.web.response.RestBean
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.PersonalCenterInfoVO
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.PersonalCenterUserInfoVO
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.service.IPersonalService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RequestMapping
(
"/user/personal/"
)
public
class
personalController
{
@Autowired
IPersonalService
service
;
@GetMapping
(
"{userId}/get-center"
)
public
RestBean
<
Object
>
getUserInfo
(
@PathVariable
Long
userId
){
PersonalCenterInfoVO
centerInfo
=
service
.
getCenterInfoById
(
userId
);
return
RestBean
.
success
(
centerInfo
);
}
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/dao/persist/mapper/PersonalMapper.java
0 → 100644
浏览文件 @
6696ba96
package
cn.tedu.youbiliprojectbackend.modules.user.personal.dao.persist.mapper
;
import
cn.tedu.youbiliprojectbackend.modules.user.account.pojo.entity.Account
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.CenterVideoInfoVO
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.PersonalCenterUserInfoVO
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
java.util.List
;
public
interface
PersonalMapper
extends
BaseMapper
<
Account
>
{
List
<
CenterVideoInfoVO
>
selectVideoInfoByUserId
(
Long
id
);
List
<
CenterVideoInfoVO
>
selectFavoriteInfoByUserId
(
Long
id
);
List
<
CenterVideoInfoVO
>
selectHistoryInfoByUserId
(
Long
id
);
PersonalCenterUserInfoVO
selectUserInfoByUserId
(
Long
id
);
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/dao/persist/repository/IPersonalRepository.java
0 → 100644
浏览文件 @
6696ba96
package
cn.tedu.youbiliprojectbackend.modules.user.personal.dao.persist.repository
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.CenterVideoInfoVO
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.PersonalCenterUserInfoVO
;
import
java.util.List
;
public
interface
IPersonalRepository
{
List
<
CenterVideoInfoVO
>
selectVideoInfoByUserId
(
Long
id
);
PersonalCenterUserInfoVO
selectUserInfoByUserId
(
Long
id
);
List
<
CenterVideoInfoVO
>
selectFavoriteInfoByUserId
(
Long
id
);
List
<
CenterVideoInfoVO
>
selectHistoryInfoByUserId
(
Long
id
);
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/dao/persist/repository/impl/PersonalRepository.java
0 → 100644
浏览文件 @
6696ba96
package
cn.tedu.youbiliprojectbackend.modules.user.personal.dao.persist.repository.impl
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.dao.persist.mapper.PersonalMapper
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.dao.persist.repository.IPersonalRepository
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.CenterVideoInfoVO
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.PersonalCenterUserInfoVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
class
PersonalRepository
implements
IPersonalRepository
{
@Autowired
PersonalMapper
mapper
;
@Override
public
List
<
CenterVideoInfoVO
>
selectVideoInfoByUserId
(
Long
id
)
{
return
mapper
.
selectVideoInfoByUserId
(
id
);
}
@Override
public
PersonalCenterUserInfoVO
selectUserInfoByUserId
(
Long
id
)
{
return
mapper
.
selectUserInfoByUserId
(
id
);
}
@Override
public
List
<
CenterVideoInfoVO
>
selectFavoriteInfoByUserId
(
Long
id
)
{
return
mapper
.
selectFavoriteInfoByUserId
(
id
);
}
@Override
public
List
<
CenterVideoInfoVO
>
selectHistoryInfoByUserId
(
Long
id
)
{
return
mapper
.
selectHistoryInfoByUserId
(
id
);
}
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/pojo/vo/CenterVideoInfoVO.java
0 → 100644
浏览文件 @
6696ba96
package
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
CenterVideoInfoVO
implements
Serializable
{
private
String
nickname
;
private
String
imgUrl
;
private
String
videoImgUrl
;
private
String
title
;
private
Long
likeCount
;
private
String
categoryName
;
private
Long
commentCount
;
private
String
description
;
private
String
viewCount
;
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/pojo/vo/PersonalCenterInfoVO.java
0 → 100644
浏览文件 @
6696ba96
package
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
@Data
public
class
PersonalCenterInfoVO
implements
Serializable
{
private
String
imgUrl
;
private
String
nickname
;
private
Long
fans
;
//粉丝数量
private
Long
follows
;
//关注数量;
private
Long
totalLikes
;
//总点赞数
private
String
birthday
;
//生日
private
Long
accountLevel
;
//账户等级
private
List
<
CenterVideoInfoVO
>
videoList
;
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/pojo/vo/PersonalCenterUserInfoVO.java
0 → 100644
浏览文件 @
6696ba96
package
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
PersonalCenterUserInfoVO
implements
Serializable
{
private
String
imgUrl
;
private
String
nickname
;
private
Long
fans
;
//粉丝数量
private
Long
follows
;
//关注数量;
private
Long
totalLikes
;
//总点赞数
private
String
birthday
;
//生日
private
Long
accountLevel
;
//账户等级
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/service/IPersonalService.java
0 → 100644
浏览文件 @
6696ba96
package
cn.tedu.youbiliprojectbackend.modules.user.personal.service
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.PersonalCenterInfoVO
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.PersonalCenterUserInfoVO
;
public
interface
IPersonalService
{
PersonalCenterInfoVO
getCenterInfoById
(
Long
id
);
}
youbili-project-backend/src/main/java/cn/tedu/youbiliprojectbackend/modules/user/personal/service/impl/PersonalService.java
0 → 100644
浏览文件 @
6696ba96
package
cn.tedu.youbiliprojectbackend.modules.user.personal.service.impl
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.dao.persist.repository.IPersonalRepository
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.CenterVideoInfoVO
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.PersonalCenterInfoVO
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.pojo.vo.PersonalCenterUserInfoVO
;
import
cn.tedu.youbiliprojectbackend.modules.user.personal.service.IPersonalService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
@Slf4j
@Service
public
class
PersonalService
implements
IPersonalService
{
@Autowired
IPersonalRepository
repository
;
/*
* 获取个人中心展示内容功能
* */
@Override
public
PersonalCenterInfoVO
getCenterInfoById
(
Long
id
)
{
//响应VO
PersonalCenterInfoVO
infoVO
=
new
PersonalCenterInfoVO
();
//用户信息
PersonalCenterUserInfoVO
userInfo
=
repository
.
selectUserInfoByUserId
(
id
);
//用户发布视频信息
List
<
CenterVideoInfoVO
>
videoList
=
repository
.
selectVideoInfoByUserId
(
id
);
//用户收藏视频信息
List
<
CenterVideoInfoVO
>
favoriteInfoByUserId
=
repository
.
selectFavoriteInfoByUserId
(
id
);
//用户历史记录信息
List
<
CenterVideoInfoVO
>
historyInfoByUserId
=
repository
.
selectHistoryInfoByUserId
(
id
);
//解决视频个数<3,展示错位的问题
List
<
CenterVideoInfoVO
>
list
=
new
ArrayList
<>(
9
);
list
.
addAll
(
videoList
);
for
(
int
i
=
videoList
.
size
();
i
<
3
;
i
++)
{
list
.
add
(
null
);
}
list
.
addAll
(
favoriteInfoByUserId
);
for
(
int
i
=
favoriteInfoByUserId
.
size
();
i
<
3
;
i
++)
{
list
.
add
(
null
);
}
list
.
addAll
(
historyInfoByUserId
);
for
(
int
i
=
historyInfoByUserId
.
size
();
i
<
3
;
i
++)
{
list
.
add
(
null
);
}
// set响应VO
BeanUtils
.
copyProperties
(
userInfo
,
infoVO
);
infoVO
.
setVideoList
(
list
);
return
infoVO
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录