package com.fdkankan.fusion.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fdkankan.fusion.common.PageInfo; import com.fdkankan.fusion.entity.ScenePlus; import com.fdkankan.fusion.mapper.IScenePlusMapper; import com.fdkankan.fusion.request.CaseParam; import com.fdkankan.fusion.request.DataParam; import com.fdkankan.fusion.response.DataGroupVo; import com.fdkankan.fusion.service.IScenePlusService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.fusion.service.ISceneService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; /** *

* 场景主表 服务实现类 *

* * @author * @since 2023-12-28 */ @Service public class ScenePlusServiceImpl extends ServiceImpl implements IScenePlusService { @Autowired ISceneService sceneService; @Override public ScenePlus getByNum(String sceneNum) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ScenePlus::getNum,sceneNum); return this.getOne(wrapper); } @Override public List groupByCameraId(DataParam param, List cameraIds) { return getBaseMapper().groupByCameraId(param.getStartTime(),param.getEndTime(),cameraIds); } @Override public List groupByType(DataParam param, List cameraIds) { return getBaseMapper().groupByType(param.getStartTime(),param.getEndTime(),cameraIds); } @Override public List getByNumList(List numList) { if(numList == null || numList.isEmpty()){ return new ArrayList<>(); } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.in(ScenePlus::getNum,numList); return this.list(wrapper); } @Override public Page pageList(CaseParam param) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ScenePlus::getSceneStatus,1); wrapper.orderByDesc(ScenePlus::getId); Page page = this.page(new Page<>(param.getPageNum(), param.getPageSize()),wrapper); List collect = page.getRecords().stream().map(ScenePlus::getNum).collect(Collectors.toList()); HashMap mappingMap = sceneService.getMappingMap(collect); for (ScenePlus record : page.getRecords()) { record.setMapping(mappingMap.get(record.getNum())); } return page; } }