Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
Laboratorio 1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Packages
Packages
Container Registry
Analytics
CI / CD Analytics
Repository Analytics
Value Stream Analytics
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Daiana Nahuelpan Penchulef
Laboratorio 1
Commits
7fa2d29e
Commit
7fa2d29e
authored
Aug 25, 2022
by
Daiana Nahuelpan Penchulef
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
subiendo
parent
ac927a6c
Pipeline
#92
failed with stages
Changes
17
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1243 additions
and
0 deletions
+1243
-0
.gitignore
.gitignore
+33
-0
.mvn/wrapper/maven-wrapper.jar
.mvn/wrapper/maven-wrapper.jar
+0
-0
.mvn/wrapper/maven-wrapper.properties
.mvn/wrapper/maven-wrapper.properties
+2
-0
mvnw
mvnw
+316
-0
mvnw.cmd
mvnw.cmd
+188
-0
pom.xml
pom.xml
+65
-0
src/main/java/com/trabajopractico/demo/LaboratorioApplication.java
...java/com/trabajopractico/demo/LaboratorioApplication.java
+13
-0
src/main/java/com/trabajopractico/demo/backend/controller/OperacionController.java
...practico/demo/backend/controller/OperacionController.java
+126
-0
src/main/java/com/trabajopractico/demo/backend/model/Operacion.java
...ava/com/trabajopractico/demo/backend/model/Operacion.java
+54
-0
src/main/java/com/trabajopractico/demo/backend/model/OperacionType.java
...com/trabajopractico/demo/backend/model/OperacionType.java
+6
-0
src/main/java/com/trabajopractico/demo/backend/repository/OperacionRepository.java
...practico/demo/backend/repository/OperacionRepository.java
+11
-0
src/main/java/com/trabajopractico/demo/backend/service/OperacionService.java
...rabajopractico/demo/backend/service/OperacionService.java
+43
-0
src/main/java/com/trabajopractico/demo/backend/service/OperacionServiceImpl.java
...jopractico/demo/backend/service/OperacionServiceImpl.java
+85
-0
src/main/java/com/trabajopractico/demo/backend/service/Response.java
...va/com/trabajopractico/demo/backend/service/Response.java
+82
-0
src/main/resources/application.properties
src/main/resources/application.properties
+15
-0
src/test/java/com/trabajopractico/demo/LaboratorioApplicationTestSecond.java
...rabajopractico/demo/LaboratorioApplicationTestSecond.java
+99
-0
src/test/java/com/trabajopractico/demo/LaboratorioApplicationTests.java
...com/trabajopractico/demo/LaboratorioApplicationTests.java
+105
-0
No files found.
.gitignore
0 → 100644
View file @
7fa2d29e
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
.mvn/wrapper/maven-wrapper.jar
0 → 100644
View file @
7fa2d29e
File added
.mvn/wrapper/maven-wrapper.properties
0 → 100644
View file @
7fa2d29e
distributionUrl
=
https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
wrapperUrl
=
https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
mvnw
0 → 100644
View file @
7fa2d29e
This diff is collapsed.
Click to expand it.
mvnw.cmd
0 → 100644
View file @
7fa2d29e
@REM
----------------------------------------------------------------------------
@REM
Licensed
to
the
Apache
Software
Foundation
(
ASF
)
under
one
@REM
or
more
contributor
license
agreements
.
See
the
NOTICE
file
@REM
distributed
with
this
work
for
additional
information
@REM
regarding
copyright
ownership
.
The
ASF
licenses
this
file
@REM
to
you
under
the
Apache
License
,
Version
2
.0
(
the
@REM
"License"
);
you
may
not
use
this
file
except
in
compliance
@REM
with
the
License
.
You
may
obtain
a
copy
of
the
License
at
@REM
@REM
https
://www.apache.org/licenses/LICENSE
-
2
.0
@REM
@REM
Unless
required
by
applicable
law
or
agreed
to
in
writing
,
@REM
software
distributed
under
the
License
is
distributed
on
an
@REM
"AS IS"
BASIS
,
WITHOUT
WARRANTIES
OR
CONDITIONS
OF
ANY
@REM
KIND
,
either
express
or
implied
.
See
the
License
for
the
@REM
specific
language
governing
permissions
and
limitations
@REM
under
the
License
.
@REM
----------------------------------------------------------------------------
@REM
----------------------------------------------------------------------------
@REM
Maven
Start
Up
Batch
script
@REM
@REM
Required
ENV
vars
:
@REM
JAVA_HOME
-
location
of
a
JDK
home
dir
@REM
@REM
Optional
ENV
vars
@REM
M2_HOME
-
location
of
maven2
's installed home dir
@REM MAVEN_BATCH_ECHO - set to '
on
' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to '
on
' to wait for a keystroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '
@
' in case MAVEN_BATCH_ECHO is '
on
'
@echo off
@REM set title of command window
title
%
0
@REM enable echoing by setting MAVEN_BATCH_ECHO to '
on
'
@if "
%MAVEN_BATCH_ECHO%
" == "on" echo
%MAVEN_BATCH_ECHO%
@REM set
%HOME%
to equivalent of $HOME
if "
%HOME%
" == "" (set "HOME=
%HOMEDRIVE%%
HOMEPATH
%
")
@REM Execute a user defined script before this one
if not "
%MAVEN_SKIP_RC%
" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "
%USERPROFILE%
\mavenrc_pre.bat" call "
%USERPROFILE%
\mavenrc_pre.bat"
%
*
if exist "
%USERPROFILE%
\mavenrc_pre.cmd" call "
%USERPROFILE%
\mavenrc_pre.cmd"
%
*
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "
%JAVA_HOME%
" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "
%JAVA_HOME%
\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "
%JAVA_HOME%
" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=
%MAVEN_BASEDIR%
IF NOT "
%MAVEN_PROJECTBASEDIR%
"=="" goto endDetectBaseDir
set EXEC_DIR=
%CD%
set WDIR=
%EXEC_DIR%
:findBaseDir
IF EXIST "
%WDIR%
"\.mvn goto baseDirFound
cd ..
IF "
%WDIR%
"=="
%CD%
" goto baseDirNotFound
set WDIR=
%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=
%WDIR%
cd "
%EXEC_DIR%
"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=
%EXEC_DIR%
cd "
%EXEC_DIR%
"
:endDetectBaseDir
IF NOT EXIST "
%MAVEN_PROJECTBASEDIR%
\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims="
%%a
in ("
%MAVEN_PROJECTBASEDIR%
\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=
!JVM_CONFIG_MAVEN_PROPS!
%%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=
%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="
%JAVA_HOME%
\bin\java.exe"
set WRAPPER_JAR="
%MAVEN_PROJECTBASEDIR%
\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
FOR /F "usebackq tokens=1,2 delims=="
%%A
IN ("
%MAVEN_PROJECTBASEDIR%
\.mvn\wrapper\maven-wrapper.properties") DO (
IF "
%%A
"=="wrapperUrl" SET DOWNLOAD_URL=
%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist
%WRAPPER_JAR%
(
if "
%MVNW_VERBOSE%
" == "true" (
echo Found
%WRAPPER_JAR%
)
) else (
if not "
%MVNW_REPOURL%
" == "" (
SET DOWNLOAD_URL="
%MVNW_REPOURL%
/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
)
if "
%MVNW_VERBOSE%
" == "true" (
echo Couldn'
t
find
%WRAPPER_JAR%
,
downloading
it
...
echo
Downloading
from
:
%DOWNLOAD_URL%
)
powershell
-Command
"&{"
^
"$webclient = new-object System.Net.WebClient;"
^
"if (-not ([string]::IsNullOrEmpty('
%MVNW_USERNAME%
') -and [string]::IsNullOrEmpty('
%MVNW_PASSWORD%
'))) {"
^
"$webclient.Credentials = new-object System.Net.NetworkCredential('
%MVNW_USERNAME%
', '
%MVNW_PASSWORD%
');"
^
"}"
^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('
%DOWNLOAD_URL%
', '
%WRAPPER_JAR%
')"
^
"}"
if
"
%MVNW_VERBOSE%
"
==
"true"
(
echo
Finished
downloading
%WRAPPER_JAR%
)
)
@REM
End
of
extension
@REM
Provide
a
"standardized"
way
to
retrieve
the
CLI
args
that
will
@REM
work
with
both
Windows
and
non
-Windows
executions
.
set
MAVEN_CMD_LINE_ARGS
=
%
*
%MAVEN_JAVA_EXE%
^
%JVM_CONFIG_MAVEN_PROPS%
^
%MAVEN_OPTS%
^
%MAVEN_DEBUG_OPTS%
^
-classpath
%WRAPPER_JAR%
^
"-Dmaven.multiModuleProjectDirectory=
%MAVEN_PROJECTBASEDIR%
"
^
%WRAPPER_LAUNCHER%
%MAVEN_CONFIG%
%
*
if
ERRORLEVEL
1
goto
error
goto
end
:error
set
ERROR_CODE
=
1
:end
@endlocal
&
set
ERROR_CODE
=
%ERROR_CODE%
if
not
"
%MAVEN_SKIP_RC%
"
==
""
goto
skipRcPost
@REM
check
for
post
script
,
once
with
legacy
.bat
ending
and
once
with
.cmd
ending
if
exist
"
%USERPROFILE%
\mavenrc_post.bat"
call
"
%USERPROFILE%
\mavenrc_post.bat"
if
exist
"
%USERPROFILE%
\mavenrc_post.cmd"
call
"
%USERPROFILE%
\mavenrc_post.cmd"
:skipRcPost
@REM
pause
the
script
if
MAVEN_BATCH_PAUSE
is
set
to
'on'
if
"
%MAVEN_BATCH_PAUSE%
"
==
"on"
pause
if
"
%MAVEN_TERMINATE_CMD%
"
==
"on"
exit
%ERROR_CODE%
cmd
/C
exit
/B
%ERROR_CODE%
pom.xml
0 → 100644
View file @
7fa2d29e
<?xml version="1.0" encoding="UTF-8"?>
<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 https://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.7.2
</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<groupId>
com.trabajopractico
</groupId>
<artifactId>
demo
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
<name>
Laboratorio
</name>
<description>
Demo project for Spring Boot
</description>
<properties>
<java.version>
18
</java.version>
</properties>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.postgresql
</groupId>
<artifactId>
postgresql
</artifactId>
<scope>
runtime
</scope>
</dependency>
<dependency>
<groupId>
jakarta.persistence
</groupId>
<artifactId>
jakarta.persistence-api
</artifactId>
<version>
2.2.3
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-jpa
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-webflux
</artifactId>
</dependency>
<!-- <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.3.2</version>
</dependency> -->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
</plugin>
</plugins>
</build>
</project>
src/main/java/com/trabajopractico/demo/LaboratorioApplication.java
0 → 100644
View file @
7fa2d29e
package
com
.
trabajopractico
.
demo
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
@SpringBootApplication
public
class
LaboratorioApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
LaboratorioApplication
.
class
,
args
);
}
}
src/main/java/com/trabajopractico/demo/backend/controller/OperacionController.java
0 → 100644
View file @
7fa2d29e
package
com
.
trabajopractico
.
demo
.
backend
.
controller
;
import
com.trabajopractico.demo.backend.model.Operacion
;
import
com.trabajopractico.demo.backend.model.OperacionType
;
import
com.trabajopractico.demo.backend.service.OperacionService
;
import
com.trabajopractico.demo.backend.service.Response
;
import
org.springframework.data.domain.Example
;
import
org.springframework.data.domain.ExampleMatcher
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
//import org.springframework.web.bind.annotation.*;
import
java.net.URI
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Optional
;
@RestController
@RequestMapping
(
path
=
"/operaciones"
,
produces
=
"application/json"
)
public
class
OperacionController
{
private
OperacionService
service
;
List
<
Operacion
>
transacciones
;
double
saldo
=
0
;
protected
String
url
()
{
return
"/operaciones/"
;
}
public
OperacionController
(
OperacionService
service
)
{
this
.
service
=
service
;
}
// http://localhost:8080/api/operaciones/consulta (GET)
@RequestMapping
(
value
=
"/consulta"
,
method
=
RequestMethod
.
GET
,
produces
=
"application/json"
)
public
Operacion
getSaldo
()
{
transacciones
=
new
ArrayList
<
Operacion
>();
for
(
Operacion
operaciones:
service
.
findAllOperaciones
())
{
if
(
operaciones
.
getTipo
().
equals
(
OperacionType
.
DEPOSITO
)){
this
.
saldo
=
this
.
saldo
+
operaciones
.
getMonto
();
}
if
(
operaciones
.
getTipo
().
equals
(
OperacionType
.
EXTRACCION
)){
this
.
saldo
=
this
.
saldo
-
operaciones
.
getMonto
();
}
if
(
operaciones
.
getTipo
().
equals
(
OperacionType
.
INTERESES
)){
this
.
saldo
=
this
.
saldo
+
(
(
this
.
saldo
*
operaciones
.
getMonto
())/
100
);
}
}
Operacion
consulta
=
new
Operacion
(
OperacionType
.
SALDO
,
this
.
saldo
);
return
consulta
;
}
// http://localhost:8080/api/operaciones/deleteall (GET)
@RequestMapping
(
value
=
"/deleteall"
,
method
=
RequestMethod
.
GET
,
produces
=
"application/json"
)
public
Operacion
delete
()
{
service
.
delete
();
this
.
saldo
=
0
;
Operacion
reset
=
new
Operacion
(
OperacionType
.
SALDO
,
this
.
saldo
);
return
reset
;
}
// http://localhost:8080/api/operaciones/deposito (POST)
@RequestMapping
(
value
=
"/deposito"
,
method
=
RequestMethod
.
POST
,
produces
=
"application/json"
)
public
Operacion
saveDeposito
(
Operacion
transaccion
)
{
Operacion
opeNueva
=
service
.
saveOperacion
(
transaccion
);
return
opeNueva
;
}
// http://localhost:8080/api/operaciones/extraccion (POST)
@RequestMapping
(
value
=
"/extraccion"
,
method
=
RequestMethod
.
POST
,
produces
=
"application/json"
)
public
Operacion
saveExtraccion
(
Operacion
transaccion
)
{
Operacion
opeNueva
=
service
.
saveOperacion
(
transaccion
);
return
opeNueva
;
}
// http://localhost:8080/api/operaciones/interes (POST)
@RequestMapping
(
value
=
"/interes"
,
method
=
RequestMethod
.
POST
,
produces
=
"application/json"
)
public
Operacion
saveInteres
(
Operacion
transaccion
)
{
Operacion
opeNueva
=
service
.
saveOperacion
(
transaccion
);
return
opeNueva
;
}
// http://localhost:8080/api/operaciones/delete/1 (GET)
@RequestMapping
(
value
=
"/delete/{id}"
,
method
=
RequestMethod
.
GET
,
produces
=
"application/json"
)
public
String
deleteOperacion
(
@PathVariable
Long
id
)
{
return
service
.
deleteOperacion
(
id
);
}
// http://localhost:8080/api/operaciones/update (PATCH)
@RequestMapping
(
value
=
"/update"
,
method
=
RequestMethod
.
PATCH
,
produces
=
"application/json"
)
public
String
updateOperacion
(
Operacion
customerNew
)
{
return
service
.
updateOperacion
(
customerNew
);
}
// http://localhost:8080/api/operaciones/test (GET)
@RequestMapping
(
value
=
"/test"
,
method
=
RequestMethod
.
GET
,
produces
=
"application/json"
)
public
String
test
()
{
return
"Test done"
;
}
}
// fin de la clase OperacionController
src/main/java/com/trabajopractico/demo/backend/model/Operacion.java
0 → 100644
View file @
7fa2d29e
package
com
.
trabajopractico
.
demo
.
backend
.
model
;
import
javax.persistence.*
;
@Entity
public
class
Operacion
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
SEQUENCE
,
generator
=
"gen_operacion"
)
@SequenceGenerator
(
name
=
"gen_operacion"
,
sequenceName
=
"operacion_sq"
,
allocationSize
=
5
)
public
long
id
;
@Enumerated
(
EnumType
.
STRING
)
public
OperacionType
tipo
;
public
double
monto
;
public
Operacion
(){}
public
Operacion
(
OperacionType
tipo
,
double
monto
){
this
.
tipo
=
tipo
;
this
.
monto
=
monto
;
}
public
long
getId
()
{
return
id
;
}
public
void
setId
(
long
id
)
{
this
.
id
=
id
;
}
public
OperacionType
getTipo
()
{
return
tipo
;
}
public
void
setTipo
(
OperacionType
tipo
)
{
this
.
tipo
=
tipo
;
}
public
double
getMonto
()
{
return
monto
;
}
public
void
setMonto
(
double
monto
)
{
this
.
monto
=
monto
;
}
}
src/main/java/com/trabajopractico/demo/backend/model/OperacionType.java
0 → 100644
View file @
7fa2d29e
package
com
.
trabajopractico
.
demo
.
backend
.
model
;
public
enum
OperacionType
{
DEPOSITO
,
EXTRACCION
,
INTERESES
,
SALDO
}
src/main/java/com/trabajopractico/demo/backend/repository/OperacionRepository.java
0 → 100644
View file @
7fa2d29e
package
com
.
trabajopractico
.
demo
.
backend
.
repository
;
import
com.trabajopractico.demo.backend.model.Operacion
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Repository
;
@Repository
public
interface
OperacionRepository
extends
JpaRepository
<
Operacion
,
Long
>
{
}
src/main/java/com/trabajopractico/demo/backend/service/OperacionService.java
0 → 100644
View file @
7fa2d29e
package
com
.
trabajopractico
.
demo
.
backend
.
service
;
import
com.trabajopractico.demo.backend.model.Operacion
;
import
org.springframework.dao.IncorrectResultSizeDataAccessException
;
import
org.springframework.data.domain.Example
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
java.util.List
;
import
java.util.Optional
;
public
interface
OperacionService
{
int
ERROR_OPERACION_UNSPECIFIED
=
3001
;
// ERROR_PLAY_UNSPECIFIED
int
ERROR_OPERACION_CODE_MISSING
=
3002
;
// ERROR_PLAY_CODE_MISSING
int
ERROR_INVALID_IDENTIFIER
=
3003
;
int
ERROR_OPERACION_NOT_FOUND
=
3004
;
// ERROR_PLAY_NOT_FOUND
int
ERROR_MULTIPLE_OPERACIONES_FOUND
=
3005
;
//ERROR_MULTIPLE_PLAYS_FOUND
int
ERROR_CODE_ALREADY_IN_USE
=
3006
;
int
ERROR_UNKNOWN
=
1000
;
int
ERROR_NOT_FOUND
=
1001
;
int
ERROR_MULTIPLE_ITEMS_FOUND
=
1003
;
JpaRepository
<
Operacion
,
Long
>
getRepository
();
// -----------------------------
public
List
<
Operacion
>
findAllOperaciones
();
public
Operacion
saveOperacion
(
Operacion
customerNew
);
public
String
deleteOperacion
(
Long
id
);
public
String
updateOperacion
(
Operacion
customerNew
);
public
void
delete
();
}
src/main/java/com/trabajopractico/demo/backend/service/OperacionServiceImpl.java
0 → 100644
View file @
7fa2d29e
package
com
.
trabajopractico
.
demo
.
backend
.
service
;
import
com.trabajopractico.demo.backend.model.Operacion
;
import
com.trabajopractico.demo.backend.repository.OperacionRepository
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.dao.IncorrectResultSizeDataAccessException
;
import
org.springframework.data.domain.Example
;
import
org.springframework.data.domain.ExampleMatcher
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.Optional
;
@Service
public
class
OperacionServiceImpl
implements
OperacionService
{
@Autowired
private
OperacionRepository
repository
;
@Override
public
JpaRepository
<
Operacion
,
Long
>
getRepository
()
{
return
repository
;
}
//-----------------
@Override
public
List
<
Operacion
>
findAllOperaciones
()
{
return
repository
.
findAll
();
}
@Override
public
void
delete
()
{
repository
.
deleteAll
();
}
@Override
public
Operacion
saveOperacion
(
Operacion
customerNew
)
{
long
idOp
=
customerNew
.
getId
();
System
.
out
.
println
(
"id recibido"
+
Integer
.
toString
((
int
)
idOp
));
if
(
customerNew
!=
null
)
{
return
repository
.
saveAndFlush
(
customerNew
);
}
return
new
Operacion
();
}
@Override
public
String
deleteOperacion
(
Long
id
)
{
if
(
repository
.
findById
(
id
).
isPresent
())
{
repository
.
deleteById
(
id
);
return
"Customer eliminado correctamente."
;
}
return
"Error! El customer no existe"
;
}
@Override
public
String
updateOperacion
(
Operacion
customerUpdated
)
{
Long
num
=
customerUpdated
.
getId
();
if
(
repository
.
findById
(
num
).
isPresent
())
{
Operacion
customerToUpdate
=
new
Operacion
();
customerToUpdate
.
setId
(
customerUpdated
.
getId
());
customerToUpdate
.
setMonto
(
customerUpdated
.
getMonto
());
customerToUpdate
.
setTipo
(
customerUpdated
.
getTipo
());
repository
.
save
(
customerToUpdate
);
return
"Customer modificado"
;
}
return
"Error al modificar el Customer"
;
}
//--------------
}
src/main/java/com/trabajopractico/demo/backend/service/Response.java
0 → 100644
View file @
7fa2d29e
package
com
.
trabajopractico
.
demo
.
backend
.
service
;
import
java.util.NoSuchElementException
;
import
java.util.Objects
;
import
java.util.function.Consumer
;
public
class
Response
<
T
>
{
// private T value;
// private int code;
public
T
value
;
public
int
code
;
private
Response
()
{
this
.
code
=
0
;
this
.
value
=
null
;
}
public
Response
(
T
value
)
{
this
.
code
=
0
;
this
.
value
=
Objects
.
requireNonNull
(
value
);
}
public
Response
(
int
code
)
{
this
.
code
=
Objects
.
requireNonNull
(
code
);
this
.
value
=
null
;
}
public
Response
(
T
value
,
int
code
)
{
this
.
value
=
value
;
this
.
code
=
code
;
}
public
static
<
T
>
Response
<
T
>
ofError
(
int
msg
)
{
return
new
Response
<
T
>(
msg
);
}
public
static
<
T
>
Response
<
T
>
ofValid
(
T
value
)
{
return
new
Response
<>(
value
);
}
public
static
<
T
>
Response
<
T
>
ofMayBe
(
T
value
)
{
return
value
==
null
?
ofError
(
0
)
:
ofValid
(
value
);
}
public
T
get
()
{
if
(
value
==
null
)
{
throw
new
NoSuchElementException
(
"Se intenta recuperar un valor de un error"
);
}
return
value
;
}
public
int
getCode
()
{
return
code
;
}
public
void
setCode
(
int
code
)
{
this
.
code
=
code
;
}
public
T
getValue
()
{
return
value
;
}
public
void
setValue
(
T
value
)
{
this
.
value
=
value
;
}
public
boolean
isValid
()
{
return
value
!=
null
;
}