package com.fdkankan.manage.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.manage.common.PageInfo; import com.fdkankan.manage.entity.Scene; import com.fdkankan.manage.mapper.ISceneMapper; import com.fdkankan.manage.service.ISceneService; import com.fdkankan.manage.util.SceneStatusUtil; import com.fdkankan.manage.vo.request.SceneParam; import com.fdkankan.manage.vo.response.GroupByCount; import com.fdkankan.manage.vo.response.SceneVo; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; /** *

* 场景表 服务实现类 *

* * @author * @since 2022-06-16 */ @Service public class SceneServiceImpl extends ServiceImpl implements ISceneService { @Override public void unbindCamera(Long cameraId) { LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); wrapper.set(Scene::getUserId,null) .eq(Scene::getCameraId,cameraId); this.update(wrapper); } @Override public HashMap getCountGroupByUserId(List userIdList) { HashMap map = new HashMap<>(); List result = this.getBaseMapper().getCountGroupByUserId(userIdList); result.forEach(entity ->map.put(entity.getId(),entity.getCount())); return map; } @Override public HashMap getCountGroupByCameraId(List cameraIds) { HashMap map = new HashMap<>(); List result = this.getBaseMapper().getCountGroupByCameraId(cameraIds); result.forEach(entity ->map.put(entity.getId(),entity.getCount())); return map; } @Override public PageInfo pageList(SceneParam param) { Page page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(), param.getPageSize()), param); for (SceneVo record : page.getRecords()) { record.setStatusString(SceneStatusUtil.getStatusString(record)); if(StringUtils.isNotBlank(record.getCopyTime())){ record.setIsCopy(true); } } return PageInfo.PageInfo(page); } @Override public Scene getByNum(String num) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Scene::getNum,num); List list = this.list(wrapper); if(list!=null && list.size() >0){ return list.get(0); } return null; } }