Toma de decisiones
Una vez concluido nuestro preregistro y suponiendo que los usuarios se estan registrando satisfactoriamente viene una parte fundamental
la toma de deciciones que necesitan las autoridades para aplicar la vacuna y aquí se requiere de mostrar datos estadísticos que ayuden
al gobierno a tomar medidas necesarias.lo que se requiere es que se muestre la cantidad total de usuarios registrados en el preregistro
y por ejemplo para la aplicación de la vacuna se necesita saber la candidad de habitantes de 95 a 18 años que hay en cada código
postal así las autoridades municipales decidirían la sede,fecha y horario que se requiere para la aplicación de la vacuna.Que posteriormente
se pretende realizar un proceso batch para mandar la respuesta a cada uno de los usuario basandose en su correo.En este apartado nada vamos a mostrar
los datos estadísticos para la toma de deciciones.
Desarrollo
Abrimos nuestro IDE eclipse y comenzamos por modificar la versión de spring data cassandra a la version
2.1.8.RELEASE el archivo
pom.xml nos queda de la siguiente forma:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<groupId>com.tutosoftware.mivacuna</groupId>
<artifactId>mivacuna</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>MiVacuna</name>
<properties>
<java.version>1.8</java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-cassandra -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-cassandra</artifactId>
<version>2.1.8.RELEASE</version><!--$NO-MVN-MAN-VER$-->
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.5.5</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.18</version><!--$NO-MVN-MAN-VER$-->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
CassandraUtil
En
src/main/java nos vaamos a paquete
com.tutosoftware.mivacuna.util y modificamos la clase
CassandraUtil
package com.tutosoftware.mivacuna.util;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.cassandra.core.CassandraOperations;
import org.springframework.data.cassandra.core.query.Query;
import org.springframework.stereotype.Component;
@Component
public class CassandraUtil {
@Autowired
private CassandraOperations cassandraTemplate;
public <T> void create(T entity) {
cassandraTemplate.insert(entity);
}
public <T> void createList(List<T> entities) {
cassandraTemplate.insert(entities);
}
public <T> T update(T entity) {
cassandraTemplate.update(entity);
return entity;
}
public <T> void updateList(List<T> entities) {
cassandraTemplate.update(entities);
}
public <T> T findById(Object id, Class<T> claz) {
return cassandraTemplate.selectOneById(id,claz);
}
public <T> void deleteById(Object id, Class<T> claz) {
cassandraTemplate.deleteById(id,claz);
}
public void delete(Object entity) {
cassandraTemplate.delete(entity);
}
public <T> void delete(List<T> entities) {
cassandraTemplate.delete(entities);
}
public <T> T findOne(String cql,Class<T> claz){
return cassandraTemplate.selectOne(cql, claz);
}
public <T> List<T> findAll(String cql,Class<T> claz) {
return (List<T>) cassandraTemplate.select(cql,claz);
}
public <T> void truncate(Class<T> claz) {
cassandraTemplate.truncate(claz);
}
public <T> long getCount(Class<T> claz) {
return cassandraTemplate.count(claz);
}
public <T> long getCount(Query query, Class<T> claz) {
return cassandraTemplate.count(query,claz);
}
public <T> boolean exists(Object id, Class<T> claz) {
return cassandraTemplate.exists(id,claz);
}
}