Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
beyond-clouds
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
4
Issues
4
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
段启岩
beyond-clouds
Commits
b8c58889
Commit
b8c58889
authored
Feb 13, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
热门博主完成
parent
73f5e7d2
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
88 additions
and
5 deletions
+88
-5
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
+13
-0
src/main/java/cn/meteor/beyondclouds/modules/user/mapper/UserMapper.java
+9
-0
src/main/java/cn/meteor/beyondclouds/modules/user/mapper/xml/UserMapper.xml
+16
-1
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserService.java
+9
-0
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserServiceImpl.java
+41
-4
No files found.
src/main/java/cn/meteor/beyondclouds/modules/user/api/UserApi.java
View file @
b8c58889
...
@@ -377,6 +377,19 @@ public class UserApi {
...
@@ -377,6 +377,19 @@ public class UserApi {
}
}
}
}
@Anonymous
@ApiOperation
((
"热门博主"
))
@GetMapping
(
"/user/hotBloggers"
)
public
Response
<?>
hotBloggers
(
@Valid
PageForm
pageForm
,
BindingResult
bindingResult
){
if
(
bindingResult
.
hasErrors
())
{
return
Response
.
fieldError
(
bindingResult
.
getFieldError
());
}
PageDTO
<
UserFollowDTO
>
userFollowDTOPage
=
userService
.
getHotBloggers
(
pageForm
.
getPage
(),
pageForm
.
getSize
());
return
Response
.
success
(
userFollowDTOPage
);
}
}
}
src/main/java/cn/meteor/beyondclouds/modules/user/mapper/UserMapper.java
View file @
b8c58889
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
mapper
;
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
mapper
;
import
cn.meteor.beyondclouds.modules.user.dto.UserFollowDTO
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
/**
/**
* @author 段启岩
* @author 段启岩
...
@@ -9,4 +12,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -9,4 +12,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
*/
public
interface
UserMapper
extends
BaseMapper
<
User
>
{
public
interface
UserMapper
extends
BaseMapper
<
User
>
{
/**
* 查询热门博主
* @param page
* @return
*/
IPage
<
UserFollowDTO
>
selectHotBloggerPage
(
Page
<
User
>
page
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/user/mapper/xml/UserMapper.xml
View file @
b8c58889
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.meteor.beyondclouds.modules.user.mapper.UserMapper"
>
<mapper
namespace=
"cn.meteor.beyondclouds.modules.user.mapper.UserMapper"
>
<select
id=
"selectHotBloggerPage"
resultType=
"cn.meteor.beyondclouds.modules.user.dto.UserFollowDTO"
>
select
u.*,
us.followed_num `statistics.followed_num`,
us.fans_num `statistics.fans_num`,
us.blog_num `statistics.blog_num`,
us.blog_view_num `statistics.blogView_num`,
us.project_num `statistics.project_num`,
us.post_num `statistics.post_num`,
us.question_num `statistics.question_num`,
us.visited_num `statistics.visited_num`
from `user` u, user_statistics us
where u.user_id = us.user_id
order by us.blog_view_num desc
</select>
</mapper>
</mapper>
src/main/java/cn/meteor/beyondclouds/modules/user/service/IUserService.java
View file @
b8c58889
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
service
;
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
service
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.dto.QQAuthResultDTO
;
import
cn.meteor.beyondclouds.common.dto.QQAuthResultDTO
;
import
cn.meteor.beyondclouds.modules.user.dto.UserFollowDTO
;
import
cn.meteor.beyondclouds.modules.user.dto.UserInfoDTO
;
import
cn.meteor.beyondclouds.modules.user.dto.UserInfoDTO
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.UserStatistics
;
import
cn.meteor.beyondclouds.modules.user.entity.UserStatistics
;
...
@@ -96,4 +98,11 @@ public interface IUserService extends IService<User> {
...
@@ -96,4 +98,11 @@ public interface IUserService extends IService<User> {
*/
*/
UserInfoDTO
getUserInfo
(
String
userId
,
boolean
updateVisited
)
throws
UserServiceException
;
UserInfoDTO
getUserInfo
(
String
userId
,
boolean
updateVisited
)
throws
UserServiceException
;
/**
* 获取热门博主
* @param pageNumber
* @param pageSize
* @return
*/
PageDTO
<
UserFollowDTO
>
getHotBloggers
(
Integer
pageNumber
,
Integer
pageSize
);
}
}
src/main/java/cn/meteor/beyondclouds/modules/user/service/impl/UserServiceImpl.java
View file @
b8c58889
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
service
.
impl
;
package
cn
.
meteor
.
beyondclouds
.
modules
.
user
.
service
.
impl
;
import
cn.meteor.beyondclouds.common.dto.PageDTO
;
import
cn.meteor.beyondclouds.common.dto.QQAuthResultDTO
;
import
cn.meteor.beyondclouds.common.dto.QQAuthResultDTO
;
import
cn.meteor.beyondclouds.common.helper.IRedisHelper
;
import
cn.meteor.beyondclouds.common.helper.IRedisHelper
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage
;
import
cn.meteor.beyondclouds.core.queue.message.DataItemChangeMessage
;
...
@@ -9,6 +10,7 @@ import cn.meteor.beyondclouds.modules.mail.dto.EmailDTO;
...
@@ -9,6 +10,7 @@ import cn.meteor.beyondclouds.modules.mail.dto.EmailDTO;
import
cn.meteor.beyondclouds.modules.mail.service.IMailService
;
import
cn.meteor.beyondclouds.modules.mail.service.IMailService
;
import
cn.meteor.beyondclouds.modules.mail.util.EmailUtils
;
import
cn.meteor.beyondclouds.modules.mail.util.EmailUtils
;
import
cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService
;
import
cn.meteor.beyondclouds.modules.queue.service.IMessageQueueService
;
import
cn.meteor.beyondclouds.modules.user.dto.UserFollowDTO
;
import
cn.meteor.beyondclouds.modules.user.dto.UserInfoDTO
;
import
cn.meteor.beyondclouds.modules.user.dto.UserInfoDTO
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.entity.UserAuthApp
;
import
cn.meteor.beyondclouds.modules.user.entity.UserAuthApp
;
...
@@ -20,14 +22,15 @@ import cn.meteor.beyondclouds.modules.user.enums.ThirdPartyAppType;
...
@@ -20,14 +22,15 @@ import cn.meteor.beyondclouds.modules.user.enums.ThirdPartyAppType;
import
cn.meteor.beyondclouds.modules.user.enums.UserErrorCode
;
import
cn.meteor.beyondclouds.modules.user.enums.UserErrorCode
;
import
cn.meteor.beyondclouds.modules.user.exception.UserServiceException
;
import
cn.meteor.beyondclouds.modules.user.exception.UserServiceException
;
import
cn.meteor.beyondclouds.modules.user.mapper.UserMapper
;
import
cn.meteor.beyondclouds.modules.user.mapper.UserMapper
;
import
cn.meteor.beyondclouds.modules.user.service.IUserAuthAppService
;
import
cn.meteor.beyondclouds.modules.user.service.*
;
import
cn.meteor.beyondclouds.modules.user.service.IUserAuthLocalService
;
import
cn.meteor.beyondclouds.modules.user.service.IUserService
;
import
cn.meteor.beyondclouds.modules.user.service.IUserStatisticsService
;
import
cn.meteor.beyondclouds.util.Md5Utils
;
import
cn.meteor.beyondclouds.util.Md5Utils
;
import
cn.meteor.beyondclouds.util.PageUtils
;
import
cn.meteor.beyondclouds.util.SubjectUtils
;
import
cn.meteor.beyondclouds.util.UUIDUtils
;
import
cn.meteor.beyondclouds.util.UUIDUtils
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -38,6 +41,7 @@ import org.springframework.util.CollectionUtils;
...
@@ -38,6 +41,7 @@ import org.springframework.util.CollectionUtils;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
/**
/**
* @author meteor
* @author meteor
...
@@ -51,7 +55,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
...
@@ -51,7 +55,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
private
IUserAuthAppService
userAuthAppService
;
private
IUserAuthAppService
userAuthAppService
;
private
IMailService
mailService
;
private
IMailService
mailService
;
private
IUserStatisticsService
userStatisticsService
;
private
IUserStatisticsService
userStatisticsService
;
private
UserMapper
userMapper
;
private
IUserFollowService
userFollowService
;
private
IMessageQueueService
messageQueueService
;
private
IMessageQueueService
messageQueueService
;
@Autowired
@Autowired
...
@@ -63,6 +69,16 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
...
@@ -63,6 +69,16 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
}
}
@Autowired
@Autowired
public
void
setUserFollowService
(
IUserFollowService
userFollowService
)
{
this
.
userFollowService
=
userFollowService
;
}
@Autowired
public
void
setUserMapper
(
UserMapper
userMapper
)
{
this
.
userMapper
=
userMapper
;
}
@Autowired
public
void
setMessageQueueService
(
IMessageQueueService
messageQueueService
)
{
public
void
setMessageQueueService
(
IMessageQueueService
messageQueueService
)
{
this
.
messageQueueService
=
messageQueueService
;
this
.
messageQueueService
=
messageQueueService
;
}
}
...
@@ -414,4 +430,25 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
...
@@ -414,4 +430,25 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
userInfoDTO
.
setStatistics
(
userStatistics
);
userInfoDTO
.
setStatistics
(
userStatistics
);
return
userInfoDTO
;
return
userInfoDTO
;
}
}
@Override
public
PageDTO
<
UserFollowDTO
>
getHotBloggers
(
Integer
pageNumber
,
Integer
pageSize
)
{
IPage
<
UserFollowDTO
>
userPage
=
userMapper
.
selectHotBloggerPage
(
new
Page
<>(
pageNumber
,
pageNumber
));
List
<
UserFollowDTO
>
userFollowDTOList
=
userPage
.
getRecords
();
if
(!
CollectionUtils
.
isEmpty
(
userFollowDTOList
))
{
if
(
SubjectUtils
.
isAuthenticated
())
{
Set
<
String
>
followUserIds
=
userFollowService
.
getCurrentUserFollowedUserIds
();
userFollowDTOList
.
forEach
(
userFollowDTO
->
{
userFollowDTO
.
setFollowedUser
(
followUserIds
.
contains
(
userFollowDTO
.
getUserId
()));
});
}
else
{
userFollowDTOList
.
forEach
(
userFollowDTO
->
{
userFollowDTO
.
setFollowedUser
(
false
);
});
}
}
PageDTO
<
UserFollowDTO
>
userFollowDTOPage
=
new
PageDTO
<>();
PageUtils
.
copyMeta
(
userPage
,
userFollowDTOPage
);
return
userFollowDTOPage
;
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment