whycxzp
2025-06-11 02ccfc21d5d4f767bbd92ecda89cdfcc3283728c
src/main/java/com/whyc/service/DevalarmDataService.java
New file
@@ -0,0 +1,61 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.constant.BattAlarmIdEnum;
import com.whyc.constant.BattSingalIdEnum;
import com.whyc.constant.DevAlarmEnum;
import com.whyc.dto.Real.AlmDto;
import com.whyc.dto.Response;
import com.whyc.mapper.DevalarmDataMapper;
import com.whyc.pojo.db_alarm.DevalarmData;
import com.whyc.util.ActionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Service
public class DevalarmDataService {
    @Autowired(required = false)
    private DevalarmDataMapper mapper;
    //获取设备实时告警信息
    public Response getDevAlmReal(AlmDto almDto) {
        PageHelper.startPage(almDto.getPageNum(),almDto.getPageSize());
        List<DevalarmData> list=mapper.getDevAlmReal(almDto);
        list.forEach(data->{
            data.setAlmName(DevAlarmEnum.getValue(data.getAlmId()));
        });
        PageInfo pageInfo=new PageInfo(list);
        return new Response().setII(1,list!=null,pageInfo,"获取设备实时告警信息");
    }
    //确认设备告警
    public Response updateDevConfrim(Integer num) {
        UpdateWrapper wrapper = new UpdateWrapper<>();
        wrapper.set("alm_is_confirmed",1);
        wrapper.set("alm_confirmed_time",new SimpleDateFormat(ActionUtil.time_yyyyMMddHHmmss).format(new Date()));
        // 通过num修改
        wrapper.eq("num",num);
        int flag=mapper.update((DevalarmData) ActionUtil.objeNull,wrapper);
        return  new Response().set(1,flag>0,flag>0?"确认成功":"确认失败");
    }
    //获取一级未处理实时告警数
    public Integer getDevAlmNum(Integer devId) {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("dev_id",devId);
        wrapper.eq("alm_is_confirmed",0);
        wrapper.eq("alm_level",1);
        List<DevalarmData> list=mapper.selectList(wrapper);
        return list!=null?list.size():0;
    }
    //获取设备告警类型(下拉)
    public Response getDevAlmIdType() {
        Map<Integer,String> map= DevAlarmEnum.getOpInfo();
        return new Response().setII(1,true,map,"获取设备告警类型(下拉)");
    }
}