diff --git a/pom.xml b/pom.xml
index a0fc767..4a4f3e5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,6 +62,11 @@
javax.persistence-api
2.2
+
+ javax.validation
+ validation-api
+ 2.0.1.Final
+
diff --git a/src/main/java/org/sadtech/social/core/domain/content/Mail.java b/src/main/java/org/sadtech/social/core/domain/content/Mail.java
index f0b9a58..b69d972 100644
--- a/src/main/java/org/sadtech/social/core/domain/content/Mail.java
+++ b/src/main/java/org/sadtech/social/core/domain/content/Mail.java
@@ -7,6 +7,7 @@ import org.sadtech.social.core.utils.Description;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.FetchType;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import java.util.List;
@@ -22,7 +23,7 @@ import java.util.List;
@EqualsAndHashCode(callSuper = true)
public class Mail extends Message {
- @OneToMany
+ @OneToMany(fetch = FetchType.EAGER)
@Column(name = "attachment")
@Description("Вложения к сообщению")
private List attachments;
diff --git a/src/main/java/org/sadtech/social/core/domain/content/Message.java b/src/main/java/org/sadtech/social/core/domain/content/Message.java
index 459eae3..5ec7b98 100644
--- a/src/main/java/org/sadtech/social/core/domain/content/Message.java
+++ b/src/main/java/org/sadtech/social/core/domain/content/Message.java
@@ -1,15 +1,15 @@
package org.sadtech.social.core.domain.content;
-import com.sun.istack.internal.NotNull;
import lombok.Data;
import org.sadtech.social.core.utils.Description;
import javax.persistence.Column;
-import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
/**
@@ -18,7 +18,7 @@ import java.time.LocalDateTime;
* @author upagge [08/07/2019]
*/
@Data
-@Entity
+@MappedSuperclass
public abstract class Message {
@Id
diff --git a/src/main/java/org/sadtech/social/core/domain/money/Account.java b/src/main/java/org/sadtech/social/core/domain/money/Account.java
index d3cf621..2e4a5d2 100644
--- a/src/main/java/org/sadtech/social/core/domain/money/Account.java
+++ b/src/main/java/org/sadtech/social/core/domain/money/Account.java
@@ -1,13 +1,9 @@
package org.sadtech.social.core.domain.money;
-import com.sun.istack.internal.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
+import lombok.Data;
import lombok.NoArgsConstructor;
-import lombok.Setter;
-import lombok.ToString;
import org.sadtech.social.core.utils.Description;
import javax.persistence.Column;
@@ -17,6 +13,7 @@ import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
+import javax.validation.constraints.NotNull;
/**
* Сущность, которая отвечает за выставленный пользователю счет.
@@ -24,10 +21,7 @@ import javax.persistence.Table;
* @author upagge [08/07/2019]
*/
@Builder
-@Getter
-@Setter
-@EqualsAndHashCode
-@ToString
+@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
diff --git a/src/main/java/org/sadtech/social/core/repository/ContentRepository.java b/src/main/java/org/sadtech/social/core/repository/ContentRepository.java
index 862fbb5..179d89b 100644
--- a/src/main/java/org/sadtech/social/core/repository/ContentRepository.java
+++ b/src/main/java/org/sadtech/social/core/repository/ContentRepository.java
@@ -27,6 +27,6 @@ public interface ContentRepository {
* @param timeTo Конец диапазона
* @return Список сообщений
*/
- List findByTime(LocalDateTime timeFrom, LocalDateTime timeTo);
+ List betweenByTime(LocalDateTime timeFrom, LocalDateTime timeTo);
}
diff --git a/src/main/java/org/sadtech/social/core/repository/impl/jpa/AccountRepositoryJpaImpl.java b/src/main/java/org/sadtech/social/core/repository/impl/jpa/AccountRepositoryJpaImpl.java
index a6cfc6a..1fa2dcc 100644
--- a/src/main/java/org/sadtech/social/core/repository/impl/jpa/AccountRepositoryJpaImpl.java
+++ b/src/main/java/org/sadtech/social/core/repository/impl/jpa/AccountRepositoryJpaImpl.java
@@ -3,18 +3,18 @@ package org.sadtech.social.core.repository.impl.jpa;
import org.sadtech.social.core.domain.money.Account;
import org.sadtech.social.core.repository.AccountRepository;
import org.sadtech.social.core.repository.jpa.AccountRepositoryJpa;
-import org.springframework.stereotype.Repository;
+import org.springframework.beans.factory.annotation.Autowired;
/**
* TODO: Добавить описание класса.
*
* @author upagge [27/07/2019]
*/
-@Repository
public class AccountRepositoryJpaImpl implements AccountRepository {
private final AccountRepositoryJpa accountRepositoryJpa;
+ @Autowired
public AccountRepositoryJpaImpl(AccountRepositoryJpa accountRepositoryJpa) {
this.accountRepositoryJpa = accountRepositoryJpa;
}
diff --git a/src/main/java/org/sadtech/social/core/repository/impl/jpa/MailRepositoryJpaImpl.java b/src/main/java/org/sadtech/social/core/repository/impl/jpa/MailRepositoryJpaImpl.java
index 595d651..894600d 100644
--- a/src/main/java/org/sadtech/social/core/repository/impl/jpa/MailRepositoryJpaImpl.java
+++ b/src/main/java/org/sadtech/social/core/repository/impl/jpa/MailRepositoryJpaImpl.java
@@ -3,7 +3,7 @@ package org.sadtech.social.core.repository.impl.jpa;
import org.sadtech.social.core.domain.content.Mail;
import org.sadtech.social.core.repository.ContentRepository;
import org.sadtech.social.core.repository.jpa.MailRepositoryJpa;
-import org.springframework.stereotype.Repository;
+import org.springframework.beans.factory.annotation.Autowired;
import java.time.LocalDateTime;
import java.util.List;
@@ -13,11 +13,11 @@ import java.util.List;
*
* @author upagge [25/07/2019]
*/
-@Repository
public class MailRepositoryJpaImpl implements ContentRepository {
private final MailRepositoryJpa mailRepositoryJpa;
+ @Autowired
public MailRepositoryJpaImpl(MailRepositoryJpa mailRepositoryJpa) {
this.mailRepositoryJpa = mailRepositoryJpa;
}
@@ -28,7 +28,7 @@ public class MailRepositoryJpaImpl implements ContentRepository {
}
@Override
- public List findByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
+ public List betweenByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
return mailRepositoryJpa.findByCreateDateBetween(timeFrom, timeTo);
}
}
diff --git a/src/main/java/org/sadtech/social/core/repository/impl/local/BoardCommentRepositoryMap.java b/src/main/java/org/sadtech/social/core/repository/impl/local/BoardCommentRepositoryMap.java
index 53e7650..faaa6c6 100644
--- a/src/main/java/org/sadtech/social/core/repository/impl/local/BoardCommentRepositoryMap.java
+++ b/src/main/java/org/sadtech/social/core/repository/impl/local/BoardCommentRepositoryMap.java
@@ -22,7 +22,7 @@ public class BoardCommentRepositoryMap implements ContentRepository findByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
+ public List betweenByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
ArrayList rezultMails = new ArrayList<>();
for (int i = saveMap.size() - 1; i >= 0; i--) {
if (!(saveMap.get(i).getCreateDate().isBefore(timeFrom) || saveMap.get(i).getCreateDate().isAfter(timeTo)) && saveMap.get(i).getCreateDate().equals(timeFrom)) {
diff --git a/src/main/java/org/sadtech/social/core/repository/impl/local/MailRepositoryList.java b/src/main/java/org/sadtech/social/core/repository/impl/local/MailRepositoryList.java
index 844b217..c5afdf3 100644
--- a/src/main/java/org/sadtech/social/core/repository/impl/local/MailRepositoryList.java
+++ b/src/main/java/org/sadtech/social/core/repository/impl/local/MailRepositoryList.java
@@ -24,10 +24,10 @@ public class MailRepositoryList implements ContentRepository {
@Override
- public List findByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
+ public List betweenByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
ArrayList rezultMails = new ArrayList<>();
for (int i = mails.size() - 1; i >= 0; i--) {
- if (!(mails.get(i).getCreateDate().isBefore(timeFrom) || mails.get(i).getCreateDate().isAfter(timeTo)) && mails.get(i).getCreateDate().equals(timeFrom)) {
+ if (!(mails.get(i).getCreateDate().isBefore(timeFrom) || mails.get(i).getCreateDate().isAfter(timeTo))) {
rezultMails.add(this.mails.get(i));
} else if (mails.get(i).getCreateDate().isBefore(timeFrom)) {
break;
diff --git a/src/main/java/org/sadtech/social/core/repository/jpa/AccountRepositoryJpa.java b/src/main/java/org/sadtech/social/core/repository/jpa/AccountRepositoryJpa.java
index 36f59e0..b1e08e2 100644
--- a/src/main/java/org/sadtech/social/core/repository/jpa/AccountRepositoryJpa.java
+++ b/src/main/java/org/sadtech/social/core/repository/jpa/AccountRepositoryJpa.java
@@ -2,12 +2,14 @@ package org.sadtech.social.core.repository.jpa;
import org.sadtech.social.core.domain.money.Account;
import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
/**
* TODO: Добавить описание интерфейса.
*
* @author upagge [27/07/2019]
*/
+@Repository
public interface AccountRepositoryJpa extends JpaRepository {
}
diff --git a/src/main/java/org/sadtech/social/core/repository/jpa/MailRepositoryJpa.java b/src/main/java/org/sadtech/social/core/repository/jpa/MailRepositoryJpa.java
index 58bd49c..e953fcb 100644
--- a/src/main/java/org/sadtech/social/core/repository/jpa/MailRepositoryJpa.java
+++ b/src/main/java/org/sadtech/social/core/repository/jpa/MailRepositoryJpa.java
@@ -2,6 +2,7 @@ package org.sadtech.social.core.repository.jpa;
import org.sadtech.social.core.domain.content.Mail;
import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
import java.util.List;
@@ -12,6 +13,7 @@ import java.util.List;
*
* @author upagge [27/07/2019]
*/
+@Repository
public interface MailRepositoryJpa extends JpaRepository {
List findByCreateDateBetween(LocalDateTime from, LocalDateTime to);
diff --git a/src/main/java/org/sadtech/social/core/service/impl/BoardCommentServiceImpl.java b/src/main/java/org/sadtech/social/core/service/impl/BoardCommentServiceImpl.java
index 772653f..7303730 100644
--- a/src/main/java/org/sadtech/social/core/service/impl/BoardCommentServiceImpl.java
+++ b/src/main/java/org/sadtech/social/core/service/impl/BoardCommentServiceImpl.java
@@ -35,7 +35,7 @@ public class BoardCommentServiceImpl implements BoardCommentService {
@Override
public List getLastEventByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
log.info("Запрошены последние комментарии к обсуждению {} - {} ", timeFrom, timeTo);
- List mails = commentRepository.findByTime(timeFrom, timeTo);
+ List mails = commentRepository.betweenByTime(timeFrom, timeTo);
Set people = new HashSet<>();
List returnMails = new ArrayList<>();
for (int i = mails.size() - 1; i >= 0; i--) {
diff --git a/src/main/java/org/sadtech/social/core/service/impl/MailServiceImpl.java b/src/main/java/org/sadtech/social/core/service/impl/MailServiceImpl.java
index 0b977c7..e94ad2e 100644
--- a/src/main/java/org/sadtech/social/core/service/impl/MailServiceImpl.java
+++ b/src/main/java/org/sadtech/social/core/service/impl/MailServiceImpl.java
@@ -31,7 +31,7 @@ public class MailServiceImpl implements MailService {
@Override
public List getLastEventByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
log.info("Запрошены последние сообщения {} - {} ", timeFrom, timeTo);
- List mails = mailRepository.findByTime(timeFrom, timeTo);
+ List mails = mailRepository.betweenByTime(timeFrom, timeTo);
Set people = new HashSet<>();
List returnMails = new ArrayList<>();
for (int i = mails.size() - 1; i >= 0; i--) {
@@ -46,7 +46,7 @@ public class MailServiceImpl implements MailService {
@Override
public List getByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
log.info("Запрошены все сообщения {} - {} ", timeFrom, timeTo);
- return mailRepository.findByTime(timeFrom, timeTo);
+ return mailRepository.betweenByTime(timeFrom, timeTo);
}
}