| 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); | 
|     } | 
| } |