diff options
Diffstat (limited to 'backend/controllers')
| -rw-r--r-- | backend/controllers/mapController.go | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/backend/controllers/mapController.go b/backend/controllers/mapController.go index 53fb18c..4c57971 100644 --- a/backend/controllers/mapController.go +++ b/backend/controllers/mapController.go | |||
| @@ -34,7 +34,13 @@ func FetchMap(c *gin.Context) { | |||
| 34 | if mapData.IsCoop { | 34 | if mapData.IsCoop { |
| 35 | var records []models.RecordMP | 35 | var records []models.RecordMP |
| 36 | sql = `SELECT id, host_id, partner_id, score_count, score_time, host_demo_id, partner_demo_id, record_date | 36 | sql = `SELECT id, host_id, partner_id, score_count, score_time, host_demo_id, partner_demo_id, record_date |
| 37 | FROM records_mp WHERE map_id = $1 ORDER BY score_count, score_time;` | 37 | FROM ( |
| 38 | SELECT id, host_id, partner_id, score_count, score_time, host_demo_id, partner_demo_id, record_date, | ||
| 39 | ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY score_count, score_time) AS rn | ||
| 40 | FROM records_mp | ||
| 41 | WHERE map_id = $1 | ||
| 42 | ) sub | ||
| 43 | WHERE rn = 1;` | ||
| 38 | rows, err := database.DB.Query(sql, id) | 44 | rows, err := database.DB.Query(sql, id) |
| 39 | if err != nil { | 45 | if err != nil { |
| 40 | c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) | 46 | c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) |
| @@ -62,7 +68,13 @@ func FetchMap(c *gin.Context) { | |||
| 62 | } else { | 68 | } else { |
| 63 | var records []models.RecordSP | 69 | var records []models.RecordSP |
| 64 | sql = `SELECT id, user_id, score_count, score_time, demo_id, record_date | 70 | sql = `SELECT id, user_id, score_count, score_time, demo_id, record_date |
| 65 | FROM records_sp WHERE map_id = $1 ORDER BY score_count, score_time;` | 71 | FROM ( |
| 72 | SELECT id, user_id, score_count, score_time, demo_id, record_date, | ||
| 73 | ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY score_count, score_time) AS rn | ||
| 74 | FROM records_sp | ||
| 75 | WHERE map_id = $1 | ||
| 76 | ) sub | ||
| 77 | WHERE rn = 1;` | ||
| 66 | rows, err := database.DB.Query(sql, id) | 78 | rows, err := database.DB.Query(sql, id) |
| 67 | if err != nil { | 79 | if err != nil { |
| 68 | c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) | 80 | c.JSON(http.StatusBadRequest, models.ErrorResponse(err.Error())) |
| @@ -95,3 +107,7 @@ func FetchMap(c *gin.Context) { | |||
| 95 | Data: mapData, | 107 | Data: mapData, |
| 96 | }) | 108 | }) |
| 97 | } | 109 | } |
| 110 | |||
| 111 | func CreateMapCommunity(c *gin.Context) { | ||
| 112 | |||
| 113 | } | ||