Added Query to get Rankingplace of specific User
This commit is contained in:
parent
76c426b252
commit
f244cf408b
@ -396,6 +396,11 @@ public class Controller {
|
||||
return ResponseEntity.status(404).body("User was not found in the database");
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping("/api/hello")
|
||||
public ResponseEntity hello(@RequestParam String name){
|
||||
return ResponseEntity.status(200).body(userRepository.getRankingPlaceFromUser(name));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,14 +1,9 @@
|
||||
package hhn.labsw.bugageocaching.repositories;
|
||||
|
||||
import hhn.labsw.bugageocaching.entities.User;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public interface UserRepository extends CrudRepository<User, Integer> {
|
||||
@ -21,7 +16,25 @@ public interface UserRepository extends CrudRepository<User, Integer> {
|
||||
"WHERE u.id = ui.user_id\n" +
|
||||
"AND u.id = ur.user_id\n" +
|
||||
"AND (ur.roles_id = 7 OR ur.roles_id = 8)\n" +
|
||||
"order by ranking_points_sum DESC;", nativeQuery = true)
|
||||
"order by ranking_points_sum DESC\n" +
|
||||
"LIMIT 100;", nativeQuery = true)
|
||||
List<Object[]> getRankingList();
|
||||
|
||||
@Query(value = "SELECT Rang\n" +
|
||||
"From (\n" +
|
||||
"\n" +
|
||||
"SELECT ROW_NUMBER() over(order by INR.Ranglistenpunkte DESC) AS Rang, Name\n" +
|
||||
"FROM (\n" +
|
||||
" SELECT DISTINCT u.Email AS Name,\n" +
|
||||
" ui.ranking_points_sum AS Ranglistenpunkte\n" +
|
||||
" FROM user u,\n" +
|
||||
" buga19geocaching.user_info ui,\n" +
|
||||
" buga19geocaching.user_roles ur\n" +
|
||||
" WHERE u.id = ui.user_id\n" +
|
||||
" AND u.id = ur.user_id\n" +
|
||||
" AND (ur.roles_id = 7 OR ur.roles_id = 8)\n" +
|
||||
" order by ranking_points_sum DESC) as INR) as RN\n" +
|
||||
"WHERE Name = ?1", nativeQuery = true)
|
||||
int getRankingPlaceFromUser(String username);
|
||||
|
||||
}
|
||||
|
||||
@ -3,5 +3,6 @@ spring.datasource.username=BuGa19GeocachingUser
|
||||
spring.datasource.password=GeocachingPw
|
||||
spring.jmx.default-domain=buga19geocaching
|
||||
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
|
||||
spring.jooq.sql-dialect=org.hibernate.dialect.MariaDBDialect
|
||||
spring.jpa.hibernate.ddl-auto=update
|
||||
spring.jpa.show-sql=true
|
||||
Loading…
Reference in New Issue
Block a user