From 24db51375fd8f684bead89a93857f1ee2b3f1a46 Mon Sep 17 00:00:00 2001 From: GAM Date: Sat, 20 Mar 2021 08:45:22 +0100 Subject: [PATCH] enhanced GameInfo --- db/db_init.sql | 11 ++- src/main/java/app/data/entity/GameInfo.java | 88 +++++++++++++++++++ .../app/data/service/ChessComService.java | 9 +- 3 files changed, 105 insertions(+), 3 deletions(-) diff --git a/db/db_init.sql b/db/db_init.sql index 4ca7207..d496a01 100644 --- a/db/db_init.sql +++ b/db/db_init.sql @@ -44,10 +44,17 @@ CREATE TABLE "game_info" ( "time_control" varchar, "chess_com_id" varchar, "fen" varchar, - "end_time" bigint + "end_time" bigint, + "pgn" varchar, + "rated" boolean, + "time_class" varchar, + "rules" varchar, + "white_rating" int, + "black_rating" int, + "white_result" varchar, + "black_result" varchar ); - CREATE TABLE "match" ( "id" SERIAL PRIMARY KEY, "player1" int NOT NULL, diff --git a/src/main/java/app/data/entity/GameInfo.java b/src/main/java/app/data/entity/GameInfo.java index a59e669..a0275a4 100644 --- a/src/main/java/app/data/entity/GameInfo.java +++ b/src/main/java/app/data/entity/GameInfo.java @@ -12,6 +12,14 @@ public class GameInfo { private String timeControl; private String fen; private Long endTime; + private String pgn; + private Boolean rated; + private String timeClass; + private String rules; + private Integer whiteRating; + private Integer blackRating; + private String whiteResult; + private String blackResult; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -85,4 +93,84 @@ public class GameInfo { public void setEndTime(Long endTime) { this.endTime = endTime; } + + @Basic + @Column(name = "pgn") + public String getPgn() { + return pgn; + } + + public void setPgn(String pgn) { + this.pgn = pgn; + } + + @Basic + @Column(name = "rated") + public Boolean getRated() { + return rated; + } + + public void setRated(Boolean rated) { + this.rated = rated; + } + + @Basic + @Column(name = "time_class") + public String getTimeClass() { + return timeClass; + } + + public void setTimeClass(String timeClass) { + this.timeClass = timeClass; + } + + @Basic + @Column(name = "rules") + public String getRules() { + return rules; + } + + public void setRules(String rules) { + this.rules = rules; + } + + @Basic + @Column(name = "white_rating") + public Integer getWhiteRating() { + return whiteRating; + } + + public void setWhiteRating(Integer whiteRating) { + this.whiteRating = whiteRating; + } + + @Basic + @Column(name = "black_rating") + public Integer getBlackRating() { + return blackRating; + } + + public void setBlackRating(Integer blackRating) { + this.blackRating = blackRating; + } + + @Basic + @Column(name = "white_result") + public String getWhiteResult() { + return whiteResult; + } + + public void setWhiteResult(String whiteResult) { + this.whiteResult = whiteResult; + } + + @Basic + @Column(name = "black_result") + public String getBlackResult() { + return blackResult; + } + + public void setBlackResult(String blackResult) { + this.blackResult = blackResult; + } } diff --git a/src/main/java/app/data/service/ChessComService.java b/src/main/java/app/data/service/ChessComService.java index 3926aae..cd51049 100644 --- a/src/main/java/app/data/service/ChessComService.java +++ b/src/main/java/app/data/service/ChessComService.java @@ -14,7 +14,6 @@ import org.springframework.lang.NonNull; import org.springframework.stereotype.Service; import java.util.*; -import java.util.function.ToLongFunction; import java.util.stream.Collectors; @Service @@ -104,6 +103,14 @@ public class ChessComService { gameInfo.setFen(chessComGame.getFen()); gameInfo.setEndTime(chessComGame.getEndTime()); gameInfo.setGame(game); + gameInfo.setPgn(chessComGame.getPgn()); + gameInfo.setRated(chessComGame.isRated()); + gameInfo.setTimeClass(chessComGame.getTimeClass()); + gameInfo.setRules(chessComGame.getRules()); + gameInfo.setWhiteRating(chessComGame.getWhite().getRating()); + gameInfo.setBlackRating(chessComGame.getBlack().getRating()); + gameInfo.setWhiteResult(chessComGame.getWhite().getResult()); + gameInfo.setBlackResult(chessComGame.getBlack().getResult()); return game; }