| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- 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.FeedbackOption;
- import com.fdkankan.manage.entity.Scene;
- import com.fdkankan.manage.mapper.ISceneMapper;
- import com.fdkankan.manage.service.IFeedbackOptionService;
- 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.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * <p>
- * 场景表 服务实现类
- * </p>
- *
- * @author
- * @since 2022-06-16
- */
- @Service
- public class SceneServiceImpl extends ServiceImpl<ISceneMapper, Scene> implements ISceneService {
- @Autowired
- IFeedbackOptionService feedbackOptionService;
- @Override
- public void unbindCamera(Long cameraId) {
- LambdaUpdateWrapper<Scene> wrapper = new LambdaUpdateWrapper<>();
- wrapper.set(Scene::getUserId,null)
- .eq(Scene::getCameraId,cameraId);
- this.update(wrapper);
- }
- @Override
- public HashMap<Long, Long> getCountGroupByUserId(List<Long> userIdList) {
- HashMap<Long,Long> map = new HashMap<>();
- List<GroupByCount> result = this.getBaseMapper().getCountGroupByUserId(userIdList);
- result.forEach(entity ->map.put(entity.getId(),entity.getCount()));
- return map;
- }
- @Override
- public HashMap<Long, Long> getCountGroupByCameraId(List<Long> cameraIds) {
- HashMap<Long,Long> map = new HashMap<>();
- List<GroupByCount> result = this.getBaseMapper().getCountGroupByCameraId(cameraIds);
- result.forEach(entity ->map.put(entity.getId(),entity.getCount()));
- return map;
- }
- @Override
- public PageInfo pageList(SceneParam param) {
- Page<SceneVo> page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(), param.getPageSize()), param);
- List<Integer> feedbackOptionIds = page.getRecords().stream().map(SceneVo::getFeedbackOptionId).collect(Collectors.toList());
- HashMap<Integer, FeedbackOption> mapByIds = feedbackOptionService.getMapByIds(new HashSet<>(feedbackOptionIds));
- for (SceneVo record : page.getRecords()) {
- record.setStatusString(SceneStatusUtil.getStatusString(record));
- if(StringUtils.isNotBlank(record.getCopyTime())){
- record.setIsCopy(true);
- }
- FeedbackOption feedbackOption = mapByIds.get(record.getFeedbackOptionId());
- if(feedbackOption != null){
- record.setFeedbackOptionName(feedbackOption.getNameCn());
- }else {
- record.setFeedbackOptionId(null);
- }
- }
- return PageInfo.PageInfo(page);
- }
- @Override
- public Scene getByNum(String num) {
- LambdaQueryWrapper<Scene> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Scene::getNum,num);
- List<Scene> list = this.list(wrapper);
- if(list!=null && list.size() >0){
- return list.get(0);
- }
- return null;
- }
- }
|