mirror of https://github.com/halo-dev/halo
Fix issue(#154)
parent
9642dd994a
commit
7b480ca32e
|
@ -16,6 +16,7 @@ import org.springframework.util.CollectionUtils;
|
||||||
import run.halo.app.event.comment.CommentNewEvent;
|
import run.halo.app.event.comment.CommentNewEvent;
|
||||||
import run.halo.app.event.comment.CommentPassEvent;
|
import run.halo.app.event.comment.CommentPassEvent;
|
||||||
import run.halo.app.event.comment.CommentReplyEvent;
|
import run.halo.app.event.comment.CommentReplyEvent;
|
||||||
|
import run.halo.app.exception.BadRequestException;
|
||||||
import run.halo.app.model.dto.BaseCommentDTO;
|
import run.halo.app.model.dto.BaseCommentDTO;
|
||||||
import run.halo.app.model.entity.BaseComment;
|
import run.halo.app.model.entity.BaseComment;
|
||||||
import run.halo.app.model.entity.User;
|
import run.halo.app.model.entity.User;
|
||||||
|
@ -32,6 +33,7 @@ import run.halo.app.repository.base.BaseCommentRepository;
|
||||||
import run.halo.app.security.authentication.Authentication;
|
import run.halo.app.security.authentication.Authentication;
|
||||||
import run.halo.app.security.context.SecurityContextHolder;
|
import run.halo.app.security.context.SecurityContextHolder;
|
||||||
import run.halo.app.service.OptionService;
|
import run.halo.app.service.OptionService;
|
||||||
|
import run.halo.app.service.UserService;
|
||||||
import run.halo.app.service.base.AbstractCrudService;
|
import run.halo.app.service.base.AbstractCrudService;
|
||||||
import run.halo.app.service.base.BaseCommentService;
|
import run.halo.app.service.base.BaseCommentService;
|
||||||
import run.halo.app.utils.ServiceUtils;
|
import run.halo.app.utils.ServiceUtils;
|
||||||
|
@ -55,14 +57,17 @@ public abstract class BaseCommentServiceImpl<COMMENT extends BaseComment> extend
|
||||||
|
|
||||||
protected final OptionService optionService;
|
protected final OptionService optionService;
|
||||||
|
|
||||||
|
protected final UserService userService;
|
||||||
|
|
||||||
protected final ApplicationEventPublisher eventPublisher;
|
protected final ApplicationEventPublisher eventPublisher;
|
||||||
|
|
||||||
public BaseCommentServiceImpl(BaseCommentRepository<COMMENT> baseCommentRepository,
|
public BaseCommentServiceImpl(BaseCommentRepository<COMMENT> baseCommentRepository,
|
||||||
OptionService optionService,
|
OptionService optionService,
|
||||||
ApplicationEventPublisher eventPublisher) {
|
UserService userService, ApplicationEventPublisher eventPublisher) {
|
||||||
super(baseCommentRepository);
|
super(baseCommentRepository);
|
||||||
this.baseCommentRepository = baseCommentRepository;
|
this.baseCommentRepository = baseCommentRepository;
|
||||||
this.optionService = optionService;
|
this.optionService = optionService;
|
||||||
|
this.userService = userService;
|
||||||
this.eventPublisher = eventPublisher;
|
this.eventPublisher = eventPublisher;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -275,6 +280,7 @@ public abstract class BaseCommentServiceImpl<COMMENT extends BaseComment> extend
|
||||||
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
|
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
|
||||||
|
|
||||||
if (authentication != null) {
|
if (authentication != null) {
|
||||||
|
// Blogger comment
|
||||||
User user = authentication.getDetail().getUser();
|
User user = authentication.getDetail().getUser();
|
||||||
commentParam.setAuthor(StringUtils.isBlank(user.getNickname()) ? user.getUsername() : user.getNickname());
|
commentParam.setAuthor(StringUtils.isBlank(user.getNickname()) ? user.getUsername() : user.getNickname());
|
||||||
commentParam.setEmail(user.getEmail());
|
commentParam.setEmail(user.getEmail());
|
||||||
|
@ -284,6 +290,14 @@ public abstract class BaseCommentServiceImpl<COMMENT extends BaseComment> extend
|
||||||
// Validate the comment param manually
|
// Validate the comment param manually
|
||||||
ValidationUtils.validate(commentParam);
|
ValidationUtils.validate(commentParam);
|
||||||
|
|
||||||
|
if (authentication == null) {
|
||||||
|
// Anonymous comment
|
||||||
|
// Check email
|
||||||
|
if (userService.getByEmail(commentParam.getEmail()).isPresent()) {
|
||||||
|
throw new BadRequestException("不能使用博主的邮件,如果您是博主,请登录管理端进行回复。");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Convert to comment
|
// Convert to comment
|
||||||
return create(commentParam.convertTo());
|
return create(commentParam.convertTo());
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import run.halo.app.repository.JournalCommentRepository;
|
||||||
import run.halo.app.repository.JournalRepository;
|
import run.halo.app.repository.JournalRepository;
|
||||||
import run.halo.app.service.JournalCommentService;
|
import run.halo.app.service.JournalCommentService;
|
||||||
import run.halo.app.service.OptionService;
|
import run.halo.app.service.OptionService;
|
||||||
|
import run.halo.app.service.UserService;
|
||||||
import run.halo.app.utils.ServiceUtils;
|
import run.halo.app.utils.ServiceUtils;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -38,8 +39,9 @@ public class JournalCommentServiceImpl extends BaseCommentServiceImpl<JournalCom
|
||||||
|
|
||||||
public JournalCommentServiceImpl(JournalCommentRepository journalCommentRepository,
|
public JournalCommentServiceImpl(JournalCommentRepository journalCommentRepository,
|
||||||
OptionService optionService,
|
OptionService optionService,
|
||||||
|
UserService userService,
|
||||||
ApplicationEventPublisher eventPublisher, JournalRepository journalRepository) {
|
ApplicationEventPublisher eventPublisher, JournalRepository journalRepository) {
|
||||||
super(journalCommentRepository, optionService, eventPublisher);
|
super(journalCommentRepository, optionService, userService, eventPublisher);
|
||||||
this.journalCommentRepository = journalCommentRepository;
|
this.journalCommentRepository = journalCommentRepository;
|
||||||
this.journalRepository = journalRepository;
|
this.journalRepository = journalRepository;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@ import run.halo.app.repository.PostCommentRepository;
|
||||||
import run.halo.app.repository.PostRepository;
|
import run.halo.app.repository.PostRepository;
|
||||||
import run.halo.app.service.OptionService;
|
import run.halo.app.service.OptionService;
|
||||||
import run.halo.app.service.PostCommentService;
|
import run.halo.app.service.PostCommentService;
|
||||||
|
import run.halo.app.service.UserService;
|
||||||
import run.halo.app.utils.ServiceUtils;
|
import run.halo.app.utils.ServiceUtils;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -42,9 +43,10 @@ public class PostCommentServiceImpl extends BaseCommentServiceImpl<PostComment>
|
||||||
|
|
||||||
public PostCommentServiceImpl(PostCommentRepository postCommentRepository,
|
public PostCommentServiceImpl(PostCommentRepository postCommentRepository,
|
||||||
PostRepository postRepository,
|
PostRepository postRepository,
|
||||||
|
UserService userService,
|
||||||
OptionService optionService,
|
OptionService optionService,
|
||||||
ApplicationEventPublisher eventPublisher) {
|
ApplicationEventPublisher eventPublisher) {
|
||||||
super(postCommentRepository, optionService, eventPublisher);
|
super(postCommentRepository, optionService, userService, eventPublisher);
|
||||||
this.postCommentRepository = postCommentRepository;
|
this.postCommentRepository = postCommentRepository;
|
||||||
this.postRepository = postRepository;
|
this.postRepository = postRepository;
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import run.halo.app.repository.SheetCommentRepository;
|
||||||
import run.halo.app.repository.SheetRepository;
|
import run.halo.app.repository.SheetRepository;
|
||||||
import run.halo.app.service.OptionService;
|
import run.halo.app.service.OptionService;
|
||||||
import run.halo.app.service.SheetCommentService;
|
import run.halo.app.service.SheetCommentService;
|
||||||
|
import run.halo.app.service.UserService;
|
||||||
import run.halo.app.utils.ServiceUtils;
|
import run.halo.app.utils.ServiceUtils;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -38,9 +39,10 @@ public class SheetCommentServiceImpl extends BaseCommentServiceImpl<SheetComment
|
||||||
|
|
||||||
public SheetCommentServiceImpl(SheetCommentRepository sheetCommentRepository,
|
public SheetCommentServiceImpl(SheetCommentRepository sheetCommentRepository,
|
||||||
OptionService optionService,
|
OptionService optionService,
|
||||||
|
UserService userService,
|
||||||
ApplicationEventPublisher eventPublisher,
|
ApplicationEventPublisher eventPublisher,
|
||||||
SheetRepository sheetRepository) {
|
SheetRepository sheetRepository) {
|
||||||
super(sheetCommentRepository, optionService, eventPublisher);
|
super(sheetCommentRepository, optionService, userService, eventPublisher);
|
||||||
this.sheetCommentRepository = sheetCommentRepository;
|
this.sheetCommentRepository = sheetCommentRepository;
|
||||||
this.sheetRepository = sheetRepository;
|
this.sheetRepository = sheetRepository;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue