가상매매 수정

This commit is contained in:
Macbook
2026-05-27 17:21:48 +09:00
parent aca895e9fd
commit 701a9b2881
6 changed files with 201 additions and 45 deletions
@@ -56,13 +56,16 @@ public class StrategyService {
else if (entity.getEnabled() == null) entity.setEnabled(true);
try {
String strategyName = entity.getName() != null ? entity.getName() : dto.getName();
entity.setBuyConditionJson(
dto.getBuyCondition() != null
? dslTimeframeNormalizer.normalizeJson(objectMapper.writeValueAsString(dto.getBuyCondition()))
? dslTimeframeNormalizer.normalizeJson(
objectMapper.writeValueAsString(dto.getBuyCondition()), strategyName)
: null);
entity.setSellConditionJson(
dto.getSellCondition() != null
? dslTimeframeNormalizer.normalizeJson(objectMapper.writeValueAsString(dto.getSellCondition()))
? dslTimeframeNormalizer.normalizeJson(
objectMapper.writeValueAsString(dto.getSellCondition()), strategyName)
: null);
} catch (Exception e) {
log.warn("전략 DSL 직렬화 실패: {}", e.getMessage());
@@ -83,14 +86,16 @@ public class StrategyService {
return repository.findById(id).map(entity -> {
boolean changed = false;
if (entity.getBuyConditionJson() != null && !entity.getBuyConditionJson().isBlank()) {
String fixed = dslTimeframeNormalizer.normalizeJson(entity.getBuyConditionJson());
String fixed = dslTimeframeNormalizer.normalizeJson(
entity.getBuyConditionJson(), entity.getName());
if (!fixed.equals(entity.getBuyConditionJson())) {
entity.setBuyConditionJson(fixed);
changed = true;
}
}
if (entity.getSellConditionJson() != null && !entity.getSellConditionJson().isBlank()) {
String fixed = dslTimeframeNormalizer.normalizeJson(entity.getSellConditionJson());
String fixed = dslTimeframeNormalizer.normalizeJson(
entity.getSellConditionJson(), entity.getName());
if (!fixed.equals(entity.getSellConditionJson())) {
entity.setSellConditionJson(fixed);
changed = true;