package com.fdkankan.manage.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.fdkankan.common.util.DateUtil; import com.fdkankan.manage.httpClient.service.LaserService; import com.fdkankan.manage.entity.*; import com.fdkankan.manage.mapper.IScenePlusMapper; import com.fdkankan.manage.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.manage.vo.response.GroupByCount; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; /** *

* 场景主表 服务实现类 *

* * @author * @since 2022-08-02 */ @Service public class ScenePlusServiceImpl extends ServiceImpl implements IScenePlusService { @Autowired ISceneProService sceneProService; @Autowired LaserService laserService; @Autowired IScenePlusExtService scenePlusExtService; @Override public ScenePlus getByNum(String sceneNum) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ScenePlus::getNum,sceneNum); List list = this.list(wrapper); if(list!=null && list.size() >0){ return list.get(0); } return null; } @Override public void unbindCamera(Long cameraId) { LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); wrapper.set(ScenePlus::getUserId,null) .eq(ScenePlus::getCameraId,cameraId); this.update(wrapper); } @Override public HashMap getCountGroupByUserId(List userIdList,Integer isObj) { HashMap map = new HashMap<>(); List result = this.getBaseMapper().getCountGroupByUserId(userIdList,isObj); result.forEach(entity ->map.put(entity.getId(),entity.getCount())); return map; } @Override public HashMap getCountGroupByCameraId(ArrayList cameraIds) { HashMap map = new HashMap<>(); List result = this.getBaseMapper().getCountGroupByCameraId(cameraIds); result.forEach(entity ->map.put(entity.getId(),entity.getCount())); return map; } @Override public String getDataSourceByNum(String num) { ScenePro scenePro = sceneProService.getByNum(num); if(scenePro != null ){ return scenePro.getDataSource(); } ScenePlus plus = this.getByNum(num); if(plus != null){ ScenePlusExt plusExt = scenePlusExtService.getByPlusId(plus.getId()); if(plusExt.getDataSource() != null){ return plusExt.getDataSource(); } } return null; } }