package org.infosec.ismp.manager.winsensor.operation.service.impl;
import java.util.Date;
import java.util.List;
import org.infosec.ismp.agent.comm.winsensor.model.operation.DutyManager;
import org.infosec.ismp.manager.winsensor.entity.AgentBO;
import org.infosec.ismp.manager.winsensor.operation.dao.DutyManagerSentHistoryDao;
import org.infosec.ismp.manager.winsensor.operation.entity.DutyManagerSentHistoryBO;
import org.infosec.ismp.manager.winsensor.operation.service.DutyManagerSentHistoryService;
/**
* @author Rocky
* @version create time: Jan 6, 2011 6:53:06 PM
*
*/
public class DutyManagerSentHistoryServiceImpl implements DutyManagerSentHistoryService {
private DutyManagerSentHistoryDao dao;
@Override
public void addSentHistory(List<DutyManager> dutyManagers,
List<AgentBO> agents) {
for (DutyManager dutyManager : dutyManagers) {
for (AgentBO agent : agents) {
DutyManagerSentHistoryBO sentHistory = new DutyManagerSentHistoryBO();
sentHistory.setAgentId(agent.getAgentId());
sentHistory.setCreateTime(new Date());
sentHistory.setDutyManagerId(dutyManager.getId());
sentHistory.setExpired(false);
sentHistory.setIsSent(false);
sentHistory.setIsRemoved(false);
dao.addSentHistory(sentHistory);
}
}
}
@Override
public void updateSendSuccessHistory(List<DutyManager> dutyManagers,
String agentId) {
for (DutyManager dutyManager : dutyManagers) {
DutyManagerSentHistoryBO sentHistory = dao.findSentHistory(dutyManager.getId(), agentId);
if (sentHistory != null) {
sentHistory.setIsSent(true);
sentHistory.setSendTime(new Date());
dao.updateSentHistory(sentHistory);
}
}
}
@Override
public List<String> getAllUnsentDutyManagerId(String agentId, boolean expired) {
return dao.getAllUnsentDutyManagerId(agentId, false);
}
@Override
public List<String> getAllUnSentDutyManagerAgentId() {
return dao.getAllUnSentDutyManagerAgentId();
}
@Override
public void deleteDutyManager(String dutyManagerId) {
List<DutyManagerSentHistoryBO> sentHistories = dao.findSentHistory(dutyManagerId);
for (DutyManagerSentHistoryBO sentHistory : sentHistories) {
sentHistory.setIsRemoved(true);
dao.updateSentHistory(sentHistory);
}
}
public void setDao(DutyManagerSentHistoryDao dao) {
this.dao = dao;
}
}