Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 57ab9b3e01 | |||
| 487eb48322 | |||
| 8955933a47 | |||
| 0626395b9f | |||
| a78cdb24fd | |||
| 1b1bde8c76 | |||
| ddb5012b95 |
38
pom.xml
38
pom.xml
@ -48,23 +48,6 @@
|
||||
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- GraghQL -->
|
||||
<dependency>
|
||||
<groupId>com.graphql-java</groupId>
|
||||
<artifactId>graphql-spring-boot-starter</artifactId>
|
||||
<version>5.0.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.graphql-java</groupId>
|
||||
<artifactId>graphql-java-tools</artifactId>
|
||||
<version>5.2.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.graphql-java</groupId>
|
||||
<artifactId>graphiql-spring-boot-starter</artifactId>
|
||||
<version>5.0.2</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Local database -->
|
||||
<dependency>
|
||||
<groupId>com.h2database</groupId>
|
||||
@ -84,6 +67,23 @@
|
||||
<version>4.3.8.Final</version>
|
||||
</dependency>
|
||||
|
||||
<!-- GraghQL -->
|
||||
<dependency>
|
||||
<groupId>com.graphql-java</groupId>
|
||||
<artifactId>graphql-spring-boot-starter</artifactId>
|
||||
<version>5.0.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.graphql-java</groupId>
|
||||
<artifactId>graphql-java-tools</artifactId>
|
||||
<version>5.2.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.graphql-java</groupId>
|
||||
<artifactId>graphiql-spring-boot-starter</artifactId>
|
||||
<version>5.0.2</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Artemis -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
@ -98,6 +98,10 @@
|
||||
<version>1.18.8</version>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--- Logging -->
|
||||
<dependency>
|
||||
|
||||
@ -78,7 +78,7 @@ public class PriceConsumer {
|
||||
JsonNode messageJson = objectMapper.readTree(message.getText());
|
||||
cryptoPriceModel = objectMapper.readValue(messageJson.traverse(), CryptoPriceModel.class);
|
||||
|
||||
logger.info("Message with syncId of [{}] is for customer [{}]", syncId, cryptoPriceModel);
|
||||
logger.info("Message with syncId of [{}] is for [{}]", syncId, cryptoPriceModel);
|
||||
|
||||
priceService.createRecord(cryptoPriceModel, correlationId, message);
|
||||
|
||||
|
||||
@ -77,7 +77,7 @@ public class TweetConsumer {
|
||||
JsonNode messageJson = objectMapper.readTree(message.getText());
|
||||
sentimentModel = objectMapper.readValue(messageJson.traverse(), SentimentModel.class);
|
||||
|
||||
logger.info("Message with syncId of [{}] is for customer [{}]", syncId, sentimentModel);
|
||||
logger.info("Message with syncId of [{}] is for [{}]", syncId, sentimentModel);
|
||||
|
||||
sentimentService.createRecord(sentimentModel, correlationId, message);
|
||||
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
package cryptosky.me.pricing.graphql.mutations;
|
||||
|
||||
import com.coxautodev.graphql.tools.GraphQLMutationResolver;
|
||||
import cryptosky.me.pricing.models.entities.BtcPriceModel;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import cryptosky.me.pricing.service.PriceService;
|
||||
|
||||
@Component
|
||||
public class BtcPriceMutation implements GraphQLMutationResolver {
|
||||
|
||||
@Autowired
|
||||
private PriceService priceService;
|
||||
|
||||
public BtcPriceModel createBtc(final String createdDate, final String type,
|
||||
final float av_price,
|
||||
final float h_price,
|
||||
final float l_price,
|
||||
final float o_price,
|
||||
final float c_price,
|
||||
final float volume ) {
|
||||
return this.priceService.createBtc(createdDate, type, av_price, h_price, l_price, o_price, c_price, volume);
|
||||
}
|
||||
|
||||
}
|
||||
@ -2,7 +2,6 @@ package cryptosky.me.pricing.graphql.queries;
|
||||
|
||||
import com.coxautodev.graphql.tools.GraphQLQueryResolver;
|
||||
import cryptosky.me.pricing.models.entities.BtcPriceModel;
|
||||
import cryptosky.me.pricing.models.entities.CryptoPriceModel;
|
||||
import cryptosky.me.pricing.service.PriceService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@ -9,7 +9,6 @@ import cryptosky.me.pricing.models.entities.CryptoPriceModel;
|
||||
import cryptosky.me.pricing.models.repositories.BtcPriceRepository;
|
||||
|
||||
import cryptosky.me.exceptions.NotSupportedCurrencyTypeException;
|
||||
import cryptosky.me.exceptions.DatabaseViolationException;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -22,11 +21,9 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.jms.JMSException;
|
||||
import javax.jms.TextMessage;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static cryptosky.me.ArtemisSyncMessaging.*;
|
||||
import static cryptosky.me.SupportedCurrencies.*;
|
||||
@ -55,29 +52,6 @@ public class PriceService {
|
||||
this.dlqName = dlqName;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public BtcPriceModel createBtc(final String createdDate, final String type,
|
||||
final float av_price,
|
||||
final float h_price,
|
||||
final float l_price,
|
||||
final float o_price,
|
||||
final float c_price,
|
||||
final float volume ) {
|
||||
|
||||
final BtcPriceModel btcPrice = new BtcPriceModel();
|
||||
btcPrice.setTimestamp(LocalDateTime.parse((createdDate)));
|
||||
btcPrice.setType(type);
|
||||
btcPrice.setAverage_price(av_price);
|
||||
btcPrice.setHigh_price(h_price);
|
||||
btcPrice.setLow_price(l_price);
|
||||
btcPrice.setOpen_price(o_price);
|
||||
btcPrice.setClose_price(c_price);
|
||||
btcPrice.setVolume(volume);
|
||||
|
||||
return btcPrice;
|
||||
// return this.btcPriceRepository.save(btcPrice);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void createRecord(CryptoPriceModel cryptoPriceModel, String correlationId, TextMessage message) {
|
||||
String syncId = randomUUID().toString();
|
||||
|
||||
@ -14,7 +14,6 @@ public class SentimentModel {
|
||||
|
||||
@Id
|
||||
@Column(name = "ID", nullable = false)
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private int id;
|
||||
|
||||
@Column(name = "timestamp",nullable = false)
|
||||
|
||||
@ -17,7 +17,7 @@ spring:
|
||||
platform: postgres
|
||||
jpa:
|
||||
hibernate:
|
||||
ddl-auto: update
|
||||
ddl-auto: validate
|
||||
show-sql: false
|
||||
properties:
|
||||
org.hibernate.envers.revision_field_name: revision_id
|
||||
|
||||
@ -1,40 +1,35 @@
|
||||
type BtcPrice {
|
||||
id: ID!,
|
||||
id: ID!,
|
||||
timestamp: String!,
|
||||
type: String,
|
||||
average_price: Float!,
|
||||
high_price: Float,
|
||||
low_price: Float,
|
||||
open_price: Float,
|
||||
close_price: Float,
|
||||
volume: Float
|
||||
type: String,
|
||||
average_price: Float!,
|
||||
high_price: Float,
|
||||
low_price: Float,
|
||||
open_price: Float,
|
||||
close_price: Float,
|
||||
volume: Float
|
||||
}
|
||||
|
||||
type sentimentModel {
|
||||
id: ID!,
|
||||
timestamp: String!,
|
||||
rawTweet: String,
|
||||
sentimentScore: Float!,
|
||||
positiveScore: Float,
|
||||
neutralScore: Float,
|
||||
negativeScore: Float,
|
||||
compoundScore: Float!
|
||||
id: ID!,
|
||||
timestamp: String!,
|
||||
rawTweet: String,
|
||||
sentimentScore: Float!,
|
||||
positiveScore: Float,
|
||||
neutralScore: Float,
|
||||
negativeScore: Float,
|
||||
compoundScore: Float!
|
||||
}
|
||||
|
||||
type Query {
|
||||
allPrices(count: Int):[BtcPrice],
|
||||
pricesBetweenCounts(startCount: Int, endCount: Int):[BtcPrice]
|
||||
latest:BtcPrice,
|
||||
priceForCreatedDate(createdDate: String):BtcPrice,
|
||||
priceBetweenDates(startDate: String, endDate: String):[BtcPrice],
|
||||
################################################################
|
||||
currentTweet:sentimentModel,
|
||||
allTweets(count: Int):[sentimentModel],
|
||||
tweetsForDay(startDate: String, endDate: String):[sentimentModel],
|
||||
tweetsForPeriod(startDate: String, endDate: String):[sentimentModel]
|
||||
}
|
||||
|
||||
type Mutation {
|
||||
createBtc(createdDate: String!, type: String!, average_price: Float!, high_price: Float, low_price: Float, open_price: Float, close_price: Float, volume: Float):BtcPrice
|
||||
createTweet(createdDate: String!, rawTweet: String!, sentimentScore: Float!, positiveScore: Float, neutralScore: Float, negativeScore: Float, compoundScore: Float!):sentimentModel
|
||||
allPrices(count: Int):[BtcPrice],
|
||||
pricesBetweenCounts(startCount: Int, endCount: Int):[BtcPrice]
|
||||
latest:BtcPrice,
|
||||
priceForCreatedDate(createdDate: String):BtcPrice,
|
||||
priceBetweenDates(startDate: String, endDate: String):[BtcPrice],
|
||||
################################################################
|
||||
currentTweet:sentimentModel,
|
||||
allTweets(count: Int):[sentimentModel],
|
||||
tweetsForDay(startDate: String, endDate: String):[sentimentModel],
|
||||
tweetsForPeriod(startDate: String, endDate: String):[sentimentModel]
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user