Newer
Older
sink / src / main / java / org / flume / alarm / manager / DigHeartManager.java
zhout on 2 Mar 2022 1 KB first commit
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;
    }
}