package org.flume.alarm.manager; import org.flume.alarm.core.hibernate.HibernateEntityDao; import org.flume.alarm.core.hibernate.HibernateUtils; import org.flume.alarm.core.hibernate.MatchType; import org.flume.alarm.domain.Dig; import org.flume.alarm.domain.DigHeart; import org.hibernate.Criteria; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; import java.io.IOException; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class DigHeartManager extends HibernateEntityDao<DigHeart> { public Map<String, Object> saveData(String devCode, String status) throws IOException { Map<String, Object> resultMap = new HashMap<String, Object>(); try { Criteria criteria = getSession().createCriteria(DigHeart.class); criteria.add(Restrictions.and( HibernateUtils.buildCriterion("devCode", devCode, MatchType.EQ))); List<DigHeart> digHeartList = criteria.list(); if (digHeartList.size() > 0) { for (int i = 0; i < digHeartList.size(); i++) { if (i == 0) { DigHeart digHeart = digHeartList.get(0); digHeart.setLogtime(new Date()); digHeart.setSTATUS(status); this.save(digHeart); } else { this.remove(digHeartList.get(i)); } } } else { DigHeart digHeartNew = new DigHeart(); digHeartNew.setSTATUS(status); digHeartNew.setDevCode(devCode); this.save(digHeartNew); } } catch (Exception e) { e.printStackTrace(); } return resultMap; } }