ScenePlusServiceImpl.java 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.fdkankan.fusion.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.fdkankan.fusion.common.PageInfo;
  5. import com.fdkankan.fusion.entity.ScenePlus;
  6. import com.fdkankan.fusion.mapper.IScenePlusMapper;
  7. import com.fdkankan.fusion.request.CaseParam;
  8. import com.fdkankan.fusion.request.DataParam;
  9. import com.fdkankan.fusion.response.DataGroupVo;
  10. import com.fdkankan.fusion.service.IScenePlusService;
  11. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  12. import com.fdkankan.fusion.service.ISceneService;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import java.util.ArrayList;
  16. import java.util.HashMap;
  17. import java.util.List;
  18. import java.util.stream.Collectors;
  19. /**
  20. * <p>
  21. * 场景主表 服务实现类
  22. * </p>
  23. *
  24. * @author
  25. * @since 2023-12-28
  26. */
  27. @Service
  28. public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlus> implements IScenePlusService {
  29. @Autowired
  30. ISceneService sceneService;
  31. @Override
  32. public ScenePlus getByNum(String sceneNum) {
  33. LambdaQueryWrapper<ScenePlus> wrapper = new LambdaQueryWrapper<>();
  34. wrapper.eq(ScenePlus::getNum,sceneNum);
  35. return this.getOne(wrapper);
  36. }
  37. @Override
  38. public List<DataGroupVo> groupByCameraId(DataParam param, List<Long> cameraIds) {
  39. return getBaseMapper().groupByCameraId(param.getStartTime(),param.getEndTime(),cameraIds);
  40. }
  41. @Override
  42. public List<DataGroupVo> groupByType(DataParam param, List<Long> cameraIds) {
  43. return getBaseMapper().groupByType(param.getStartTime(),param.getEndTime(),cameraIds);
  44. }
  45. @Override
  46. public List<ScenePlus> getByNumList(List<String> numList) {
  47. if(numList == null || numList.isEmpty()){
  48. return new ArrayList<>();
  49. }
  50. LambdaQueryWrapper<ScenePlus> wrapper = new LambdaQueryWrapper<>();
  51. wrapper.in(ScenePlus::getNum,numList);
  52. return this.list(wrapper);
  53. }
  54. @Override
  55. public Page<ScenePlus> pageList(CaseParam param) {
  56. LambdaQueryWrapper<ScenePlus> wrapper = new LambdaQueryWrapper<>();
  57. wrapper.eq(ScenePlus::getSceneStatus,1);
  58. wrapper.orderByDesc(ScenePlus::getId);
  59. Page<ScenePlus> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()),wrapper);
  60. List<String> collect = page.getRecords().stream().map(ScenePlus::getNum).collect(Collectors.toList());
  61. HashMap<String, String> mappingMap = sceneService.getMappingMap(collect);
  62. for (ScenePlus record : page.getRecords()) {
  63. record.setMapping(mappingMap.get(record.getNum()));
  64. }
  65. return page;
  66. }
  67. }