TbRoadService.java 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package com.its.op.service.database;
  2. import com.its.op.model.dto.RoadDto;
  3. import com.its.op.model.dto.RoadIfscRltnDto;
  4. import com.its.op.model.entity.Road;
  5. import com.its.op.model.entity.RoadIfscRltn;
  6. import com.its.op.model.entity.RoadIfscRltnKey;
  7. import com.its.op.repository.RoadIfscRltnRepository;
  8. import com.its.op.repository.RoadRepository;
  9. import lombok.RequiredArgsConstructor;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.springframework.stereotype.Service;
  12. import javax.transaction.Transactional;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15. import java.util.Optional;
  16. @Slf4j
  17. @RequiredArgsConstructor
  18. @Service
  19. public class TbRoadService {
  20. private final RoadRepository repo;
  21. private final RoadIfscRltnRepository repoRltn;
  22. public List<Road> findAll() {
  23. try {
  24. return this.repo.findAll();
  25. }
  26. catch (Exception e) {
  27. log.error("{}.findAll: Exception: {}", getClass().getSimpleName(), e.getMessage());
  28. }
  29. return new ArrayList<Road>();
  30. }
  31. public Road findById(Long id) {
  32. try {
  33. Optional<Road> data = this.repo.findById(id);
  34. if (data.isPresent()) {
  35. return data.get();
  36. }
  37. }
  38. catch (Exception e) {
  39. log.error("{}.findById: Object: {}, Exception: {}", getClass().getSimpleName(), id, e.getMessage());
  40. }
  41. return null;
  42. }
  43. // 도로명 변경
  44. public Road updateNameById(Long id, RoadDto.RoadNameUpdateReq req) {
  45. try {
  46. Optional<Road> data = this.repo.findById(id);
  47. if (data.isPresent()) {
  48. Road obj = data.get();
  49. obj.updateName(req);
  50. this.repo.save(obj);
  51. return obj;
  52. }
  53. }
  54. catch (Exception e) {
  55. log.error("{}.updateNameById: Object: {}, Exception: {}", getClass().getSimpleName(), req, e.getMessage());
  56. }
  57. return null;
  58. }
  59. public List<RoadIfscRltn> findLinkRltnById(Long id) {
  60. try {
  61. List<RoadIfscRltn> data = this.repoRltn.findRltnById(id);
  62. return data;
  63. }
  64. catch (Exception e) {
  65. log.error("{}.findById: Object: {}, Exception: {}", getClass().getSimpleName(), id, e.getMessage());
  66. }
  67. return null;
  68. }
  69. @Transactional
  70. public List<RoadIfscRltnDto.RoadIfscRltnUpdateReq> updateLinkRltn(Long id, List<RoadIfscRltnDto.RoadIfscRltnUpdateReq> req) {
  71. try {
  72. // 기존 데이터를 모두 삭제
  73. List<RoadIfscRltn> lists = this.repoRltn.findRltnById(id);
  74. for (RoadIfscRltn delObj : lists) {
  75. this.repoRltn.deleteById(new RoadIfscRltnKey(delObj.getROAD_ID(), delObj.getIFSC_ID(), delObj.getORD()));
  76. }
  77. // 데이터 다시 입력
  78. for (RoadIfscRltnDto.RoadIfscRltnUpdateReq obj : req) {
  79. RoadIfscRltn data = new RoadIfscRltn(obj.getROAD_ID(), obj.getIFSC_ID(), obj.getORD(), null);
  80. this.repoRltn.save(data);
  81. }
  82. return req;
  83. }
  84. catch (Exception e) {
  85. log.error("{}.updateLinkRltn: Object: {}, {}, Exception: {}", getClass().getSimpleName(), id, req, e.getMessage());
  86. }
  87. return null;
  88. }
  89. }