Логические изменения по пакетам
jpa для счетов
This commit is contained in:
parent
7f36ec2d7e
commit
18fbf8127f
@ -1,5 +1,6 @@
|
||||
package org.sadtech.social.core.domain.money;
|
||||
|
||||
import com.sun.istack.internal.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@ -9,6 +10,14 @@ import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
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
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Entity
|
||||
@Table(name = "account")
|
||||
public class Account {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
@Description("Идентификатор счета")
|
||||
private Integer id;
|
||||
|
||||
@NotNull
|
||||
@Column(name = "totalSum")
|
||||
@Description("Сумма к оплате")
|
||||
private Integer totalSum;
|
||||
|
||||
@Column(name = "belongs_person_id")
|
||||
@Description("Идентификатор пользователя, которому выставлен счет")
|
||||
private Integer belongsPersonId;
|
||||
|
||||
@Column(name = "extinguished_person_id")
|
||||
@Description("Идентификатор пользователя, который оплатил счет")
|
||||
private Integer extinguishedPersonId;
|
||||
|
||||
@Column(name = "description")
|
||||
@Description("Описание платежа")
|
||||
private String description;
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
@Column(name = "status")
|
||||
@Description("Статус оплаты счета")
|
||||
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.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.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 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.repository.ContentRepository;
|
||||
@ -7,6 +7,11 @@ import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Локальная реализация репозитория на основе {@link ArrayList} для взаимодействия с сущностью {@link Mail}.
|
||||
*
|
||||
* @author upagge [27/07/2019]
|
||||
*/
|
||||
public class MailRepositoryList implements ContentRepository<Mail> {
|
||||
|
||||
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;
|
||||
|
||||
import org.sadtech.social.core.domain.content.Mail;
|
||||
import org.sadtech.social.core.repository.ContentRepository;
|
||||
import org.sadtech.social.core.repository.jpa.impl.MailRepository;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
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