package com.cmvr.aima.service.impl;

import java.util.List;
import java.util.UUID;
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.cmvr.common.utils.DateUtils;
import com.cmvr.common.utils.SecurityUtils;
import com.cmvr.aima.mapper.AimaAlarmMapper;
import com.cmvr.aima.domain.AimaAlarm;
import com.cmvr.aima.service.IAimaAlarmService;
import org.springframework.transaction.annotation.Transactional;

/**
 * 爱玛告警管理Service业务层处理
 * 
 * @author cmvr-iot
 * @since 2026-06-22
 */
@Service
@Transactional
public class AimaAlarmServiceImpl extends ServiceImpl<AimaAlarmMapper, AimaAlarm> implements IAimaAlarmService {
    @Autowired
    private AimaAlarmMapper aimaAlarmMapper;

    @Override
    public AimaAlarm selectAimaAlarmById(String id) {
        return aimaAlarmMapper.selectAimaAlarmById(id);
    }

    @Override
    public List<AimaAlarm> selectAimaAlarmList(AimaAlarm aimaAlarm) {
        return aimaAlarmMapper.selectAimaAlarmList(aimaAlarm);
    }

    @Override
    public int insertAimaAlarm(AimaAlarm aimaAlarm) {
        if (aimaAlarm.getId() == null || aimaAlarm.getId().isEmpty()) {
            aimaAlarm.setId(UUID.randomUUID().toString().replace("-", ""));
        }
        aimaAlarm.setCreateTime(DateUtils.getNowDate());
        aimaAlarm.setCreateBy(SecurityUtils.getUsername());
        return aimaAlarmMapper.insertAimaAlarm(aimaAlarm);
    }

    @Override
    public int updateAimaAlarm(AimaAlarm aimaAlarm) {
        aimaAlarm.setUpdateTime(DateUtils.getNowDate());
        aimaAlarm.setUpdateBy(SecurityUtils.getUsername());
        return aimaAlarmMapper.updateAimaAlarm(aimaAlarm);
    }

    @Override
    public int deleteAimaAlarmByIds(String[] ids) {
        return aimaAlarmMapper.deleteAimaAlarmByIds(ids);
    }

    @Override
    public int deleteAimaAlarmById(String id) {
        return aimaAlarmMapper.deleteAimaAlarmById(id);
    }
}
