package com.ipzoe.bc.server.joysuch.alarm.service.impl;
import com.ipzoe.bc.server.joysuch.alarm.dao.JsAlarmMacInAreasDAO;
import com.ipzoe.bc.server.joysuch.alarm.dataobject.JsAlarmMacInAreasDO;
import com.ipzoe.bc.server.joysuch.alarm.service.JSAlarmMacInAreasService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Slf4j
@CacheConfig(cacheNames = "js-alarm-mac-in-areas")
public class JSAlarmMacInAreasServiceImpl implements JSAlarmMacInAreasService {
@Autowired
private JsAlarmMacInAreasDAO jsAlarmMacInAreasDAO;
@Cacheable(key = "#buildId + '-' + #mac")
@Override
public JsAlarmMacInAreasDO searchInAreas(String buildId, String mac) {
return jsAlarmMacInAreasDAO.selectByBuildIdAndMac(buildId, mac);
}
@CacheEvict(key = "#inAreasDO.buildId + '-' + #inAreasDO.mac")
@Transactional(rollbackFor = {Exception.class})
@Override
public void saveInAreaData(JsAlarmMacInAreasDO inAreasDO) {
jsAlarmMacInAreasDAO.insert(inAreasDO);
}
@CacheEvict(key = "#inAreasDO.buildId + '-' + #inAreasDO.mac")
@Transactional(rollbackFor = {Exception.class})
@Override
public void updateInAreaData(JsAlarmMacInAreasDO inAreasDO) {
jsAlarmMacInAreasDAO.update(inAreasDO);
}
}