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
cf7653bd
Commit
cf7653bd
authored
Feb 02, 2020
by
胡学良
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加话题引用
parent
8b8b1bf9
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
52 additions
and
8 deletions
+52
-8
src/main/java/cn/meteor/beyondclouds/modules/question/api/QuestionApi.java
+5
-1
src/main/java/cn/meteor/beyondclouds/modules/question/form/QuestionForm.java
+5
-0
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
+40
-6
No files found.
src/main/java/cn/meteor/beyondclouds/modules/question/api/QuestionApi.java
View file @
cf7653bd
...
@@ -27,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
...
@@ -27,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
import
javax.validation.Valid
;
import
javax.validation.Valid
;
import
java.util.HashSet
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -73,9 +74,12 @@ public class QuestionApi {
...
@@ -73,9 +74,12 @@ public class QuestionApi {
//祛除重复标签
//祛除重复标签
HashSet
<
String
>
tags
=
QuestionUtils
.
toHashSet
(
questionForm
.
getTags
());
HashSet
<
String
>
tags
=
QuestionUtils
.
toHashSet
(
questionForm
.
getTags
());
//祛除重复话题
HashSet
<
String
>
topicIds
=
QuestionUtils
.
toHashSet
(
questionForm
.
getTopicIds
());
//发布问题
//发布问题
try
{
try
{
questionService
.
postQuestion
(
question
,
questionForm
.
getQuestionDetail
(),
tags
);
questionService
.
postQuestion
(
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/form/QuestionForm.java
View file @
cf7653bd
...
@@ -2,11 +2,13 @@ package cn.meteor.beyondclouds.modules.question.form;
...
@@ -2,11 +2,13 @@ package cn.meteor.beyondclouds.modules.question.form;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.Size
;
import
javax.validation.constraints.Size
;
import
java.util.List
;
/**
/**
* @author 胡学良
* @author 胡学良
...
@@ -37,4 +39,7 @@ public class QuestionForm {
...
@@ -37,4 +39,7 @@ public class QuestionForm {
@ApiModelProperty
(
"详情"
)
@ApiModelProperty
(
"详情"
)
private
String
questionDetail
;
private
String
questionDetail
;
@ApiModelProperty
(
"话题ID"
)
private
String
topicIds
;
}
}
src/main/java/cn/meteor/beyondclouds/modules/question/service/IQuestionService.java
View file @
cf7653bd
...
@@ -27,9 +27,10 @@ public interface IQuestionService extends IService<Question> {
...
@@ -27,9 +27,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
postQuestion
(
Question
question
,
String
questionDetail
,
HashSet
<
String
>
tags
)
throws
QuestionServiceException
;
void
postQuestion
(
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 @
cf7653bd
package
cn
.
meteor
.
beyondclouds
.
modules
.
question
.
service
.
impl
;
package
cn
.
meteor
.
beyondclouds
.
modules
.
question
.
service
.
impl
;
import
cn.meteor.beyondclouds.modules.question.bean.QuestionDetails
;
import
cn.meteor.beyondclouds.modules.question.bean.QuestionDetails
;
import
cn.meteor.beyondclouds.modules.question.entity.Question
;
import
cn.meteor.beyondclouds.modules.question.entity.*
;
import
cn.meteor.beyondclouds.modules.question.entity.QuestionCategory
;
import
cn.meteor.beyondclouds.modules.question.entity.QuestionExt
;
import
cn.meteor.beyondclouds.modules.question.entity.QuestionReply
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionErrorCode
;
import
cn.meteor.beyondclouds.modules.question.enums.QuestionErrorCode
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionServiceException
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionServiceException
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionTagServiceException
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionTagServiceException
;
...
@@ -12,6 +9,10 @@ import cn.meteor.beyondclouds.modules.question.mapper.QuestionMapper;
...
@@ -12,6 +9,10 @@ import cn.meteor.beyondclouds.modules.question.mapper.QuestionMapper;
import
cn.meteor.beyondclouds.modules.question.service.*
;
import
cn.meteor.beyondclouds.modules.question.service.*
;
import
cn.meteor.beyondclouds.modules.question.util.QuestionUtils
;
import
cn.meteor.beyondclouds.modules.question.util.QuestionUtils
;
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
cn.meteor.beyondclouds.modules.topic.entity.TopicReference
;
import
cn.meteor.beyondclouds.modules.topic.service.ITopicReferenceService
;
import
cn.meteor.beyondclouds.modules.topic.service.ITopicService
;
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.core.metadata.IPage
;
...
@@ -24,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -24,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
java.util.HashSet
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -51,10 +53,16 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
...
@@ -51,10 +53,16 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
private
IQuestionCategoryService
questionCategoryService
;
private
IQuestionCategoryService
questionCategoryService
;
private
ITopicService
topicService
;
private
ITopicReferenceService
topicReferenceService
;
@Autowired
@Autowired
public
QuestionServiceImpl
(
IQuestionExtService
questionExtService
,
IQuestionCategoryService
questionCategoryService
)
{
public
QuestionServiceImpl
(
IQuestionExtService
questionExtService
,
IQuestionCategoryService
questionCategoryService
,
ITopicService
topicService
,
ITopicReferenceService
topicReferenceService
)
{
this
.
questionExtService
=
questionExtService
;
this
.
questionExtService
=
questionExtService
;
this
.
questionCategoryService
=
questionCategoryService
;
this
.
questionCategoryService
=
questionCategoryService
;
this
.
topicService
=
topicService
;
this
.
topicReferenceService
=
topicReferenceService
;
}
}
@Autowired
@Autowired
...
@@ -74,7 +82,7 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
...
@@ -74,7 +82,7 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
public
void
postQuestion
(
Question
question
,
String
questionDetail
,
HashSet
<
String
>
tags
)
throws
QuestionServiceException
{
public
void
postQuestion
(
Question
question
,
String
questionDetail
,
HashSet
<
String
>
tags
,
HashSet
<
String
>
topicIds
)
throws
QuestionServiceException
{
//1.检查问题标题是否以?结尾
//1.检查问题标题是否以?结尾
if
(!
question
.
getQuestionTitle
().
endsWith
(
QUESTION_END_EN
)
&&
!
question
.
getQuestionTitle
().
endsWith
(
QUESTION_END_CN
)){
if
(!
question
.
getQuestionTitle
().
endsWith
(
QUESTION_END_EN
)
&&
!
question
.
getQuestionTitle
().
endsWith
(
QUESTION_END_CN
)){
throw
new
QuestionServiceException
(
QuestionErrorCode
.
QUESTION_END_ERROR
);
throw
new
QuestionServiceException
(
QuestionErrorCode
.
QUESTION_END_ERROR
);
...
@@ -97,6 +105,32 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
...
@@ -97,6 +105,32 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
//5.保存问题标签信息
//5.保存问题标签信息
questionTagService
.
saveQuestionTag
(
tags
,
question
.
getQuestionId
());
questionTagService
.
saveQuestionTag
(
tags
,
question
.
getQuestionId
());
//6.保存话题引用信息并更新话题引用次数
Iterator
<
String
>
iterator
=
topicIds
.
iterator
();
TopicReference
topicReference
=
null
;
while
(
iterator
.
hasNext
())
{
System
.
out
.
println
(
"============"
);
Topic
topic
=
topicService
.
getById
(
iterator
.
next
());
if
(
topic
==
null
)
{
System
.
out
.
println
(
"111111111111"
);
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
);
}
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
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