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
ff564007
Commit
ff564007
authored
Feb 02, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/huxueliang02-02'
parents
c7cb8f39
c7dc9411
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
63 additions
and
18 deletions
+63
-18
src/main/java/cn/meteor/beyondclouds/modules/question/api/QuestionApi.java
+7
-4
src/main/java/cn/meteor/beyondclouds/modules/question/bean/QuestionDetails.java
+4
-0
src/main/java/cn/meteor/beyondclouds/modules/question/form/QuestionForm.java
+2
-2
src/main/java/cn/meteor/beyondclouds/modules/question/service/IQuestionService.java
+2
-1
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionServiceImpl.java
+41
-3
src/main/java/cn/meteor/beyondclouds/modules/question/util/QuestionUtils.java
+7
-8
No files found.
src/main/java/cn/meteor/beyondclouds/modules/question/api/QuestionApi.java
View file @
ff564007
...
@@ -72,7 +72,7 @@ public class QuestionApi {
...
@@ -72,7 +72,7 @@ public class QuestionApi {
question
.
setUserId
((
String
)
subject
.
getId
());
question
.
setUserId
((
String
)
subject
.
getId
());
//祛除重复标签
//祛除重复标签
HashSet
<
String
>
tags
=
QuestionUtils
.
toHashSet
(
questionForm
.
getTags
());
HashSet
<
String
>
tags
=
QuestionUtils
.
toHashSet
(
questionForm
.
getTag
Id
s
());
//祛除重复话题
//祛除重复话题
HashSet
<
String
>
topicIds
=
QuestionUtils
.
toHashSet
(
questionForm
.
getTopicIds
());
HashSet
<
String
>
topicIds
=
QuestionUtils
.
toHashSet
(
questionForm
.
getTopicIds
());
...
@@ -132,11 +132,14 @@ public class QuestionApi {
...
@@ -132,11 +132,14 @@ public class QuestionApi {
question
.
setUserId
((
String
)
subject
.
getId
());
question
.
setUserId
((
String
)
subject
.
getId
());
//4.祛除重复标签
//4.祛除重复标签
HashSet
<
String
>
tags
=
QuestionUtils
.
toHashSet
(
questionForm
.
getTags
());
HashSet
<
String
>
tags
=
QuestionUtils
.
toHashSet
(
questionForm
.
getTag
Id
s
());
//5.修改问题
//5.祛除重复话题
HashSet
<
String
>
topicIds
=
QuestionUtils
.
toHashSet
(
questionForm
.
getTopicIds
());
//6.修改问题
try
{
try
{
questionService
.
updateQuestion
(
question
,
questionForm
.
getQuestionDetail
(),
tags
);
questionService
.
updateQuestion
(
question
,
questionForm
.
getQuestionDetail
(),
tags
,
topicIds
);
return
Response
.
success
();
return
Response
.
success
();
}
catch
(
QuestionServiceException
e
)
{
}
catch
(
QuestionServiceException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/bean/QuestionDetails.java
View file @
ff564007
...
@@ -2,6 +2,7 @@ package cn.meteor.beyondclouds.modules.question.bean;
...
@@ -2,6 +2,7 @@ package cn.meteor.beyondclouds.modules.question.bean;
import
cn.meteor.beyondclouds.modules.question.entity.Question
;
import
cn.meteor.beyondclouds.modules.question.entity.Question
;
import
cn.meteor.beyondclouds.modules.tag.entity.Tag
;
import
cn.meteor.beyondclouds.modules.tag.entity.Tag
;
import
cn.meteor.beyondclouds.modules.topic.entity.Topic
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -25,4 +26,7 @@ public class QuestionDetails extends Question {
...
@@ -25,4 +26,7 @@ public class QuestionDetails extends Question {
@ApiModelProperty
(
"标签"
)
@ApiModelProperty
(
"标签"
)
private
List
<
Tag
>
tags
;
private
List
<
Tag
>
tags
;
@ApiModelProperty
(
"话题"
)
private
List
<
Topic
>
topics
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/question/form/QuestionForm.java
View file @
ff564007
...
@@ -35,11 +35,11 @@ public class QuestionForm {
...
@@ -35,11 +35,11 @@ public class QuestionForm {
@ApiModelProperty
(
"标签"
)
@ApiModelProperty
(
"标签"
)
@Size
(
max
=
12
,
message
=
"问题标签个数不能超过5个"
)
@Size
(
max
=
12
,
message
=
"问题标签个数不能超过5个"
)
private
String
tag
s
;
private
List
<
String
>
tagId
s
;
@ApiModelProperty
(
"详情"
)
@ApiModelProperty
(
"详情"
)
private
String
questionDetail
;
private
String
questionDetail
;
@ApiModelProperty
(
"话题ID"
)
@ApiModelProperty
(
"话题ID"
)
private
String
topicIds
;
private
List
<
String
>
topicIds
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/question/service/IQuestionService.java
View file @
ff564007
...
@@ -45,9 +45,10 @@ public interface IQuestionService extends IService<Question> {
...
@@ -45,9 +45,10 @@ public interface IQuestionService extends IService<Question> {
* @param question 问题基本信息
* @param question 问题基本信息
* @param questionDetail 问题详细信息
* @param questionDetail 问题详细信息
* @param tags 问题标签
* @param tags 问题标签
* @param topicIds 话题ID
* @throws QuestionServiceException 问题业务异常
* @throws QuestionServiceException 问题业务异常
*/
*/
void
updateQuestion
(
Question
question
,
String
questionDetail
,
HashSet
<
String
>
tags
)
throws
QuestionServiceException
;
void
updateQuestion
(
Question
question
,
String
questionDetail
,
HashSet
<
String
>
tags
,
HashSet
<
String
>
topicIds
)
throws
QuestionServiceException
;
/**
/**
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionServiceImpl.java
View file @
ff564007
...
@@ -24,6 +24,7 @@ import org.springframework.stereotype.Service;
...
@@ -24,6 +24,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.List
;
...
@@ -110,10 +111,8 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
...
@@ -110,10 +111,8 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
Iterator
<
String
>
iterator
=
topicIds
.
iterator
();
Iterator
<
String
>
iterator
=
topicIds
.
iterator
();
TopicReference
topicReference
=
null
;
TopicReference
topicReference
=
null
;
while
(
iterator
.
hasNext
())
{
while
(
iterator
.
hasNext
())
{
System
.
out
.
println
(
"============"
);
Topic
topic
=
topicService
.
getById
(
iterator
.
next
());
Topic
topic
=
topicService
.
getById
(
iterator
.
next
());
if
(
topic
==
null
)
{
if
(
topic
==
null
)
{
System
.
out
.
println
(
"111111111111"
);
continue
;
continue
;
}
}
...
@@ -165,10 +164,13 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
...
@@ -165,10 +164,13 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
//7.删除question表中的问题信息
//7.删除question表中的问题信息
removeById
(
questionId
);
removeById
(
questionId
);
//8.删除话题引用表中的问题信息
topicReferenceService
.
remove
(
QuestionUtils
.
getWrapper
(
"referencer_id"
,
question
.
getQuestionId
()));
}
}
@Override
@Override
public
void
updateQuestion
(
Question
question
,
String
questionDetail
,
HashSet
<
String
>
tags
)
throws
QuestionServiceException
{
public
void
updateQuestion
(
Question
question
,
String
questionDetail
,
HashSet
<
String
>
tags
,
HashSet
<
String
>
topicIds
)
throws
QuestionServiceException
{
//1.判断自己是否发布过此问题
//1.判断自己是否发布过此问题
QueryWrapper
<
Question
>
questionQueryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
Question
>
questionQueryWrapper
=
new
QueryWrapper
<>();
questionQueryWrapper
.
eq
(
"question_id"
,
question
.
getQuestionId
())
questionQueryWrapper
.
eq
(
"question_id"
,
question
.
getQuestionId
())
...
@@ -205,6 +207,34 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
...
@@ -205,6 +207,34 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
//4.更新问题标签
//4.更新问题标签
questionTagService
.
remove
(
QuestionUtils
.
getWrapper
(
"question_id"
,
question
.
getQuestionId
()));
questionTagService
.
remove
(
QuestionUtils
.
getWrapper
(
"question_id"
,
question
.
getQuestionId
()));
questionTagService
.
saveQuestionTag
(
tags
,
question
.
getQuestionId
());
questionTagService
.
saveQuestionTag
(
tags
,
question
.
getQuestionId
());
//5.更新话题
//删除以前的话题信息
topicReferenceService
.
remove
(
QuestionUtils
.
getWrapper
(
"referencer_id"
,
question
.
getQuestionId
()));
//保存更新后的话题信息
Iterator
<
String
>
iterator
=
topicIds
.
iterator
();
TopicReference
topicReference
=
null
;
while
(
iterator
.
hasNext
())
{
Topic
topic
=
topicService
.
getById
(
iterator
.
next
());
if
(
topic
==
null
)
{
continue
;
}
//保存话题引用信息
topicReference
=
new
TopicReference
();
topicReference
.
setTopicId
(
topic
.
getTopicId
());
topicReference
.
setReferencerId
(
question
.
getQuestionId
());
topicReference
.
setReferencerType
(
2
);
topicReferenceService
.
save
(
topicReference
);
//更新话题引用次数
UpdateWrapper
<
Topic
>
updateWrapper
=
new
UpdateWrapper
<>();
updateWrapper
.
set
(
"reference_count"
,
topic
.
getReferenceCount
()+
1
)
.
eq
(
"topic_id"
,
topic
.
getTopicId
());
topicService
.
update
(
updateWrapper
);
}
}
}
@Override
@Override
...
@@ -223,12 +253,20 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
...
@@ -223,12 +253,20 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
//4.获取问题标签
//4.获取问题标签
List
<
Tag
>
tags
=
questionTagService
.
getQuestionTags
(
questionId
);
List
<
Tag
>
tags
=
questionTagService
.
getQuestionTags
(
questionId
);
//5.获取话题详情
List
<
TopicReference
>
references
=
topicReferenceService
.
list
(
QuestionUtils
.
getWrapper
(
"referencer_id"
,
question
.
getQuestionId
()));
List
<
Topic
>
topics
=
new
ArrayList
<>();
for
(
TopicReference
topicReference
:
references
)
{
topics
.
add
(
topicService
.
getById
(
topicReference
.
getTopicId
()));
}
//5.生成问题详情对象
//5.生成问题详情对象
QuestionDetails
questionDetails
=
new
QuestionDetails
();
QuestionDetails
questionDetails
=
new
QuestionDetails
();
BeanUtils
.
copyProperties
(
question
,
questionDetails
);
BeanUtils
.
copyProperties
(
question
,
questionDetails
);
questionDetails
.
setQuestionDetail
(
questionExt
.
getQuestionDetail
());
questionDetails
.
setQuestionDetail
(
questionExt
.
getQuestionDetail
());
questionDetails
.
setTags
(
tags
);
questionDetails
.
setTags
(
tags
);
questionDetails
.
setCategory
(
questionCategoryService
.
getById
(
question
.
getCategoryId
()).
getCategory
());
questionDetails
.
setCategory
(
questionCategoryService
.
getById
(
question
.
getCategoryId
()).
getCategory
());
questionDetails
.
setTopics
(
topics
);
return
questionDetails
;
return
questionDetails
;
}
}
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/util/QuestionUtils.java
View file @
ff564007
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.HashSet
;
import
java.util.HashSet
;
import
java.util.List
;
/**
/**
* @author 胡学良
* @author 胡学良
...
@@ -26,15 +27,13 @@ public class QuestionUtils {
...
@@ -26,15 +27,13 @@ public class QuestionUtils {
/**
/**
* 处理标签
* 处理标签
* @param tag
s
标签
* @param tag
IdList
标签
* @return
* @return
Set
*/
*/
public
static
HashSet
<
String
>
toHashSet
(
String
tags
){
public
static
HashSet
<
String
>
toHashSet
(
List
<
String
>
tagIdList
){
StringBuilder
stringBuilder
=
new
StringBuilder
(
tags
);
HashSet
<
String
>
tagIds
=
new
HashSet
<>();
stringBuilder
.
deleteCharAt
(
0
);
tagIds
.
addAll
(
tagIdList
);
stringBuilder
.
deleteCharAt
(
stringBuilder
.
length
()-
1
);
return
tagIds
;
String
[]
tag
=
stringBuilder
.
toString
().
split
(
","
);
return
new
HashSet
<
String
>(
Arrays
.
asList
(
tag
));
}
}
}
}
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