/* * Copyright (C) 2004-2015 L2J Server * * This file is part of L2J Server. * * L2J Server is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * L2J Server is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package com.l2jserver.gameserver.taskmanager.tasks; import java.sql.Connection; import java.sql.PreparedStatement; import com.l2jserver.commons.database.pool.impl.ConnectionFactory; import com.l2jserver.gameserver.taskmanager.Task; import com.l2jserver.gameserver.taskmanager.TaskManager; import com.l2jserver.gameserver.taskmanager.TaskManager.ExecutedTask; import com.l2jserver.gameserver.taskmanager.TaskTypes; /** * @author Layane */ public class TaskRecom extends Task { private static final String NAME = "recommendations"; @Override public String getName() { return NAME; } @Override public void onTimeElapsed(ExecutedTask task) { try (Connection con = ConnectionFactory.getInstance().getConnection()) { try (PreparedStatement ps = con.prepareStatement("UPDATE character_reco_bonus SET rec_left=?, time_left=?, rec_have=0 WHERE rec_have <= 20")) { ps.setInt(1, 0); // Rec left = 0 ps.setInt(2, 3600000); // Timer = 1 hour ps.execute(); } try (PreparedStatement ps = con.prepareStatement("UPDATE character_reco_bonus SET rec_left=?, time_left=?, rec_have=GREATEST(rec_have-20,0) WHERE rec_have > 20")) { ps.setInt(1, 0); // Rec left = 0 ps.setInt(2, 3600000); // Timer = 1 hour ps.execute(); } } catch (Exception e) { _log.severe(getClass().getSimpleName() + ": Could not reset Recommendations System: " + e); } _log.info("Recommendations System reseted"); } @Override public void initializate() { super.initializate(); TaskManager.addUniqueTask(NAME, TaskTypes.TYPE_GLOBAL_TASK, "1", "06:30:00", ""); } }