数据库中的布尔值未更改

sdnqo3pr  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(200)

嘿,伙计们,我的代码有问题。由于某些原因,当我尝试将值更改为false时,它不会反映在我的sql数据库中。我调试过,它确实是通过java设置的,但是它没有传输过来。我正在处理一个通知服务类,它将其中的值设置为true没有问题,但是我的postmapping方法不起作用。我将在下面为add flight和我的通知服务发布一段代码。

  1. @PostMapping("addflight")
  2. String addflight(@ModelAttribute Flights flights, @SessionAttribute(required = false) String loggedInuser) {
  3. Accounts a = accountsRepository.findByEmail(loggedInuser).get();
  4. flightsRepository.saveAndFlush(flights);
  5. List<Flights> flightsList = flightsRepository.findByAccountsOrderByDateofflightAsc(a);
  6. if(flightsList.size() != 0) {
  7. Flights lastFlight = flightsList.get(flightsList.size() - 1);
  8. LocalDate today = LocalDate.now();
  9. long days = 0;
  10. days = ChronoUnit.DAYS.between(lastFlight.getDateofflight(), today);
  11. if(days >= 46){
  12. a.setNotified(false);
  13. }
  14. }
  15. return "redirect:logbook";
  16. }

############################# 通知片段#########################################

  1. @Scheduled(fixedDelay = 4000000)
  2. @Transactional
  3. public void findFlights(){
  4. List<Accounts> list = accountsRepository.allpilots();
  5. List <Flights> accflight;
  6. long days = 0;
  7. long daysLeft = 0;
  8. for(Accounts a: list) {
  9. accflight = flightsRepository.findByAccountsOrderByDateofflightAsc(a);
  10. if (accflight.size() == 0) {
  11. System.out.println("No flights logged..");
  12. continue;
  13. }
  14. Flights lastFlight = accflight.get(accflight.size() - 1);
  15. days = ChronoUnit.DAYS.between(lastFlight.getDateofflight(), today);
  16. if (!a.getNotified()) {
  17. if (days > 60) {
  18. System.out.println("You are uncurrent! It has been " + days + " days since your last flight");
  19. try {
  20. emailManager.sendMail(a.getEmail(), "You are uncurrent!", "Currency reminder");
  21. a.setNotified(true);
  22. } catch (Exception e) {
  23. System.out.println(e);
  24. System.out.println("Email failed to send!");
  25. }
  26. continue;
  27. }
368yc8dk

368yc8dk1#

据我所知:你没有更新你的帐户后,设置通知为假。在使用以下内容设置更改后,需要保留更改 accountRepository.save(a);

相关问题