Логические изменения по пакетам
jpa для счетов
This commit is contained in:
parent
7f36ec2d7e
commit
18fbf8127f
@ -1,5 +1,6 @@
|
|||||||
package org.sadtech.social.core.domain.money;
|
package org.sadtech.social.core.domain.money;
|
||||||
|
|
||||||
|
import com.sun.istack.internal.NotNull;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
@ -9,6 +10,14 @@ import lombok.Setter;
|
|||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
import org.sadtech.social.core.utils.Description;
|
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.Table;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Сущность, которая отвечает за выставленный пользователю счет.
|
* Сущность, которая отвечает за выставленный пользователю счет.
|
||||||
*
|
*
|
||||||
@ -21,23 +30,34 @@ import org.sadtech.social.core.utils.Description;
|
|||||||
@ToString
|
@ToString
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@Entity
|
||||||
|
@Table(name = "account")
|
||||||
public class Account {
|
public class Account {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue
|
||||||
@Description("Идентификатор счета")
|
@Description("Идентификатор счета")
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Column(name = "totalSum")
|
||||||
@Description("Сумма к оплате")
|
@Description("Сумма к оплате")
|
||||||
private Integer totalSum;
|
private Integer totalSum;
|
||||||
|
|
||||||
|
@Column(name = "belongs_person_id")
|
||||||
@Description("Идентификатор пользователя, которому выставлен счет")
|
@Description("Идентификатор пользователя, которому выставлен счет")
|
||||||
private Integer belongsPersonId;
|
private Integer belongsPersonId;
|
||||||
|
|
||||||
|
@Column(name = "extinguished_person_id")
|
||||||
@Description("Идентификатор пользователя, который оплатил счет")
|
@Description("Идентификатор пользователя, который оплатил счет")
|
||||||
private Integer extinguishedPersonId;
|
private Integer extinguishedPersonId;
|
||||||
|
|
||||||
|
@Column(name = "description")
|
||||||
@Description("Описание платежа")
|
@Description("Описание платежа")
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "status")
|
||||||
@Description("Статус оплаты счета")
|
@Description("Статус оплаты счета")
|
||||||
private AccountStatus accountStatus;
|
private AccountStatus accountStatus;
|
||||||
|
|
||||||
|
@ -0,0 +1,37 @@
|
|||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: Добавить описание класса.
|
||||||
|
*
|
||||||
|
* @author upagge [27/07/2019]
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public class AccountRepositoryJpaImpl implements AccountRepository {
|
||||||
|
|
||||||
|
private final AccountRepositoryJpa accountRepositoryJpa;
|
||||||
|
|
||||||
|
public AccountRepositoryJpaImpl(AccountRepositoryJpa accountRepositoryJpa) {
|
||||||
|
this.accountRepositoryJpa = accountRepositoryJpa;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer add(Account account) {
|
||||||
|
return accountRepositoryJpa.saveAndFlush(account).getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void edit(Integer accountId, Account account) {
|
||||||
|
account.setId(accountId);
|
||||||
|
accountRepositoryJpa.saveAndFlush(account);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Account findById(Integer accountId) {
|
||||||
|
return accountRepositoryJpa.getOne(accountId);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
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 java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Реализация репозитория.
|
||||||
|
*
|
||||||
|
* @author upagge [25/07/2019]
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public class MailRepositoryJpaImpl implements ContentRepository<Mail> {
|
||||||
|
|
||||||
|
private final MailRepositoryJpa mailRepositoryJpa;
|
||||||
|
|
||||||
|
public MailRepositoryJpaImpl(MailRepositoryJpa mailRepositoryJpa) {
|
||||||
|
this.mailRepositoryJpa = mailRepositoryJpa;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer add(Mail content) {
|
||||||
|
return mailRepositoryJpa.saveAndFlush(content).getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Mail> findByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
||||||
|
return mailRepositoryJpa.findByCreateDateBetween(timeFrom, timeTo);
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package org.sadtech.social.core.repository.impl;
|
package org.sadtech.social.core.repository.impl.local;
|
||||||
|
|
||||||
import org.sadtech.social.core.domain.money.Account;
|
import org.sadtech.social.core.domain.money.Account;
|
||||||
import org.sadtech.social.core.exception.AccessException;
|
import org.sadtech.social.core.exception.AccessException;
|
@ -1,4 +1,4 @@
|
|||||||
package org.sadtech.social.core.repository.impl;
|
package org.sadtech.social.core.repository.impl.local;
|
||||||
|
|
||||||
import org.sadtech.social.core.domain.content.BoardComment;
|
import org.sadtech.social.core.domain.content.BoardComment;
|
||||||
import org.sadtech.social.core.repository.ContentRepository;
|
import org.sadtech.social.core.repository.ContentRepository;
|
@ -1,4 +1,4 @@
|
|||||||
package org.sadtech.social.core.repository.impl;
|
package org.sadtech.social.core.repository.impl.local;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import org.sadtech.social.core.repository.EventRepository;
|
import org.sadtech.social.core.repository.EventRepository;
|
@ -1,4 +1,4 @@
|
|||||||
package org.sadtech.social.core.repository.impl;
|
package org.sadtech.social.core.repository.impl.local;
|
||||||
|
|
||||||
import org.sadtech.social.core.domain.content.Mail;
|
import org.sadtech.social.core.domain.content.Mail;
|
||||||
import org.sadtech.social.core.repository.ContentRepository;
|
import org.sadtech.social.core.repository.ContentRepository;
|
||||||
@ -7,6 +7,11 @@ import java.time.LocalDateTime;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Локальная реализация репозитория на основе {@link ArrayList} для взаимодействия с сущностью {@link Mail}.
|
||||||
|
*
|
||||||
|
* @author upagge [27/07/2019]
|
||||||
|
*/
|
||||||
public class MailRepositoryList implements ContentRepository<Mail> {
|
public class MailRepositoryList implements ContentRepository<Mail> {
|
||||||
|
|
||||||
private final List<Mail> mails = new ArrayList<>();
|
private final List<Mail> mails = new ArrayList<>();
|
@ -0,0 +1,13 @@
|
|||||||
|
package org.sadtech.social.core.repository.jpa;
|
||||||
|
|
||||||
|
import org.sadtech.social.core.domain.money.Account;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: Добавить описание интерфейса.
|
||||||
|
*
|
||||||
|
* @author upagge [27/07/2019]
|
||||||
|
*/
|
||||||
|
public interface AccountRepositoryJpa extends JpaRepository<Account, Integer> {
|
||||||
|
|
||||||
|
}
|
@ -1,32 +1,19 @@
|
|||||||
package org.sadtech.social.core.repository.jpa;
|
package org.sadtech.social.core.repository.jpa;
|
||||||
|
|
||||||
import org.sadtech.social.core.domain.content.Mail;
|
import org.sadtech.social.core.domain.content.Mail;
|
||||||
import org.sadtech.social.core.repository.ContentRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.sadtech.social.core.repository.jpa.impl.MailRepository;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Добавить описание класса.
|
* Интерфейс JPA репозитория для сущности {@link Mail}. При этом сам не является репозиторием, а подставляется в
|
||||||
|
* {@link org.sadtech.social.core.repository.impl.jpa.MailRepositoryJpaImpl}
|
||||||
*
|
*
|
||||||
* @author upagge [25/07/2019]
|
* @author upagge [27/07/2019]
|
||||||
*/
|
*/
|
||||||
public class MailRepositoryJpa implements ContentRepository<Mail> {
|
public interface MailRepositoryJpa extends JpaRepository<Mail, Integer> {
|
||||||
|
|
||||||
private final MailRepository mailRepository;
|
List<Mail> findByCreateDateBetween(LocalDateTime from, LocalDateTime to);
|
||||||
|
|
||||||
public MailRepositoryJpa(MailRepository mailRepository) {
|
|
||||||
this.mailRepository = mailRepository;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Integer add(Mail content) {
|
|
||||||
return mailRepository.saveAndFlush(content).getId();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Mail> findByTime(LocalDateTime timeFrom, LocalDateTime timeTo) {
|
|
||||||
return mailRepository.findByCreateDateBetween(timeFrom, timeTo);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
package org.sadtech.social.core.repository.jpa.impl;
|
|
||||||
|
|
||||||
import org.sadtech.social.core.domain.content.Mail;
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO: Добавить описание интерфейса.
|
|
||||||
*
|
|
||||||
* @author upagge [27/07/2019]
|
|
||||||
*/
|
|
||||||
public interface MailRepository extends JpaRepository<Mail, Integer> {
|
|
||||||
|
|
||||||
List<Mail> findByCreateDateBetween(LocalDateTime from, LocalDateTime to);
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user