Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
8bad519
TgbotController: Refactoring
vladimirshefer Dec 29, 2020
9b1d293
Delete UserController
vladimirshefer Dec 29, 2020
543ebea
Entities: Set Hibernate naming strategy
vladimirshefer Jan 10, 2021
c1d5f0a
Fix compilation errors in tests because of new BaseUuidIdEntity
vladimirshefer Jan 10, 2021
4bb8016
FnsApiReceiptDto: Remove redundant annotation
vladimirshefer Jan 10, 2021
394020d
Fix compilation errors in DTOS because of new BaseUuidIdEntity
vladimirshefer Jan 10, 2021
a17b682
Module 'storage-filesystem'
vladimirshefer Jan 30, 2021
7051400
Create filesystem dao
vladimirshefer Jan 30, 2021
8cfde72
Add receipt dto for storage-filesystem
vladimirshefer Jan 30, 2021
63e3b71
Create ReceiptsParser, NalogReceiptsParser, TinkoffReceiptsParser
vladimirshefer Jan 30, 2021
dc76dc4
dsfaf
vladimirshefer Jan 30, 2021
593c348
Add tags of source type for parsed receipts
vladimirshefer Feb 11, 2021
2aaf1a1
Remove /create endpoint
vladimirshefer Feb 11, 2021
143fa1b
New module storage-filesystem
vladimirshefer Feb 12, 2021
ec70e7c
Add actuator to rest-api
vladimirshefer Feb 12, 2021
e658879
Add method deleteAll to Dao
vladimirshefer Feb 12, 2021
2d7f55d
Allow parse directories by ReceiptsParser
vladimirshefer Feb 12, 2021
30f5e8d
Add Main.java in storage-filesystem
vladimirshefer Feb 12, 2021
5e41a0f
Add builder to ReceiptMetaDto.java
vladimirshefer Feb 12, 2021
b8afc4b
Refactoring in ReceiptDto.java
vladimirshefer Feb 12, 2021
d44733d
Remove unused 'jobs' module
vladimirshefer Feb 12, 2021
27e9281
Extract 'merchants-resolver' module
vladimirshefer Feb 12, 2021
e5e4679
Remove resundant components from `fns-sdk`
vladimirshefer Feb 12, 2021
0ad48fd
Remove ReceiptCreateDto & creation methods
vladimirshefer Feb 15, 2021
90e4040
Remove UserPasswordRestoreDto.java
vladimirshefer Feb 15, 2021
9e57507
Remove UserLoginDto.java
vladimirshefer Feb 15, 2021
6e9af3d
Remove UserSignUpDto.java
vladimirshefer Feb 15, 2021
523eaba
Remove FnsSdkConfiguration.kt
vladimirshefer Feb 15, 2021
4584634
Remove unused endpoints and services
vladimirshefer Feb 25, 2021
8ec3274
Dirty commit
vladimirshefer Oct 17, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,5 @@ gradlew.bat

## Lombok plugin
lombok.config

workdir
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
@Builder(toBuilder = true)
public class ReportItemFilter {
@Nullable
private List<Long> receiptIds;
private List<String> receiptIds;
@Nullable
private Double minPrice;
@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
public class ReportMetaFilter {

@Nullable
List<Long> ids;
List<String> ids;

@Schema(
description = DateUtil.RECEIPT_DATETIME_DESCRIPTION,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import space.shefer.receipt.fnssdk.config.EnableFnsSdk;

@EnableFnsSdk
@ComponentScan
@EnableJpaRepositories
@EnableJpaAuditing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.Column;
import javax.persistence.EntityListeners;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
Expand All @@ -23,15 +22,12 @@ public class BaseUuidIdEntity {
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
@Column(name = "id", unique = true)
protected String id;

@CreatedDate
@Column(name = "created_at", nullable = false)
protected LocalDateTime createdAt;

@LastModifiedDate
@Column(name = "updated_at", nullable = true)
protected LocalDateTime updatedAt;

}
Original file line number Diff line number Diff line change
@@ -1,20 +1,26 @@
package space.shefer.receipt.platform.core.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name = "item")
@Data
@AllArgsConstructor
@Entity
@Getter
@NoArgsConstructor
public class Item extends BaseUuidIdEntity{
@Setter
@Builder
@Table(name = "item")
@ToString
public class Item extends BaseUuidIdEntity {

private String text;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import space.shefer.receipt.platform.core.dto.ReceiptStatus;

import javax.annotation.Nullable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
Expand All @@ -20,35 +21,30 @@
import java.util.ArrayList;
import java.util.List;

@Entity
@Table(name = "receipt")
@Data
@Builder
@AllArgsConstructor
@Builder
@Entity
@Getter
@NoArgsConstructor
@Setter
@Table(name = "receipt")
@ToString
public class Receipt extends BaseUuidIdEntity {

@Column(name = "date", nullable = false)
private LocalDateTime date;

@Column(name = "fn", nullable = false)
private String fn;

@Column(name = "fd", nullable = false)
private String fd;

@Column(name = "fp", nullable = false)
private String fp;

@Column(name = "sum", nullable = false)
private Double sum;

@Nullable
@Column(name = "provider")
private String provider;

@Enumerated(EnumType.STRING)
@Column(name = "status", nullable = false)
private ReceiptStatus status;

@Builder.Default
Expand All @@ -57,23 +53,19 @@ public class Receipt extends BaseUuidIdEntity {
private List<Item> items = new ArrayList<>();

@Nullable
@Column(name = "merchant_name")
private String merchantName;

@Nullable
@Column(name = "merchant_inn")
private String merchantInn;

@Nullable
@Column(name = "merchant_place_address")
private String merchantPlaceAddress;

@Nullable
@ManyToOne
@JoinColumn(name = "user_profile_id")
private UserProfile userProfile;

@Column(name = "load_attempts", nullable = false, columnDefinition = "INT DEFAULT 0")

private long loadAttempts;

}

This file was deleted.

2 changes: 2 additions & 0 deletions core/src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ spring.datasource.password=

# The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.psysical_naming_strategy=com.vladmihalcea.hibernate.type.util.CamelCaseToSnakeCaseNamingStrategy


# Hibernate ddl auto (create, create-drop, validate, update)
spring.jpa.hibernate.ddl-auto=update
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ public class ItemRepositorySlowTest {
@Test
public void getItems_defaultFilter() {
List<Item> itemsInitial = asList(
new Item(null, "text1", 1001.0, 101.0, null),
new Item(null, "text2", 1002.0, 102.0, null),
new Item(null, "text3", 1003.0, 103.0, null),
new Item(null, "text4", 1004.0, 104.0, null)
new Item("text1", 1001.0, 101.0, null),
new Item("text2", 1002.0, 102.0, null),
new Item("text3", 1003.0, 103.0, null),
new Item("text4", 1004.0, 104.0, null)
);
repository.saveAll(itemsInitial);
List<Item> itemsAll = repository.findAll();
Expand All @@ -56,19 +56,19 @@ public void getItems_fullFilter() {
double priceMax = priceOk + 5;
double priceMin = priceOk - 5;
// OK
repository.save(new Item(null, "text1", priceOk, 101.0, receiptOk));
repository.save(new Item("text1", priceOk, 101.0, receiptOk));
// OK
repository.save(new Item(null, "text1", priceMin, 101.0, receiptOk));
repository.save(new Item("text1", priceMin, 101.0, receiptOk));
// OK
repository.save(new Item(null, "text1", priceMax, 101.0, receiptOk));
repository.save(new Item("text1", priceMax, 101.0, receiptOk));
// Wrong text
repository.save(new Item(null, "text2", priceOk, 101.0, receiptOk));
repository.save(new Item("text2", priceOk, 101.0, receiptOk));
// Wrong receipt
repository.save(new Item(null, "text1", priceOk, 101.0, null));
repository.save(new Item("text1", priceOk, 101.0, null));
// Price less than minimal
repository.save(new Item(null, "text1", priceMin - 1, 101.0, receiptOk));
repository.save(new Item("text1", priceMin - 1, 101.0, receiptOk));
// Price greater than maximal
repository.save(new Item(null, "text1", priceMax + 1, 101.0, receiptOk));
repository.save(new Item("text1", priceMax + 1, 101.0, receiptOk));
{
ReportItemFilter filter = new ReportItemFilter();
filter.setReceiptIds(asList(receiptOk.getId()));
Expand All @@ -77,9 +77,9 @@ public void getItems_fullFilter() {
filter.setTextEquals("text1");
List<Item> actual = repository.getItems(filter);
assertEquals(3, actual.size());
assertSimilar(new Item(null, "text1", priceOk, 101.0, receiptOk), actual.get(0));
assertSimilar(new Item(null, "text1", priceMin, 101.0, receiptOk), actual.get(1));
assertSimilar(new Item(null, "text1", priceMax, 101.0, receiptOk), actual.get(2));
assertSimilar(new Item("text1", priceOk, 101.0, receiptOk), actual.get(0));
assertSimilar(new Item("text1", priceMin, 101.0, receiptOk), actual.get(1));
assertSimilar(new Item("text1", priceMax, 101.0, receiptOk), actual.get(2));
}
}

Expand Down
Loading