- 문제)
결제는 안됐는데(500에러)
contract 테이블에 데이터 입력되고
selling 테이블에 status 상태 바뀜(99)
- 해결)
@transactional 걸어줌
꼭 서비스에만 걸어야 하는게 아니라 메서드가 실행되는 로직에 걸어주면 되는것이야
@PostMapping("/api/add/payment/test")
@Transactional
public ResponseEntity<ContractAndPaymentDTO> addConAndPay(@RequestBody ContractAndPaymentDTO conAndPayDto, @RequestParam String type) {
try {
ContractAddDTO contractDto = conAndPayDto.getContractDto();
Contract contractInfo = contractService.save(contractDto, type);
sellingService.updateSelling(contractDto.getSellingId(), type);
PaymentAddDTO paymentDto = conAndPayDto.getPaymentDto();
paymentDto.setContractId(contractInfo.getId());
Payment paymentInfo = paymentService.addPayment(paymentDto);
System.out.println("페이먼트디티오" + paymentDto);
ContractAndPaymentDTO contractAndPaymentDTO = new ContractAndPaymentDTO();
contractAndPaymentDTO.setContractDto(contractDto);
contractAndPaymentDTO.setPaymentDto(paymentDto);
return new ResponseEntity<>(contractAndPaymentDTO, HttpStatus.OK);
} catch (Exception e) {
return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
}
}