更新时间:2023-01-29 12:52:07
好的,所以在ItemService.java的ScheduledTask()方法中,控件已遍及每个部分,并且项目实例"i"也正在更新,我想我只需使用itemRepository.save(i)将其保存到数据库 下面是ScheduledTask()方法的完整实现
Okay, so in the scheduledTask() method of ItemService.java, control was reaching every part and item instance 'i' was also getting updated, I guess I just needed to save that to DB using itemRepository.save(i) Below is the complete implementation of scheduledTask() method
@Scheduled(cron="0 17 11 * * ?")
public void scheduledTask() {
List<Item> listOfItems = (List<Item>)itemRepository.findAll();
System.out.println("going to update DB");
for(Item i : listOfItems) {
Timestamp time = new Timestamp(System.currentTimeMillis());
if(time.equals(i.getEnd_time()) || time.after(i.getEnd_time())) {
if(i.getUser() == null) {
Integer item_id = i.getItem_id();
Integer winner_id = itemRepository.findWinner(item_id);
User u= userRepository.findById(winner_id).orElse(null);
i.setUser(u);
itemRepository.save(i);//change in code, which seems to work now
System.out.println("printing item:");
System.out.println(i.getItem_description()+", "+i.getItem_name()+", "+i.getStarting_amount()+", "+i.getItem_id()+", "+i.getEnd_time()+", "+i.getStart_time()+", "+i.getUser().getUser_id());
System.out.println("updated");
}
}
}
}