package com.doumee.service.business.impl; 
 | 
  
 | 
import com.doumee.biz.system.SystemDictDataBiz; 
 | 
import com.doumee.core.model.PageData; 
 | 
import com.doumee.core.model.PageWrap; 
 | 
import com.doumee.core.utils.Constants; 
 | 
import com.doumee.core.utils.Utils; 
 | 
import com.doumee.dao.business.PlatformEventMapper; 
 | 
import com.doumee.dao.business.model.Empower; 
 | 
import com.doumee.dao.business.model.Platform; 
 | 
import com.doumee.dao.business.model.PlatformEvent; 
 | 
import com.doumee.service.business.PlatformEventService; 
 | 
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.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 2024/08/28 17:24 
 | 
 */ 
 | 
@Service 
 | 
public class PlatformEventServiceImpl implements PlatformEventService { 
 | 
  
 | 
    @Autowired 
 | 
    private SystemDictDataBiz systemDictDataBiz; 
 | 
    @Autowired 
 | 
    private PlatformEventMapper platformEventMapper; 
 | 
  
 | 
    @Override 
 | 
    public Integer create(PlatformEvent platformEvent) { 
 | 
        platformEventMapper.insert(platformEvent); 
 | 
        return platformEvent.getId(); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void deleteById(Integer id) { 
 | 
        platformEventMapper.deleteById(id); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void delete(PlatformEvent platformEvent) { 
 | 
        UpdateWrapper<PlatformEvent> deleteWrapper = new UpdateWrapper<>(platformEvent); 
 | 
        platformEventMapper.delete(deleteWrapper); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void deleteByIdInBatch(List<Integer> ids) { 
 | 
        if (CollectionUtils.isEmpty(ids)) { 
 | 
            return; 
 | 
        } 
 | 
        platformEventMapper.deleteBatchIds(ids); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void updateById(PlatformEvent platformEvent) { 
 | 
        platformEventMapper.updateById(platformEvent); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public void updateByIdInBatch(List<PlatformEvent> platformEvents) { 
 | 
        if (CollectionUtils.isEmpty(platformEvents)) { 
 | 
            return; 
 | 
        } 
 | 
        for (PlatformEvent platformEvent: platformEvents) { 
 | 
            this.updateById(platformEvent); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public PlatformEvent findById(Integer id) { 
 | 
        return platformEventMapper.selectById(id); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public PlatformEvent findOne(PlatformEvent platformEvent) { 
 | 
        QueryWrapper<PlatformEvent> wrapper = new QueryWrapper<>(platformEvent); 
 | 
        return platformEventMapper.selectOne(wrapper); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public List<PlatformEvent> findList(PlatformEvent platformEvent) { 
 | 
        QueryWrapper<PlatformEvent> wrapper = new QueryWrapper<>(platformEvent); 
 | 
        return platformEventMapper.selectList(wrapper); 
 | 
    } 
 | 
   
 | 
    @Override 
 | 
    public PageData<PlatformEvent> findPage(PageWrap<PlatformEvent> pageWrap) { 
 | 
        IPage<PlatformEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); 
 | 
        MPJLambdaWrapper<PlatformEvent> queryWrapper = new MPJLambdaWrapper<>(); 
 | 
        queryWrapper.selectAll(PlatformEvent.class) 
 | 
                .selectAs(Platform::getName,PlatformEvent::getPlatformName) 
 | 
                .leftJoin(Platform.class, Platform::getId,PlatformEvent::getPlatformId); 
 | 
        Utils.MP.blankToNull(pageWrap.getModel()); 
 | 
        if (pageWrap.getModel().getId() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getId, pageWrap.getModel().getId()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getCreator() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getCreator, pageWrap.getModel().getCreator()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getCreateDate() != null) { 
 | 
            queryWrapper.ge(PlatformEvent::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); 
 | 
            queryWrapper.le(PlatformEvent::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); 
 | 
        } 
 | 
        if (pageWrap.getModel().getEditor() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getEditor, pageWrap.getModel().getEditor()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getEditDate() != null) { 
 | 
            queryWrapper.ge(PlatformEvent::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); 
 | 
            queryWrapper.le(PlatformEvent::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); 
 | 
        } 
 | 
        if (pageWrap.getModel().getIsdeleted() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getIsdeleted, pageWrap.getModel().getIsdeleted()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getRemark() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getRemark, pageWrap.getModel().getRemark()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getEventId() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getEventId, pageWrap.getModel().getEventId()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getEventType() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getEventType, pageWrap.getModel().getEventType()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getSrcType() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getSrcType, pageWrap.getModel().getSrcType()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getHappenTime() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getHappenTime, pageWrap.getModel().getHappenTime()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getSrcIndex() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getSrcIndex, pageWrap.getModel().getSrcIndex()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getSrcName() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getSrcName, pageWrap.getModel().getSrcName()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getStatus() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getStatus, pageWrap.getModel().getStatus()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getTimeout() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getTimeout, pageWrap.getModel().getTimeout()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getDataType() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getDataType, pageWrap.getModel().getDataType()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getSendTime() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getSendTime, pageWrap.getModel().getSendTime()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getDateTime() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getDateTime, pageWrap.getModel().getDateTime()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getIpAddress() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getIpAddress, pageWrap.getModel().getIpAddress()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getIpv6Address() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getIpv6Address, pageWrap.getModel().getIpv6Address()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getPortNo() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getPortNo, pageWrap.getModel().getPortNo()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getProtocol() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getProtocol, pageWrap.getModel().getProtocol()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getMacAddress() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getMacAddress, pageWrap.getModel().getMacAddress()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getChannelId() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getChannelId, pageWrap.getModel().getChannelId()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getActivePostCount() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getActivePostCount, pageWrap.getModel().getActivePostCount()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getEventState() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getEventState, pageWrap.getModel().getEventState()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getEventDescription() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getEventDescription, pageWrap.getModel().getEventDescription()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getChannelName() != null) { 
 | 
            queryWrapper.like(PlatformEvent::getChannelName, pageWrap.getModel().getChannelName()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getDeviceId() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getDeviceId, pageWrap.getModel().getDeviceId()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getHpno() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getHpno, pageWrap.getModel().getHpno()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getMotionStatus() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getMotionStatus, pageWrap.getModel().getMotionStatus()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getPlateNo() != null) { 
 | 
            queryWrapper.like(PlatformEvent::getPlateNo, pageWrap.getModel().getPlateNo()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getVehicleDoorStatus() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getVehicleDoorStatus, pageWrap.getModel().getVehicleDoorStatus()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getStockStatus() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getStockStatus, pageWrap.getModel().getStockStatus()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getPlateScore() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getPlateScore, pageWrap.getModel().getPlateScore()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getBackgroundImageContent() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getBackgroundImageContent, pageWrap.getModel().getBackgroundImageContent()); 
 | 
        } 
 | 
        if (pageWrap.getModel().getPlatePictureContent() != null) { 
 | 
            queryWrapper.eq(PlatformEvent::getPlatePictureContent, pageWrap.getModel().getPlatePictureContent()); 
 | 
        } 
 | 
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getPlatformName()), Platform::getName,pageWrap.getModel().getPlatformName()); 
 | 
        queryWrapper.ge(Objects.nonNull(pageWrap.getModel().getStartDate()), PlatformEvent::getCreateDate,pageWrap.getModel().getStartDate()); 
 | 
        queryWrapper.le(Objects.nonNull(pageWrap.getModel().getEndDate()),PlatformEvent::getCreateDate,pageWrap.getModel().getEndDate()); 
 | 
        queryWrapper.orderByDesc(PlatformEvent::getCreateDate); 
 | 
        PageData<PlatformEvent> result = PageData.from(platformEventMapper.selectJoinPage(page, PlatformEvent.class,queryWrapper)); 
 | 
        if(result!=null && result.getRecords()!=null){ 
 | 
            String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + 
 | 
                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.PLATFORM_EVENT_IMG).getCode(); 
 | 
            for(PlatformEvent model : result.getRecords()){ 
 | 
                if(StringUtils.isNotBlank(model.getBackgroundImageDown())){ 
 | 
                    model.setBackgroundImageDown(prefixUrl + model.getBackgroundImageDown()); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
        return  result; 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public long count(PlatformEvent platformEvent) { 
 | 
        QueryWrapper<PlatformEvent> wrapper = new QueryWrapper<>(platformEvent); 
 | 
        return platformEventMapper.selectCount(wrapper); 
 | 
    } 
 | 
} 
 |