Другая дата в базе данных mysql, чем я получаю в ответ (с использованием SpringBoot) - PullRequest
0 голосов
/ 27 мая 2020

Я использую Spring Boot с базой данных MySQL. Когда я вставляю в базу данных сегодняшнюю дату, она делает это правильно. Сегодняшняя дата. Но когда я получаю его обратно, все записи - (минус) один день. Вот мой код.

Этот метод, который я использую для записи в таблицу «оплата»:

publi c User userPayed (int id) {User existingUser = repository.findById (id) .orElse (null);

Payment payment = new Payment();
Calendar calendar = Calendar.getInstance();
Date today = calendar.getTime();
payment.setDate(today);
payment.setUserId(id);
paymentRepository.save(payment);

existingUser.setPay(0.0);

    return repository.save(existingUser);
}

Классы оплаты

@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "payments")
public class Payment {

    @Id
    @GeneratedValue
    private int id;
    @Column(name = "user_id")
    private int userId;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date date;




}

@Service
public class PaymentService {

    @Autowired
    private PaymentRepository repository;

    public Payment addPayment (Payment payment){
        return repository.save(payment);
    }

    public List<Payment> getPayments(){
        return repository.findAll();
    }

    public Payment getPaymentById(int id){
        return repository.findById(id).orElse(null);
    }

    public List<Payment> getByUserId(int userId){
        return repository.findAllByUserId(userId);
    }

    public String deletePaymentById(int id){
        repository.deleteById(id);
        return "deleted payment: " + id;
    }

    public Payment updatePayment(Payment payment){
        Payment existingPayment = repository.findById(payment.getId()).orElse(null);
        existingPayment.setDate(payment.getDate());
        existingPayment.setUserId(payment.getUserId());

        return repository.save(existingPayment);
    }
}


@CrossOrigin(origins = "http://localhost:3000")
@RestController
public class PaymentController {

    @Autowired
    private PaymentService service;

    @PostMapping("/addPayment")
    public Payment addPayment(@RequestBody Payment payment){
        return service.addPayment(payment);
    }

    @GetMapping("/getPayments")
    public List<Payment> getPayments(){
        return service.getPayments();
    }

    @GetMapping("/payment/{id}")
    public Payment getPaymentById(@PathVariable int id){
        return service.getPaymentById(id);
    }

    @GetMapping("/payment/user/{id}")
    public List<Payment> getByUserId(@PathVariable int id){
        return service.getByUserId(id);
    }

    @PutMapping("/updatePayment")
    public Payment updatePayment (@RequestBody Payment payment){
        return service.updatePayment(payment);
    }

    @DeleteMapping("/deletePayment/{id}")
    public String deletePaymentById (@PathVariable int id){
        return service.deletePaymentById(id);
    }

}

DATABASE RECORDS

POSTMAN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...