gunshi-project-ss/src/main/java/com/gunshi/project/ss/service/WarningConditionService.java

79 lines
3.0 KiB
Java
Raw Normal View History

2025-12-29 17:13:09 +08:00
package com.gunshi.project.ss.service;
2025-11-18 10:53:17 +08:00
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
2025-12-29 17:13:09 +08:00
import com.gunshi.project.ss.mapper.WarningConditionMapper;
import com.gunshi.project.ss.model.WarningCondition;
2025-11-18 10:53:17 +08:00
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.List;
@Service
@Slf4j
@Transactional(rollbackFor = Exception.class)
public class WarningConditionService extends ServiceImpl<WarningConditionMapper, WarningCondition> {
public List<WarningCondition> getListByRuleId(Serializable id){
LambdaQueryWrapper<WarningCondition> queryWrapper = new LambdaQueryWrapper<WarningCondition>();
queryWrapper.eq(WarningCondition::getRuleId,id);
2025-11-21 10:53:44 +08:00
queryWrapper.orderByAsc(WarningCondition::getOrder);
2025-11-18 10:53:17 +08:00
return this.list(queryWrapper);
}
public WarningCondition checkConditionExists(WarningCondition dto) {
LambdaQueryWrapper<WarningCondition> queryWrapper = new LambdaQueryWrapper<>();
if(dto.getId() != null){
queryWrapper.ne(WarningCondition::getId, dto.getId());
}
if(dto.getIndicatorType() != null){
//预警指标类型
queryWrapper.eq(WarningCondition::getIndicatorType,dto.getIndicatorType());
}
if(dto.getWarningLevel() != null){
//预警等级
queryWrapper.eq(WarningCondition::getWarningLevel,dto.getWarningLevel());
}
if(dto.getWarningType() != null){
//预警类型
queryWrapper.eq(WarningCondition::getWarningType,dto.getWarningType());
}
if(dto.getOperator() != null){
//比较符
queryWrapper.eq(WarningCondition::getOperator,dto.getOperator());
}
if(dto.getThresholdValue() != null){
//阈值
queryWrapper.eq(WarningCondition::getThresholdValue,dto.getThresholdValue());
}
if(dto.getDurationHours() != null){
//时长/时段(小时)
queryWrapper.eq(WarningCondition::getDurationHours,dto.getDurationHours());
}
2025-11-26 18:00:57 +08:00
List<WarningCondition> warningConditions = this.baseMapper.selectList(queryWrapper);
WarningCondition warningCondition = null;
if(warningConditions != null && warningConditions.size() > 0){
warningCondition = warningConditions.get(0);
}
return warningCondition;
}
public boolean removeByRuleId(Long ruleId){
LambdaQueryWrapper<WarningCondition> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(WarningCondition::getRuleId,ruleId);
return this.remove(queryWrapper);
}
public boolean deleteData(Long ruleId) {
LambdaQueryWrapper<WarningCondition> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(WarningCondition::getRuleId,ruleId);
boolean remove = this.remove(queryWrapper);
return remove;
}
2025-11-18 10:53:17 +08:00
}