Skip to content

Commit

Permalink
ref: use diff for /chart/data
Browse files Browse the repository at this point in the history
  • Loading branch information
marcandreher committed Jul 6, 2024
1 parent 052db36 commit f206660
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/main/java/osu/serverlist/Sites/Endpoints/ChartDataRoute.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

public class ChartDataRoute extends JsonProcessingRoute {
public final String CHECKFORCRAWLSTAT_SQL = "SELECT DAYOFWEEK(d.date) AS `date`, IFNULL(`value`, 0) AS value FROM (SELECT CURDATE() - INTERVAL 6 DAY AS date UNION SELECT CURDATE() - INTERVAL 5 DAY UNION SELECT CURDATE() - INTERVAL 4 DAY UNION SELECT CURDATE() - INTERVAL 3 DAY UNION SELECT CURDATE() - INTERVAL 2 DAY UNION SELECT CURDATE() - INTERVAL 1 DAY UNION SELECT CURDATE()) AS d LEFT JOIN un_crawler v ON DATE(v.date) = d.date AND v.srv_id = ? AND `type` = ? ORDER BY d.date;";
public final String CHECKFORCRAWLSTATDIFF_SQL = "SELECT DAYOFWEEK(d.date) AS `date`, IFNULL(v1.value, 0) - IFNULL(v2.value, 0) AS value FROM (SELECT CURDATE() - INTERVAL 6 DAY AS date UNION SELECT CURDATE() - INTERVAL 5 DAY UNION SELECT CURDATE() - INTERVAL 4 DAY UNION SELECT CURDATE() - INTERVAL 3 DAY UNION SELECT CURDATE() - INTERVAL 2 DAY UNION SELECT CURDATE() - INTERVAL 1 DAY UNION SELECT CURDATE()) AS d LEFT JOIN un_crawler v1 ON DATE(v1.date) = d.date AND v1.srv_id = 36 AND v1.type = ? LEFT JOIN un_crawler v2 ON DATE(v2.date) = d.date - INTERVAL 1 DAY AND v2.srv_id = ? AND v2.type = ? ORDER BY d.date;";

public ChartDataRoute() {
super();
Expand All @@ -22,8 +23,13 @@ public ChartDataRoute() {
public Object handle(Request request, Response response) {
Object ob = super.handle(request, response);
if(ob != null) return ob;

ResultSet serverResultSet = mysql.Query(CHECKFORCRAWLSTAT_SQL, request.queryParams("id"), request.queryParams("type"));
ResultSet serverResultSet;
if(request.queryParams("type").equalsIgnoreCase("PLAYERCHECK")) {
serverResultSet = mysql.Query(CHECKFORCRAWLSTAT_SQL, request.queryParams("id"), request.queryParams("type"));
}else{
serverResultSet = mysql.Query(CHECKFORCRAWLSTATDIFF_SQL, request.queryParams("type"), request.queryParams("id"), request.queryParams("type"));
}

List<ChartData> data = new ArrayList<>();
try {

Expand Down

0 comments on commit f206660

Please sign in to comment.