Se corrigen los servicios de ModelUzyTLineaOperativa

parent 8e7e8c14
package ec.edu.espe.movilidad.MovilidadWS.Controller; package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTLineaOperativa;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTLineaOperativa;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTLineaOperativa.IServiceUzyTLineaOperativa; import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTLineaOperativa.IServiceUzyTLineaOperativa;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -16,37 +14,45 @@ import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_ ...@@ -16,37 +14,45 @@ import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_
@RequestMapping(V1_API_VERSION+"/lineaoperativa") @RequestMapping(V1_API_VERSION+"/lineaoperativa")
public class UzyTLineaOperativaController { public class UzyTLineaOperativaController {
@Autowired
IServiceUzyTLineaOperativa serviceUzyTLineaOperativa; private final IServiceUzyTLineaOperativa serviceUzyTLineaOperativa;
public UzyTLineaOperativaController(IServiceUzyTLineaOperativa serviceUzyTLineaOperativa) {
this.serviceUzyTLineaOperativa = serviceUzyTLineaOperativa;
}
@GetMapping("/exampleFindId/{id}") @GetMapping("/exampleFindId/{id}")
public ResponseEntity<ModelUzyTLineaOperativa> ListarPorID(@PathVariable Long id) { public ResponseEntity<DtoUzyTLineaOperativa> ListarPorID(@PathVariable Long id) {
return new ResponseEntity<>(serviceUzyTLineaOperativa.ListarPorID(id), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTLineaOperativa.ListarPorID(id), HttpStatus.OK);
} }
@GetMapping("/getAll") @GetMapping("/getAll")
public ResponseEntity<List<ModelUzyTLineaOperativa>> ListarRegistros() { public ResponseEntity<List<DtoUzyTLineaOperativa>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTLineaOperativa.ListarRegistros(), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTLineaOperativa.ListarRegistros(), HttpStatus.OK);
} }
@PostMapping("/guardar") @PostMapping("/guardar")
public ResponseEntity<ModelUzyTLineaOperativa> guardar(@RequestBody ModelUzyTLineaOperativa modelUzyTLineaOperativa) { public ResponseEntity<DtoUzyTLineaOperativa> guardar(@RequestBody DtoUzyTLineaOperativa dtoUzyTLineaOperativa) {
return new ResponseEntity<>(serviceUzyTLineaOperativa.guardar(modelUzyTLineaOperativa), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTLineaOperativa.guardar(dtoUzyTLineaOperativa), HttpStatus.OK);
} }
@PutMapping("/editar/{id}") @PutMapping("/editar/{id}")
public ResponseEntity<ModelUzyTLineaOperativa> editar(@PathVariable Long id, @RequestBody ModelUzyTLineaOperativa modelUzyTLineaOperativa) { public ResponseEntity<DtoUzyTLineaOperativa> editar(@PathVariable Long id, @RequestBody DtoUzyTLineaOperativa dtoUzyTLineaOperativa) {
return new ResponseEntity<>(serviceUzyTLineaOperativa.editar(id, modelUzyTLineaOperativa), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTLineaOperativa.editar(id, dtoUzyTLineaOperativa), HttpStatus.OK);
} }
@DeleteMapping("/eliminar/{id}") @DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable Long id) { public ResponseEntity<String> eliminar(@PathVariable Long id){
serviceUzyTLineaOperativa.eliminar(id); boolean eliminado = serviceUzyTLineaOperativa.eliminar(id);
return ResponseEntity.ok().build(); if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
} }
......
...@@ -2,6 +2,9 @@ package ec.edu.espe.movilidad.MovilidadWS.Dao; ...@@ -2,6 +2,9 @@ package ec.edu.espe.movilidad.MovilidadWS.Dao;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTLineaOperativa; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTLineaOperativa;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface DaoUzyTLineaOperativa extends JpaRepository<ModelUzyTLineaOperativa, Long> { public interface DaoUzyTLineaOperativa extends JpaRepository<ModelUzyTLineaOperativa, Long> {
} }
\ No newline at end of file
...@@ -3,14 +3,18 @@ package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class; ...@@ -3,14 +3,18 @@ package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTLineaOperativa; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTLineaOperativa;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTLineaOperativa; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTLineaOperativa;
import org.modelmapper.ModelMapper; import org.modelmapper.ModelMapper;
import org.modelmapper.PropertyMap;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
@Component @Component
public class UzyTLineaOperativaMapper { public class UzyTLineaOperativaMapper {
private final ModelMapper modelMapper; private final ModelMapper modelMapper;
public UzyTLineaOperativaMapper(ModelMapper modelMapper) { public UzyTLineaOperativaMapper(ModelMapper modelMapper) {
this.modelMapper = modelMapper; this.modelMapper = modelMapper;
configureMappings();
} }
public DtoUzyTLineaOperativa entityToDto(ModelUzyTLineaOperativa entity) { public DtoUzyTLineaOperativa entityToDto(ModelUzyTLineaOperativa entity) {
...@@ -20,4 +24,19 @@ public class UzyTLineaOperativaMapper { ...@@ -20,4 +24,19 @@ public class UzyTLineaOperativaMapper {
public ModelUzyTLineaOperativa dtoToEntity(DtoUzyTLineaOperativa dto) { public ModelUzyTLineaOperativa dtoToEntity(DtoUzyTLineaOperativa dto) {
return modelMapper.map(dto, ModelUzyTLineaOperativa.class); return modelMapper.map(dto, ModelUzyTLineaOperativa.class);
} }
public List<DtoUzyTLineaOperativa> entitiesToDtos(List<ModelUzyTLineaOperativa> entities) {
return entities.stream()
.map(this::entityToDto)
.collect(Collectors.toList());
}
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzyTLineaOperativa, DtoUzyTLineaOperativa>() {
@Override
protected void configure() {
map().setUzytavlineaoperativa_ID(source.getUzytavlineaoperativa_ID());
}
});
}
} }
package ec.edu.espe.movilidad.MovilidadWS.Model; package ec.edu.espe.movilidad.MovilidadWS.Model;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTLineaOperativa;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*; import javax.persistence.*;
import javax.validation.constraints.Size; import javax.validation.constraints.Size;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set; import java.util.Set;
@Data @Getter
@Setter
@Entity @Entity
@Table(name = "UZYTLINEAOPERATIVA", schema = "UTIC1") @Table(name = "UZYTLINEAOPERATIVA", schema = "UTIC1")
public class ModelUzyTLineaOperativa { public class ModelUzyTLineaOperativa {
......
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTLineaOperativa; package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTLineaOperativa;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTLineaOperativa; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTLineaOperativa;
import java.util.List; import java.util.List;
public interface IServiceUzyTLineaOperativa { public interface IServiceUzyTLineaOperativa {
public ModelUzyTLineaOperativa ListarPorID(Long id); DtoUzyTLineaOperativa ListarPorID(Long id);
public List<ModelUzyTLineaOperativa> ListarRegistros(); List<DtoUzyTLineaOperativa> ListarRegistros();
public ModelUzyTLineaOperativa guardar(ModelUzyTLineaOperativa modelUzyTLineaOperativa); DtoUzyTLineaOperativa guardar(DtoUzyTLineaOperativa dtoUzyTLineaOperativa);
public ModelUzyTLineaOperativa editar(Long id, ModelUzyTLineaOperativa modelUzyTLineaOperativa); DtoUzyTLineaOperativa editar(Long id, DtoUzyTLineaOperativa dtoUzyTLineaOperativa);
void eliminar(Long id); boolean eliminar(Long id);
} }
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTLineaOperativa; package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTLineaOperativa;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTLineaOperativa; import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTLineaOperativa;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTLineaOperativa;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTLineaOperativaMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTLineaOperativa; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTLineaOperativa;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
...@@ -10,42 +12,61 @@ import java.util.List; ...@@ -10,42 +12,61 @@ import java.util.List;
@Service @Service
public class ServiceUzyTLineaOperativa implements IServiceUzyTLineaOperativa{ public class ServiceUzyTLineaOperativa implements IServiceUzyTLineaOperativa{
@Autowired private final DaoUzyTLineaOperativa daoUzyTLineaOperativa;
DaoUzyTLineaOperativa daoUzyTLineaOperativa; private final UzyTLineaOperativaMapper mapper;
public ServiceUzyTLineaOperativa(DaoUzyTLineaOperativa daoUzyTLineaOperativa, UzyTLineaOperativaMapper mapper) {
this.daoUzyTLineaOperativa = daoUzyTLineaOperativa;
this.mapper = mapper;
}
@Override @Override
public ModelUzyTLineaOperativa ListarPorID(Long id) { public DtoUzyTLineaOperativa ListarPorID(Long id) {
return daoUzyTLineaOperativa.findById(id).get(); ModelUzyTLineaOperativa entity = daoUzyTLineaOperativa.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
} }
@Override @Override
public List<ModelUzyTLineaOperativa> ListarRegistros() { public List<DtoUzyTLineaOperativa> ListarRegistros() {
return daoUzyTLineaOperativa.findAll(); List<ModelUzyTLineaOperativa> entities = daoUzyTLineaOperativa.findAll();
return mapper.entitiesToDtos(entities);
} }
@Override @Override
public ModelUzyTLineaOperativa guardar(ModelUzyTLineaOperativa modelUzyTLineaOperativa) { public DtoUzyTLineaOperativa guardar(DtoUzyTLineaOperativa dtoUzyTLineaOperativa) {
return daoUzyTLineaOperativa.save(modelUzyTLineaOperativa); ModelUzyTLineaOperativa entity = mapper.dtoToEntity(dtoUzyTLineaOperativa);
ModelUzyTLineaOperativa nuevoEntity = daoUzyTLineaOperativa.save(entity);
return mapper.entityToDto(nuevoEntity);
} }
@Override @Override
public ModelUzyTLineaOperativa editar(Long id, ModelUzyTLineaOperativa modelUzyTLineaOperativa) { public DtoUzyTLineaOperativa editar(Long id, DtoUzyTLineaOperativa dtoUzyTLineaOperativa) {
ModelUzyTLineaOperativa dato = daoUzyTLineaOperativa.findById(id).get(); try {
//.orElseThrow(()->new ControlExcepciones("No existe el registro con el ID : " + id)); ModelUzyTLineaOperativa entity = daoUzyTLineaOperativa.findById(id).get();
//Seteamos los nuevos datos del registro if (entity != null) {
dato.setUzytavlineaoperativa_ESTADO(modelUzyTLineaOperativa.getUzytavlineaoperativa_ESTADO()); entity.setUzytavlineaoperativa_ESTADO(dtoUzyTLineaOperativa.getUzytavlineaoperativa_ESTADO());
dato.setUzytavlineaoperativa_DESCRIP(modelUzyTLineaOperativa.getUzytavlineaoperativa_DESCRIP()); entity.setUzytavlineaoperativa_DESCRIP(dtoUzyTLineaOperativa.getUzytavlineaoperativa_DESCRIP());
ModelUzyTLineaOperativa datoActualizado = daoUzyTLineaOperativa.save(dato); ModelUzyTLineaOperativa updatedEntity = daoUzyTLineaOperativa.save(entity);
return datoActualizado; return mapper.entityToDto(updatedEntity);
}else {
throw new ResourceNotFoundException("No se encontró el registro con ID: " + id);
}
} catch (Exception e) {
throw new ResourceNotFoundException("Error al editar el registro: " + e.getMessage());
}
} }
@Override @Override
public void eliminar(Long id) { public boolean eliminar(Long id) {
ModelUzyTLineaOperativa dato = daoUzyTLineaOperativa.findById(id).get(); ModelUzyTLineaOperativa entity = daoUzyTLineaOperativa.findById(id).orElse(null);
//.orElseThrow(() -> new ControlExcepciones("No existe el registro con el ID : " + id)); if (entity != null) {
daoUzyTLineaOperativa.delete(dato); daoUzyTLineaOperativa.delete(entity);
return true;
}
return false;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment