| package com.doumee.service.business.impl; | 
|   | 
| import com.doumee.core.utils.Constants; | 
| import com.doumee.core.utils.Utils; | 
| import com.doumee.dao.business.WarningEventMapper; | 
| import com.doumee.dao.business.model.*; | 
| import com.doumee.service.business.WarningEventService; | 
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
| import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
| import com.baomidou.mybatisplus.core.metadata.IPage; | 
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
| import com.doumee.service.business.third.model.PageData; | 
| import com.doumee.service.business.third.model.PageWrap; | 
| import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
| import org.apache.commons.lang3.StringUtils; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Service; | 
| import org.springframework.util.CollectionUtils; | 
|   | 
| import java.util.List; | 
| import java.util.Objects; | 
|   | 
| /** | 
|  * 报警事件记录日志表Service实现 | 
|  * @author 江蹄蹄 | 
|  * @date 2025/09/29 11:20 | 
|  */ | 
| @Service | 
| public class WarningEventServiceImpl implements WarningEventService { | 
|   | 
|     @Autowired | 
|     private WarningEventMapper warningEventMapper; | 
|   | 
|     @Override | 
|     public Integer create(WarningEvent warningEvent) { | 
|         warningEventMapper.insert(warningEvent); | 
|         return warningEvent.getId(); | 
|     } | 
|   | 
|     @Override | 
|     public void deleteById(Integer id) { | 
|         warningEventMapper.deleteById(id); | 
|     } | 
|   | 
|     @Override | 
|     public void delete(WarningEvent warningEvent) { | 
|         UpdateWrapper<WarningEvent> deleteWrapper = new UpdateWrapper<>(warningEvent); | 
|         warningEventMapper.delete(deleteWrapper); | 
|     } | 
|   | 
|     @Override | 
|     public void deleteByIdInBatch(List<Integer> ids) { | 
|         if (CollectionUtils.isEmpty(ids)) { | 
|             return; | 
|         } | 
|         warningEventMapper.deleteBatchIds(ids); | 
|     } | 
|   | 
|     @Override | 
|     public void updateById(WarningEvent warningEvent) { | 
|         warningEventMapper.updateById(warningEvent); | 
|     } | 
|   | 
|     @Override | 
|     public void updateByIdInBatch(List<WarningEvent> warningEvents) { | 
|         if (CollectionUtils.isEmpty(warningEvents)) { | 
|             return; | 
|         } | 
|         for (WarningEvent warningEvent: warningEvents) { | 
|             this.updateById(warningEvent); | 
|         } | 
|     } | 
|   | 
|     @Override | 
|     public WarningEvent findById(Integer id) { | 
|         return warningEventMapper.selectById(id); | 
|     } | 
|   | 
|     @Override | 
|     public WarningEvent findOne(WarningEvent warningEvent) { | 
|         QueryWrapper<WarningEvent> wrapper = new QueryWrapper<>(warningEvent); | 
|         return warningEventMapper.selectOne(wrapper); | 
|     } | 
|   | 
|     @Override | 
|     public List<WarningEvent> findList(WarningEvent warningEvent) { | 
|         QueryWrapper<WarningEvent> wrapper = new QueryWrapper<>(warningEvent); | 
|         return warningEventMapper.selectList(wrapper); | 
|     } | 
|    | 
|     @Override | 
|     public PageData<WarningEvent> findPage(PageWrap<WarningEvent> pageWrap) { | 
|         IPage<WarningEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|         MPJLambdaWrapper<WarningEvent> queryWrapper = new MPJLambdaWrapper<>(); | 
|         Utils.MP.blankToNull(pageWrap.getModel()); | 
|         pageWrap.getModel().setIsdeleted(Constants.ZERO); | 
|         queryWrapper.selectAll(WarningEvent.class ) | 
|                 .selectAs(Warning::getName,WarningEvent::getWarningName) | 
|                 .selectAs(Warning::getType,WarningEvent::getWarningType) | 
|                 .selectAs(Warning::getLevel,WarningEvent::getWarningLevel) | 
|                 .leftJoin(Warning.class,Warning::getId,WarningEvent::getWarningId); | 
|         queryWrapper.eq(pageWrap.getModel().getWarningType()!=null,Warning::getType, pageWrap.getModel().getWarningType()); | 
|         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getWarningName()),Warning::getName, pageWrap.getModel().getWarningName()); | 
|         queryWrapper.eq(pageWrap.getModel().getWarningLevel()!=null,Warning::getLevel, pageWrap.getModel().getWarningLevel()); | 
|         queryWrapper.ge(Objects.nonNull(pageWrap.getModel().getQueryStarttime()), WarningEvent::getCreateDate, pageWrap.getModel().getQueryStarttime()); | 
|         queryWrapper.le(Objects.nonNull(pageWrap.getModel().getQueryEndtime()),WarningEvent::getCreateDate, pageWrap.getModel().getQueryEndtime()); | 
|         if (pageWrap.getModel().getId() != null) { | 
|             queryWrapper.eq(WarningEvent::getId, pageWrap.getModel().getId()); | 
|         } | 
|         if (pageWrap.getModel().getCreator() != null) { | 
|             queryWrapper.eq(WarningEvent::getCreator, pageWrap.getModel().getCreator()); | 
|         } | 
|         if (pageWrap.getModel().getCreateDate() != null) { | 
|             queryWrapper.ge(WarningEvent::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); | 
|             queryWrapper.le(WarningEvent::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); | 
|         } | 
|         if (pageWrap.getModel().getEditor() != null) { | 
|             queryWrapper.eq(WarningEvent::getEditor, pageWrap.getModel().getEditor()); | 
|         } | 
|         if (pageWrap.getModel().getEditDate() != null) { | 
|             queryWrapper.ge(WarningEvent::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); | 
|             queryWrapper.le(WarningEvent::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); | 
|         } | 
|         if (pageWrap.getModel().getIsdeleted() != null) { | 
|             queryWrapper.eq(WarningEvent::getIsdeleted, pageWrap.getModel().getIsdeleted()); | 
|         } | 
|         if (pageWrap.getModel().getInfo() != null) { | 
|             queryWrapper.eq(WarningEvent::getInfo, pageWrap.getModel().getInfo()); | 
|         } | 
|         if (pageWrap.getModel().getWarningId() != null) { | 
|             queryWrapper.eq(WarningEvent::getWarningId, pageWrap.getModel().getWarningId()); | 
|         } | 
|         if (pageWrap.getModel().getTitle() != null) { | 
|             queryWrapper.like(WarningEvent::getTitle, pageWrap.getModel().getTitle()); | 
|         } | 
|         if (pageWrap.getModel().getContent() != null) { | 
|             queryWrapper.eq(WarningEvent::getContent, pageWrap.getModel().getContent()); | 
|         } | 
|         if (pageWrap.getModel().getStatus() != null) { | 
|             queryWrapper.eq(WarningEvent::getStatus, pageWrap.getModel().getStatus()); | 
|         } | 
|         if (pageWrap.getModel().getRegion() != null) { | 
|             queryWrapper.eq(WarningEvent::getRegion, pageWrap.getModel().getRegion()); | 
|         } | 
|         if (pageWrap.getModel().getEventId() != null) { | 
|             queryWrapper.eq(WarningEvent::getEventId, pageWrap.getModel().getEventId()); | 
|         } | 
|         if (pageWrap.getModel().getEventType() != null) { | 
|             queryWrapper.eq(WarningEvent::getEventType, pageWrap.getModel().getEventType()); | 
|         } | 
|         if (pageWrap.getModel().getEventLevel() != null) { | 
|             queryWrapper.eq(WarningEvent::getEventLevel, pageWrap.getModel().getEventLevel()); | 
|         } | 
|         if (pageWrap.getModel().getHappenTime() != null) { | 
|             queryWrapper.eq(WarningEvent::getHappenTime, pageWrap.getModel().getHappenTime()); | 
|         } | 
|         if (pageWrap.getModel().getImgServeCode() != null) { | 
|             queryWrapper.eq(WarningEvent::getImgServeCode, pageWrap.getModel().getImgServeCode()); | 
|         } | 
|         if (pageWrap.getModel().getImgurl() != null) { | 
|             queryWrapper.eq(WarningEvent::getImgurl, pageWrap.getModel().getImgurl()); | 
|         } | 
|         if (pageWrap.getModel().getJsonContent() != null) { | 
|             queryWrapper.eq(WarningEvent::getJsonContent, pageWrap.getModel().getJsonContent()); | 
|         } | 
|         if (pageWrap.getModel().getSrcIndex() != null) { | 
|             queryWrapper.eq(WarningEvent::getSrcIndex, pageWrap.getModel().getSrcIndex()); | 
|         } | 
|         if (pageWrap.getModel().getSrcType() != null) { | 
|             queryWrapper.eq(WarningEvent::getSrcType, pageWrap.getModel().getSrcType()); | 
|         } | 
|         if (pageWrap.getModel().getSrcName() != null) { | 
|             queryWrapper.eq(WarningEvent::getSrcName, pageWrap.getModel().getSrcName()); | 
|         } | 
|         for(PageWrap.SortData sortData: pageWrap.getSorts()) { | 
|             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { | 
|                 queryWrapper.orderByDesc(sortData.getProperty()); | 
|             } else { | 
|                 queryWrapper.orderByAsc(sortData.getProperty()); | 
|             } | 
|         } | 
|   | 
|         queryWrapper.orderByDesc(WarningEvent::getCreateDate); | 
|         IPage<WarningEvent> result = warningEventMapper.selectJoinPage(page, WarningEvent.class,queryWrapper); | 
|         return PageData.from(result); | 
|     } | 
|   | 
|     @Override | 
|     public long count(WarningEvent warningEvent) { | 
|         QueryWrapper<WarningEvent> wrapper = new QueryWrapper<>(warningEvent); | 
|         return warningEventMapper.selectCount(wrapper); | 
|     } | 
| } |