Implement Trader V4 training artifact pipeline
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
package com.quantai.trader.feedback;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.quantai.trader.domain.TraderAppFeedback;
|
||||
import com.quantai.trader.persistence.TraderJsonCodec;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
@Repository
|
||||
public class JdbcTraderFeedbackRepository implements TraderFeedbackRepository {
|
||||
private final JdbcTemplate jdbcTemplate;
|
||||
private final TraderJsonCodec jsonCodec;
|
||||
|
||||
public JdbcTraderFeedbackRepository(JdbcTemplate jdbcTemplate, ObjectMapper objectMapper) {
|
||||
this.jdbcTemplate = jdbcTemplate;
|
||||
this.jsonCodec = new TraderJsonCodec(objectMapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insert(TraderAppFeedback feedback) {
|
||||
jdbcTemplate.update("""
|
||||
insert into trader_app_feedback
|
||||
(run_id, cycle_id, feedback_id, action_id, feedback_source, is_real_fill,
|
||||
order_id, order_status, app_received_time, exchange_ack_time, filled_time,
|
||||
filled_price, filled_quantity, fee, slippage_bps, reject_reason, raw_feedback_json)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
""",
|
||||
feedback.runId(), feedback.cycleId(), feedback.feedbackId(), feedback.actionId(),
|
||||
feedback.feedbackSource().name(), feedback.realFill(), feedback.orderId(), feedback.orderStatus(),
|
||||
feedback.appReceivedTime() == null ? null : Timestamp.from(feedback.appReceivedTime()),
|
||||
feedback.exchangeAckTime() == null ? null : Timestamp.from(feedback.exchangeAckTime()),
|
||||
feedback.filledTime() == null ? null : Timestamp.from(feedback.filledTime()),
|
||||
feedback.filledPrice(), feedback.filledQuantity(), feedback.fee(), feedback.slippageBps(),
|
||||
feedback.rejectReason(), jsonCodec.toJson(feedback.rawFeedbackJson()));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.quantai.trader.feedback;
|
||||
|
||||
import com.quantai.trader.domain.TraderAppFeedback;
|
||||
|
||||
public interface TraderFeedbackRepository {
|
||||
void insert(TraderAppFeedback feedback);
|
||||
}
|
||||
Reference in New Issue
Block a user