DeviceServiceImpl.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package com.bizmatics.service.impl;
  2. import com.bizmatics.model.AlarmPower;
  3. import com.bizmatics.model.Device;
  4. import com.bizmatics.persistence.mapper.DeviceMapper;
  5. import com.bizmatics.service.DeviceService;
  6. import com.bizmatics.common.mvc.base.AbstractCrudService;
  7. import com.bizmatics.service.enums.DeviceStatusCode;
  8. import com.bizmatics.service.enums.DeviceType;
  9. import com.bizmatics.service.util.SessionLocal;
  10. import com.bizmatics.service.vo.DeviceCountVO;
  11. import org.springframework.stereotype.Service;
  12. import java.util.ArrayList;
  13. import java.util.Date;
  14. import java.util.List;
  15. import java.util.Optional;
  16. /**
  17. * <p>
  18. * 服务实现类
  19. * </p>
  20. *
  21. * @author ya
  22. * @since 2021-07-07
  23. */
  24. @Service
  25. public class DeviceServiceImpl extends AbstractCrudService<DeviceMapper, Device> implements DeviceService {
  26. @Override
  27. public DeviceCountVO selectDeviceCount(Date startTime, Date endTime) {
  28. Integer userId = SessionLocal.getUserId();
  29. DeviceCountVO deviceCountVo = new DeviceCountVO();
  30. deviceCountVo.setNormalCount(baseMapper
  31. .selectCount(userId,null,DeviceStatusCode.NORMAL.getValue(),startTime,endTime,null));
  32. deviceCountVo.setOffLineCount(baseMapper
  33. .selectCount(userId,null,DeviceStatusCode.OFFLINE.getValue(),startTime,endTime,null));
  34. deviceCountVo.setDeviceCount(baseMapper
  35. .selectCount(userId,null,DeviceStatusCode.DEVICE.getValue(),startTime,endTime,null));
  36. deviceCountVo.setFaultCount(baseMapper
  37. .selectCount(userId,null,DeviceStatusCode.FAULT.getValue(),startTime,endTime,null));
  38. return deviceCountVo;
  39. }
  40. @Override
  41. public DeviceCountVO selectDeviceCountByType(Integer site) {
  42. DeviceCountVO deviceCountVo = new DeviceCountVO();
  43. Integer userId = SessionLocal.getUserId();
  44. int oneEightThreeEp = baseMapper.selectCount(userId, site, null, null, null, DeviceType.ONE_EIGHT_THREE_EP.getValue());
  45. int oneSevenOneEp = baseMapper.selectCount(userId, site,null , null, null, DeviceType.ONE_SEVEN_ONE_EP.getValue());
  46. int oneSevenThreeEp = baseMapper.selectCount(userId, site, null, null, null, DeviceType.ONE_SEVEN_THREE_EP.getValue());
  47. int video = baseMapper.selectCount(userId, site, null, null, null, DeviceType.VODEO_MONITROING.getValue());
  48. deviceCountVo.setEpCount(oneEightThreeEp+oneSevenOneEp+oneSevenThreeEp);
  49. deviceCountVo.setVideoCount(video);
  50. return deviceCountVo;
  51. }
  52. /**
  53. * 汇总
  54. * @param list
  55. * @param deviceStatus
  56. * @param type
  57. * @return
  58. */
  59. public Long getCount(List<Device> list, Integer deviceStatus, String type){
  60. return list.stream()
  61. .filter(device -> Optional.ofNullable(deviceStatus).map(ds -> ds.equals(device.getDeviceStatus())).orElse(true))
  62. .filter(device -> Optional.ofNullable(type).map(ds -> ds.equals(device.getDeviceType())).orElse(true))
  63. .count();
  64. }
  65. }