LoginSignup
0

posted at

updated at

【v43】4本値の日付調整ツールがチャートDBファイルをRESTサーバーへ送信する

はじめに

過去記事は「auカブコム証券のkabuステーションREST APIに関する記事一覧」。

44番目の記事で、ツールを統合したカレンダー登録ツールと、4本値の日付調整ツールから、RESTサーバーへ更新したチャートDBファイルを送信する。

ゴール

51番目、52番目の記事のPUSH APIから受信したチャートデータは重複をチェックしたが、今回のツールは、APIを実行する環境側をマスターとするため、毎回ファイル全体を送信して、RESTサーバー側にコピーを作る。

ベースとなるソース

v38のr10をベースに、v43のr15を作成する。

  • MainChartCalendar_r10 -> MainChartCalendar_r15
  • MainChartDataDaily_r10 -> MainChartDataDaily_r15
  • MainChartDataHourly_r10 -> MainChartDataHourly_r15

実装

RESTサーバー側の修正は、「【kabusapisrv】自前のRESTサーバーを作成する」で対応する。

writeCalendar()がファイルに保存したListを戻り値で返し、execute()でRESTサーバー送信する。

カレンダーは直下なので、銘柄コードを空文字列""で送信する。

		readCalendar();
		readAllChartData(DIR_FILEPATH);
		List<String> lines = writeCalendar();
		RestClientUtil.postChartDb("", DB_FILENAME, lines);

日足や分足は、サブディレクトリ内なので、銘柄コードを渡す。

		readChartDB();
		readAllChart(DIR_FILEPATH);
		List<String> lines = writeChartDB();
		RestClientUtil.postChartDb(code, dbFileName, lines);

テスト

RESTサーバー側のコンソールで、RESTリクエストを受信して、ファイルが作成されることを確認する。

2022/10/13 19:46:42.988 ChartDbService.register(/ChartCalendar.db): writeCnt=723, totalCnt=723

2022/10/13 19:48:48.766 ChartDbService.register(9005/ChartData1d.db): writeCnt=679, totalCnt=679

2022/10/13 19:50:58.440 ChartDbService.register(9005/ChartData60m.db): writeCnt=505, totalCnt=505
2022/10/13 19:50:58.456 ChartDbService.register(9005/ChartData30m.db): writeCnt=985, totalCnt=985
2022/10/13 19:50:58.466 ChartDbService.register(9005/ChartData20m.db): writeCnt=929, totalCnt=929
2022/10/13 19:50:58.476 ChartDbService.register(9005/ChartData15m.db): writeCnt=1277, totalCnt=1277
2022/10/13 19:50:58.489 ChartDbService.register(9005/ChartData10m.db): writeCnt=1857, totalCnt=1857
2022/10/13 19:50:58.507 ChartDbService.register(9005/ChartData5m.db): writeCnt=5142, totalCnt=5142
2022/10/13 19:50:58.525 ChartDbService.register(9005/ChartData3m.db): writeCnt=5863, totalCnt=5863
2022/10/13 19:50:58.575 ChartDbService.register(9005/ChartData1m.db): writeCnt=21186, totalCnt=21186

追記:短いx分足から整数倍のy分足をマージしたDBデータをRESTサーバーへ送信する

v38.MainChartDataMigrate_r10はそのままv43.MainChartDataMigrate_r15を作成する。
v38.MainChartDataIntegrate_r10をベースに、v43.MainChartDataIntegrate_r15を作成する。

0件の場合、writeChartDB()ではファイルを削除しているため、RESTサーバーへも送信しない。

		List<String> lines = writeChartDB();
		if (lines.size() > 0) {
			String dstDbFileName = String.format(DB_FILENAME, chartType + "_r10");
			RestClientUtil.postChartDb(code, dstDbFileName, lines);
		}

追記:ソースをarchiveブランチへ移動

最新版に移行し、もう使われることはないので、アーカイブする。

githubソース

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0