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
019c4952
Commit
019c4952
authored
Feb 17, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
热搜话题加热度
parent
c3b87d00
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
37 additions
and
6 deletions
+37
-6
src/main/java/cn/meteor/beyondclouds/modules/search/service/impl/SearchDegreeServiceImpl.java
+3
-1
src/main/java/cn/meteor/beyondclouds/modules/search/util/TopicScoreUtils.java
+4
-0
src/main/java/cn/meteor/beyondclouds/modules/topic/dto/TopicDTO.java
+2
-0
src/main/java/cn/meteor/beyondclouds/modules/topic/mapper/TopicMapper.java
+2
-1
src/main/java/cn/meteor/beyondclouds/modules/topic/mapper/xml/TopicMapper.xml
+3
-2
src/main/java/cn/meteor/beyondclouds/modules/topic/service/impl/TopicServiceImpl.java
+23
-2
No files found.
src/main/java/cn/meteor/beyondclouds/modules/search/service/impl/SearchDegreeServiceImpl.java
View file @
019c4952
...
...
@@ -4,6 +4,8 @@ import cn.meteor.beyondclouds.core.queue.message.DataItemType;
import
cn.meteor.beyondclouds.modules.search.entity.SearchDegree
;
import
cn.meteor.beyondclouds.modules.search.mapper.SearchDegreeMapper
;
import
cn.meteor.beyondclouds.modules.search.service.ISearchDegreeService
;
import
cn.meteor.beyondclouds.modules.search.util.TopicScoreUtils
;
import
cn.meteor.beyondclouds.util.TopicUtils
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
...
...
@@ -39,7 +41,7 @@ public class SearchDegreeServiceImpl extends ServiceImpl<SearchDegreeMapper, Sea
String
itemId
=
searchDegree
.
getItemId
();
if
(
stringSearchDegreeMap
.
containsKey
(
itemId
))
{
SearchDegree
finalSearchDegree
=
stringSearchDegreeMap
.
get
(
itemId
);
finalSearchDegree
.
setDegree
(
finalSearchDegree
.
getDegree
()
+
searchDegree
.
getDegree
(
));
finalSearchDegree
.
setDegree
(
TopicScoreUtils
.
setScale
(
finalSearchDegree
.
getDegree
()
+
searchDegree
.
getDegree
()
));
updateById
(
finalSearchDegree
);
}
else
{
save
(
searchDegree
);
...
...
src/main/java/cn/meteor/beyondclouds/modules/search/util/TopicScoreUtils.java
View file @
019c4952
...
...
@@ -13,4 +13,8 @@ public class TopicScoreUtils {
double
score
=
keywordLen
/
topicLen
;
return
new
BigDecimal
(
score
).
setScale
(
2
,
RoundingMode
.
DOWN
).
doubleValue
();
}
public
static
double
setScale
(
double
value
)
{
return
new
BigDecimal
(
value
).
setScale
(
2
,
RoundingMode
.
DOWN
).
doubleValue
();
}
}
src/main/java/cn/meteor/beyondclouds/modules/topic/dto/TopicDTO.java
View file @
019c4952
...
...
@@ -24,6 +24,8 @@ public class TopicDTO {
private
String
cover
;
private
Double
degree
;
private
String
topicDescrption
;
private
Integer
referenceCount
;
...
...
src/main/java/cn/meteor/beyondclouds/modules/topic/mapper/TopicMapper.java
View file @
019c4952
package
cn
.
meteor
.
beyondclouds
.
modules
.
topic
.
mapper
;
import
cn.meteor.beyondclouds.modules.post.entity.Post
;
import
cn.meteor.beyondclouds.modules.topic.dto.TopicDTO
;
import
cn.meteor.beyondclouds.modules.topic.entity.Topic
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
...
...
@@ -35,7 +36,7 @@ public interface TopicMapper extends BaseMapper<Topic> {
* @param topicPage
* @return
*/
IPage
<
Topic
>
selectHotSearchPage
(
Page
<
Topic
>
topicPage
);
IPage
<
Topic
DTO
>
selectHotSearchPage
(
Page
<
Topic
>
topicPage
);
/**
* 搜索话题下的所有动态
...
...
src/main/java/cn/meteor/beyondclouds/modules/topic/mapper/xml/TopicMapper.xml
View file @
019c4952
...
...
@@ -6,8 +6,9 @@
select * from topic where topic_name like CONCAT('%',#{keywords},'%')
</select>
<select
id=
"selectHotSearchPage"
resultType=
"cn.meteor.beyondclouds.modules.topic.entity.Topic"
>
SELECT t.*
<select
id=
"selectHotSearchPage"
resultType=
"cn.meteor.beyondclouds.modules.topic.dto.TopicDTO"
>
SELECT t.*,
sd.degree `degree`
FROM topic t, search_degree sd
WHERE t.topic_id = sd.item_id
AND sd.item_type = 'TOPIC'
...
...
src/main/java/cn/meteor/beyondclouds/modules/topic/service/impl/TopicServiceImpl.java
View file @
019c4952
...
...
@@ -567,8 +567,29 @@ public class TopicServiceImpl extends ServiceImpl<TopicMapper, Topic> implements
@Override
public
PageDTO
<
TopicDTO
>
getHotSearchTopics
(
Integer
pageNumber
,
Integer
pageSize
)
{
IPage
<
Topic
>
topicPage
=
topicMapper
.
selectHotSearchPage
(
new
Page
<>(
pageNumber
,
pageSize
));
return
toPageDTO
(
topicPage
);
IPage
<
TopicDTO
>
topicPage
=
topicMapper
.
selectHotSearchPage
(
new
Page
<>(
pageNumber
,
pageSize
));
List
<
TopicDTO
>
topicList
=
topicPage
.
getRecords
();
if
(
SubjectUtils
.
isAuthenticated
())
{
Set
<
String
>
followedTopicIds
=
topicFollowService
.
getFollowedTopicIds
();
topicList
.
forEach
(
topic
->
{
TopicDTO
topicDTO
=
new
TopicDTO
();
BeanUtils
.
copyProperties
(
topic
,
topicDTO
);
topicDTO
.
setFollowedTopic
(
followedTopicIds
.
contains
(
topic
.
getTopicId
()));
});
}
else
{
topicList
.
forEach
(
topic
->
{
TopicDTO
topicDTO
=
new
TopicDTO
();
BeanUtils
.
copyProperties
(
topic
,
topicDTO
);
topicDTO
.
setFollowedTopic
(
false
);
});
}
PageDTO
<
TopicDTO
>
pageDTO
=
new
PageDTO
<>();
PageUtils
.
copyMeta
(
topicPage
,
pageDTO
);
pageDTO
.
setDataList
(
topicList
);
return
pageDTO
;
}
@Override
...
...
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