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
9c41b925
Commit
9c41b925
authored
Feb 04, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
问题回复和评论列表添加头像和昵称
parent
1c3d1ee6
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
98 additions
and
10 deletions
+98
-10
src/main/java/cn/meteor/beyondclouds/modules/question/api/QuestionApi.java
+2
-1
src/main/java/cn/meteor/beyondclouds/modules/question/entity/QuestionReply.java
+9
-2
src/main/java/cn/meteor/beyondclouds/modules/question/entity/QuestionReplyComment.java
+10
-2
src/main/java/cn/meteor/beyondclouds/modules/question/form/QuestionForm.java
+1
-0
src/main/java/cn/meteor/beyondclouds/modules/question/form/QuestionUpdateForm.java
+44
-0
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionReplyCommentServiceImpl.java
+12
-2
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionReplyServiceImpl.java
+13
-2
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionServiceImpl.java
+7
-1
No files found.
src/main/java/cn/meteor/beyondclouds/modules/question/api/QuestionApi.java
View file @
9c41b925
...
...
@@ -11,6 +11,7 @@ import cn.meteor.beyondclouds.modules.question.entity.Question;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionServiceException
;
import
cn.meteor.beyondclouds.modules.question.exception.QuestionTagServiceException
;
import
cn.meteor.beyondclouds.modules.question.form.QuestionForm
;
import
cn.meteor.beyondclouds.modules.question.form.QuestionUpdateForm
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionService
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionTagService
;
import
cn.meteor.beyondclouds.modules.question.util.QuestionUtils
;
...
...
@@ -112,7 +113,7 @@ public class QuestionApi {
*/
@ApiOperation
(
"修改问题"
)
@PutMapping
(
"/question/{questionId}"
)
public
Response
modifyQuestion
(
@PathVariable
(
"questionId"
)
String
questionId
,
@RequestBody
@Valid
QuestionForm
questionForm
,
BindingResult
result
,
@CurrentSubject
Subject
subject
){
public
Response
modifyQuestion
(
@PathVariable
(
"questionId"
)
String
questionId
,
@RequestBody
@Valid
Question
Update
Form
questionForm
,
BindingResult
result
,
@CurrentSubject
Subject
subject
){
if
(
result
.
hasErrors
())
{
return
Response
.
fieldError
(
result
.
getFieldError
());
}
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/entity/QuestionReply.java
View file @
9c41b925
package
cn
.
meteor
.
beyondclouds
.
modules
.
question
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
java.time.LocalDateTime
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.io.Serializable
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* <p>
* 问题回复表
...
...
@@ -32,6 +33,12 @@ public class QuestionReply implements Serializable {
@ApiModelProperty
(
value
=
"用户ID"
)
private
String
userId
;
@ApiModelProperty
(
value
=
"用户昵称"
)
private
String
userNick
;
@ApiModelProperty
(
value
=
"用户头像"
)
private
String
userAvatar
;
@ApiModelProperty
(
value
=
"问题ID"
)
private
String
questionId
;
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/entity/QuestionReplyComment.java
View file @
9c41b925
package
cn
.
meteor
.
beyondclouds
.
modules
.
question
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
java.time.LocalDateTime
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.io.Serializable
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* <p>
* 问题回复评论表
...
...
@@ -32,6 +33,13 @@ public class QuestionReplyComment implements Serializable {
@ApiModelProperty
(
value
=
"用户ID"
)
private
String
userId
;
@ApiModelProperty
(
value
=
"用户昵称"
)
private
String
userNick
;
@ApiModelProperty
(
value
=
"用户头像"
)
private
String
userAvatar
;
@ApiModelProperty
(
value
=
"回复ID"
)
private
String
replyId
;
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/form/QuestionForm.java
View file @
9c41b925
...
...
@@ -24,6 +24,7 @@ public class QuestionForm {
private
Integer
categoryId
;
@ApiModelProperty
(
"标题"
)
@NotNull
(
message
=
"问题标题不能为空"
)
@NotEmpty
(
message
=
"问题标题不能为空"
)
@Size
(
max
=
256
,
message
=
"问题标题太长"
)
private
String
questionTitle
;
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/form/QuestionUpdateForm.java
0 → 100644
View file @
9c41b925
package
cn
.
meteor
.
beyondclouds
.
modules
.
question
.
form
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
import
java.util.List
;
/**
* @author 胡学良
* @since 2020/1/31
*/
@ApiModel
(
value
=
"QuestionForm"
,
description
=
"问题表单"
)
@Data
public
class
QuestionUpdateForm
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
"类别ID"
)
@NotNull
(
message
=
"问题类别ID不能为空"
)
private
Integer
categoryId
;
@ApiModelProperty
(
"标题"
)
@NotEmpty
(
message
=
"问题标题不能为空"
)
@Size
(
max
=
256
,
message
=
"问题标题太长"
)
private
String
questionTitle
;
@ApiModelProperty
(
"摘要"
)
@Size
(
max
=
256
,
message
=
"问题摘要太长"
)
private
String
questionAbstract
;
@ApiModelProperty
(
"标签"
)
@Size
(
max
=
12
,
message
=
"问题标签个数不能超过5个"
)
private
List
<
String
>
tagIds
;
@ApiModelProperty
(
"详情"
)
private
String
questionDetail
;
@ApiModelProperty
(
"话题ID"
)
private
List
<
String
>
topicIds
;
}
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionReplyCommentServiceImpl.java
View file @
9c41b925
...
...
@@ -11,6 +11,8 @@ import cn.meteor.beyondclouds.modules.question.service.IQuestionReplyCommentServ
import
cn.meteor.beyondclouds.modules.question.service.IQuestionReplyService
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionService
;
import
cn.meteor.beyondclouds.modules.question.util.QuestionUtils
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.service.IUserService
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
...
@@ -20,8 +22,6 @@ import org.springframework.stereotype.Service;
import
org.springframework.util.Assert
;
import
org.springframework.util.StringUtils
;
import
java.nio.file.Watchable
;
/**
* <p>
* 问题回复评论表 服务实现类
...
...
@@ -37,12 +37,19 @@ public class QuestionReplyCommentServiceImpl extends ServiceImpl<QuestionReplyCo
private
IQuestionReplyService
questionReplyService
;
private
IUserService
userService
;
@Autowired
public
void
setQuestionReplyService
(
IQuestionReplyService
questionReplyService
)
{
this
.
questionReplyService
=
questionReplyService
;
}
@Autowired
public
void
setUserService
(
IUserService
userService
)
{
this
.
userService
=
userService
;
}
@Autowired
public
void
setQuestionService
(
IQuestionService
questionService
)
{
this
.
questionService
=
questionService
;
}
...
...
@@ -74,8 +81,11 @@ public class QuestionReplyCommentServiceImpl extends ServiceImpl<QuestionReplyCo
}
//3.保存评论信息
User
user
=
userService
.
getById
(
userId
);
QuestionReplyComment
questionReplyComment
=
new
QuestionReplyComment
();
questionReplyComment
.
setUserId
(
userId
);
questionReplyComment
.
setUserNick
(
user
.
getNickName
());
questionReplyComment
.
setUserAvatar
(
user
.
getUserAvatar
());
questionReplyComment
.
setReplyId
(
replyId
);
questionReplyComment
.
setParentId
(
parentId
);
questionReplyComment
.
setComment
(
comment
);
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionReplyServiceImpl.java
View file @
9c41b925
...
...
@@ -10,6 +10,8 @@ import cn.meteor.beyondclouds.modules.question.service.IQuestionReplyCommentServ
import
cn.meteor.beyondclouds.modules.question.service.IQuestionReplyService
;
import
cn.meteor.beyondclouds.modules.question.service.IQuestionService
;
import
cn.meteor.beyondclouds.modules.question.util.QuestionUtils
;
import
cn.meteor.beyondclouds.modules.user.entity.User
;
import
cn.meteor.beyondclouds.modules.user.service.IUserService
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
...
@@ -18,8 +20,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* <p>
* 问题回复表 服务实现类
...
...
@@ -39,6 +39,8 @@ public class QuestionReplyServiceImpl extends ServiceImpl<QuestionReplyMapper, Q
private
QuestionReplyMapper
questionReplyMapper
;
private
IUserService
userService
;
@Autowired
public
void
setQuestionService
(
IQuestionService
questionService
)
{
this
.
questionService
=
questionService
;
...
...
@@ -50,6 +52,11 @@ public class QuestionReplyServiceImpl extends ServiceImpl<QuestionReplyMapper, Q
}
@Autowired
public
void
setUserService
(
IUserService
userService
)
{
this
.
userService
=
userService
;
}
@Autowired
public
void
setQuestionReplyCommentService
(
IQuestionReplyCommentService
questionReplyCommentService
)
{
this
.
questionReplyCommentService
=
questionReplyCommentService
;
}
...
...
@@ -65,10 +72,14 @@ public class QuestionReplyServiceImpl extends ServiceImpl<QuestionReplyMapper, Q
}
//2.保存回复信息
User
user
=
userService
.
getById
(
userId
);
QuestionReply
questionReply
=
new
QuestionReply
();
questionReply
.
setQuestionId
(
questionId
);
questionReply
.
setReply
(
reply
);
questionReply
.
setUserId
(
userId
);
questionReply
.
setUserNick
(
user
.
getNickName
());
questionReply
.
setUserAvatar
(
user
.
getUserAvatar
());
//默认该回复未被采纳
questionReply
.
setReplyStatus
(
0
);
save
(
questionReply
);
...
...
src/main/java/cn/meteor/beyondclouds/modules/question/service/impl/QuestionServiceImpl.java
View file @
9c41b925
...
...
@@ -205,10 +205,13 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
}
//2.检查问题标题是否以?结尾
if
(!
StringUtils
.
isEmpty
(
question
.
getQuestionTitle
()))
{
if
(!
question
.
getQuestionTitle
().
endsWith
(
QUESTION_END_EN
)
&&
!
question
.
getQuestionTitle
().
endsWith
(
QUESTION_END_CN
)){
throw
new
QuestionServiceException
(
QuestionErrorCode
.
QUESTION_END_ERROR
);
}
}
//3.检查问题分类是否存在
QuestionCategory
questionCategory
=
questionCategoryService
.
getById
(
question
.
getCategoryId
());
if
(
null
==
questionCategory
)
{
...
...
@@ -322,7 +325,9 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
@Override
public
IPage
<
Question
>
getQuestionPage
(
Integer
pageNumber
,
Integer
pageSize
)
{
IPage
<
Question
>
page
=
new
Page
<>(
pageNumber
,
pageSize
);
return
questionMapper
.
selectPageWithTags
(
page
,
null
);
QueryWrapper
<
Question
>
questionQueryWrapper
=
new
QueryWrapper
<>();
questionQueryWrapper
.
orderByDesc
(
"q.create_time"
);
return
questionMapper
.
selectPageWithTags
(
page
,
questionQueryWrapper
);
}
@Override
...
...
@@ -330,6 +335,7 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
IPage
<
Question
>
page
=
new
Page
<>(
pageNumber
,
pageSize
);
QueryWrapper
<
Question
>
questionQueryWrapper
=
new
QueryWrapper
<>();
questionQueryWrapper
.
eq
(
"q.user_id"
,
userId
);
questionQueryWrapper
.
orderByDesc
(
"q.create_time"
);
return
questionMapper
.
selectPageWithTags
(
page
,
questionQueryWrapper
);
}
...
...
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