캔들차트, 이동평균선, 일목균형표, 볼린저밴드 보이기 숨기기 기능적용

This commit is contained in:
Macbook
2026-06-03 00:19:44 +09:00
parent 08fb442d4a
commit 76e5b12d19
15 changed files with 427 additions and 69 deletions
@@ -122,6 +122,11 @@ public class GcAppSettings {
@Builder.Default
private Boolean chartCrosshairInfoVisible = true;
/** 차트 마우스오버 줌·이동 플로팅 툴바(− + ⌐↔ ‹ ›) 표시 (기본 true) */
@Column(name = "chart_hover_toolbar_visible", nullable = false)
@Builder.Default
private Boolean chartHoverToolbarVisible = true;
/** 차트 상단 범례(tv-legend) 항목별 표시 옵션 JSON */
@Column(name = "chart_legend_options_json", columnDefinition = "JSON")
@JdbcTypeCode(SqlTypes.JSON)
@@ -100,6 +100,8 @@ public class AppSettingsService {
Boolean.parseBoolean(d.get("chartLiveReceiveHighlight").toString()));
if (d.containsKey("chartCrosshairInfoVisible")) s.setChartCrosshairInfoVisible(
Boolean.parseBoolean(d.get("chartCrosshairInfoVisible").toString()));
if (d.containsKey("chartHoverToolbarVisible")) s.setChartHoverToolbarVisible(
Boolean.parseBoolean(d.get("chartHoverToolbarVisible").toString()));
if (d.containsKey("chartLegendOptions")) s.setChartLegendOptionsJson(toJson(d.get("chartLegendOptions")));
if (d.containsKey("chartPaneSeparator")) s.setChartPaneSeparatorJson(toJson(d.get("chartPaneSeparator")));
if (d.containsKey("tradeAlertPopup")) s.setTradeAlertPopup(
@@ -205,6 +207,7 @@ public class AppSettingsService {
m.put("chartVolumeVisible", s.getChartVolumeVisible() != null ? s.getChartVolumeVisible() : true);
m.put("chartLiveReceiveHighlight", s.getChartLiveReceiveHighlight() != null ? s.getChartLiveReceiveHighlight() : true);
m.put("chartCrosshairInfoVisible", s.getChartCrosshairInfoVisible() != null ? s.getChartCrosshairInfoVisible() : true);
m.put("chartHoverToolbarVisible", s.getChartHoverToolbarVisible() != null ? s.getChartHoverToolbarVisible() : true);
m.put("chartLegendOptions", parseJson(s.getChartLegendOptionsJson()));
m.put("chartPaneSeparator", parseJson(s.getChartPaneSeparatorJson()));
m.put("tradeAlertPopup", s.getTradeAlertPopup() != null ? s.getTradeAlertPopup() : true);
@@ -0,0 +1,3 @@
ALTER TABLE gc_app_settings
ADD COLUMN chart_hover_toolbar_visible BOOLEAN NOT NULL DEFAULT TRUE
COMMENT '차트 마우스오버 줌·이동 플로팅 툴바 표시';
@@ -0,0 +1,18 @@
-- V57 이 flyway_schema_history 에만 기록되고 컬럼이 없는 DB 복구
SET @col_exists := (
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'gc_app_settings'
AND COLUMN_NAME = 'chart_hover_toolbar_visible'
);
SET @ddl := IF(
@col_exists = 0,
'ALTER TABLE gc_app_settings ADD COLUMN chart_hover_toolbar_visible BOOLEAN NOT NULL DEFAULT TRUE COMMENT ''차트 마우스오버 줌·이동 플로팅 툴바 표시''',
'SELECT 1'
);
PREPARE stmt FROM @ddl;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;