DeviceServiceImpl.java 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.bizmatics.service.impl;
  2. import com.bizmatics.common.mvc.base.AbstractCrudService;
  3. import com.bizmatics.model.Device;
  4. import com.bizmatics.model.DeviceList;
  5. import com.bizmatics.model.TemplateData;
  6. import com.bizmatics.persistence.mapper.DeviceMapper;
  7. import com.bizmatics.service.DeviceService;
  8. import com.bizmatics.service.enums.DeviceStatusCode;
  9. import com.bizmatics.service.enums.DeviceType;
  10. import com.bizmatics.service.util.SessionLocal;
  11. import com.bizmatics.service.vo.DeviceCountVO;
  12. import org.springframework.stereotype.Service;
  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 = UserUtil.getUserId();
  29. Integer userId = SessionLocal.getUserId();
  30. DeviceCountVO deviceCountVo = new DeviceCountVO();
  31. deviceCountVo.setNormalCount(baseMapper
  32. .selectCount(userId,null,DeviceStatusCode.NORMAL.getValue(),startTime,endTime,null));
  33. deviceCountVo.setOffLineCount(baseMapper
  34. .selectCount(userId,null,DeviceStatusCode.OFFLINE.getValue(),startTime,endTime,null));
  35. deviceCountVo.setDeviceCount(baseMapper
  36. .selectCount(userId,null,DeviceStatusCode.DEVICE.getValue(),startTime,endTime,null));
  37. deviceCountVo.setFaultCount(baseMapper
  38. .selectCount(userId,null,DeviceStatusCode.FAULT.getValue(),startTime,endTime,null));
  39. deviceCountVo.setCount(baseMapper
  40. .selectCount(userId,null,null,startTime,endTime,null));
  41. return deviceCountVo;
  42. }
  43. @Override
  44. public DeviceCountVO selectDeviceCountByType(Integer site) {
  45. DeviceCountVO deviceCountVo = new DeviceCountVO();
  46. // Integer userId = UserUtil.getUserId();
  47. Integer userId = SessionLocal.getUserId();
  48. int oneEightThreeEp = baseMapper.selectCount(userId, site, null, null, null, DeviceType.ONE_EIGHT_THREE_EP.getValue());
  49. int oneSevenOneEp = baseMapper.selectCount(userId, site,null , null, null, DeviceType.ONE_SEVEN_ONE_EP.getValue());
  50. int oneSevenThreeEp = baseMapper.selectCount(userId, site, null, null, null, DeviceType.ONE_SEVEN_THREE_EP.getValue());
  51. int video = baseMapper.selectCount(userId, site, null, null, null, DeviceType.VODEO_MONITROING.getValue());
  52. deviceCountVo.setEpCount(oneEightThreeEp+oneSevenOneEp+oneSevenThreeEp);
  53. deviceCountVo.setVideoCount(video);
  54. return deviceCountVo;
  55. }
  56. /**
  57. * 汇总
  58. * @param list
  59. * @param deviceStatus
  60. * @param type
  61. * @return
  62. */
  63. public Long getCount(List<Device> list, Integer deviceStatus, String type){
  64. return list.stream()
  65. .filter(device -> Optional.ofNullable(deviceStatus).map(ds -> ds.equals(device.getDeviceStatus())).orElse(true))
  66. .filter(device -> Optional.ofNullable(type).map(ds -> ds.equals(device.getDeviceType())).orElse(true))
  67. .count();
  68. }
  69. public List<DeviceList> DeviceList(String siteId){
  70. List<DeviceList> DeviceList = null;
  71. DeviceList = baseMapper.DeviceList(Integer.parseInt(siteId));
  72. return DeviceList;
  73. }
  74. }