MrShi
2026-01-13 3a154bdb0a5aaa2c0ac3eac95a6ba747068bd454
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningEventServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,193 @@
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);
    }
}