Skip to content
Snippets Groups Projects
Commit 50d4ec3a authored by josborg's avatar josborg
Browse files

soluciones de las encuestas de un profesor que esta en varios servidores

parent 20fb1745
No related branches found
No related tags found
No related merge requests found
......@@ -43,22 +43,22 @@ public class ControllerBot {
}
//MediaType.APPLICATION_JSON_VALUE
@GetMapping(produces = MediaType.ALL_VALUE, value = { "/{id}" })
public String getUsuarioById(@PathVariable int id) {
/* @GetMapping(produces = MediaType.ALL_VALUE, value = { "/{id}" })
public List<String> getUsuarioById(@PathVariable String id) {
Iterator<String> value = Global.guilds.keySet().iterator();
while(value.hasNext()){
String snowflake = (String) value.next();
System.out.println(snowflake.toString());
String snowflake = value.next();
System.out.println("user: "+snowflake.toString());
ArrayList<String> users = Global.guilds.get(snowflake);
for (String element : users) {
System.out.println(element.toString());
System.out.println("\tguild: "+element.toString());
}
}
return id+"-"+Global.guilds.keySet().size();
return Global.guilds.get(id);
}
}*/
@PostMapping(value = "/redir", produces = MediaType.APPLICATION_JSON_VALUE)
public String setRedir(@RequestBody String str) {
......
......@@ -6,12 +6,16 @@ import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
//import java.util.Optional;
import javax.print.DocFlavor.STRING;
import javax.sound.sampled.AudioFormat.Encoding;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.uva.surveys.exception.EncuestaException;
import com.uva.surveys.model.Pregunta;
import com.uva.surveys.model.Solucion;
......@@ -30,7 +34,7 @@ import com.uva.surveys.repository.SolucionRepository;
import com.uva.surveys.repository.UserRepository;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.CrossOrigin;
......@@ -451,6 +455,46 @@ public class EncuestaController {
return soluciones;
}
/**
* Devuelve una lista de las soluciones que se han enviado de una encuasta con
* id param{id} mediante una peticion GET:/encuestas/usuarios/{id}
*
* @param id
* @return
*/
@GetMapping(produces = MediaType.APPLICATION_JSON_VALUE, value = "/profesores/{id}")
public List<Solucion> getSolucionesByIdProfesor(@PathVariable Long id) {
System.out.println("/profesores/{id} : /api/bot");
String resultAsJsonStr = new RestTemplate().postForObject("http://api-discord:8081/api/bot/",
"{\"user\":"+id+"}", String.class);
System.out.println(resultAsJsonStr);
JsonParser parser = new JsonParser();
JsonElement guildsUsersElement = parser.parse(resultAsJsonStr);
JsonArray guildUserJsonArray = guildsUsersElement.getAsJsonArray();
System.out.println("guildUserJsonArray: "+guildUserJsonArray.toString());
ArrayList<String> codes = new ArrayList<>();
List<Solucion> soluciones = new ArrayList<>();
for (JsonElement jsonElement : guildUserJsonArray) {
System.out.println("jsonElement: "+jsonElement);
List<Link> links = linkRepository.findByGuild(jsonElement.getAsLong());
for(Link link : links){
System.out.println("link: "+link.getCode());
if(!codes.contains(link.getCode())){
List<Solucion> s = solucionRepository.findByIdEncuesta(Integer.valueOf(getIdByCode(link.getCode())));
soluciones.addAll(s);
codes.add(link.getCode());
}
}
}
return soluciones;
}
/* @GetMapping(produces = MediaType.APPLICATION_JSON_VALUE, value = "/{id}/soluciones/{rank}")//MAL
public List<Solucion> getRespuestaByIdEncuesta(@PathVariable Integer id, @PathVariable Integer rank) {
List<Solucion> soluciones = solucionRepository.findAll();
......
......@@ -8,16 +8,17 @@ import javax.persistence.Table;
@Table(name = "Links")
public class Link {
//@Id
Long guild;
@Id
String code;
@Id
String id = (code+"-"+guild);
public Link(){}
public Link(Long guild, String code){
this.guild = guild;
this.code = code;
this.id = (code+"-"+guild);
}
public Long getGuild() {
......@@ -25,12 +26,14 @@ public class Link {
}
public void setGuild(Long guild) {
this.guild = guild;
this.id = (code+"-"+guild);
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
this.id = (code+"-"+guild);
}
}
\ No newline at end of file
......@@ -51,8 +51,6 @@ public class Respuesta {
this.tiempo = tiempo;
this.correct = correct;
this.solucion = solucion;
}
public Integer getId() {
......
......@@ -34,15 +34,15 @@ public class Usuario {
return guild;
}
public void setGuild(Long guild) {
this.id = (guild+"-"+userId);
this.guild = guild;
this.id = (guild+"-"+userId);
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.id = (guild+"-"+userId);
this.userId = userId;
this.id = (guild+"-"+userId);
}
public String getName() {
return name;
......
......@@ -8,4 +8,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
public interface LinkRepository extends JpaRepository<Link, Integer> {
List<Link> findByCode(String code);
List<Link> findByGuild(Long guild);
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment