12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package com.bizmatics.service.impl;
- import com.bizmatics.model.AlarmPower;
- import com.bizmatics.model.Device;
- import com.bizmatics.persistence.mapper.DeviceMapper;
- import com.bizmatics.service.DeviceService;
- import com.bizmatics.common.mvc.base.AbstractCrudService;
- import com.bizmatics.service.enums.DeviceStatusCode;
- import com.bizmatics.service.enums.DeviceType;
- import com.bizmatics.service.util.SessionLocal;
- import com.bizmatics.service.vo.DeviceCountVO;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.Optional;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author ya
- * @since 2021-07-07
- */
- @Service
- public class DeviceServiceImpl extends AbstractCrudService<DeviceMapper, Device> implements DeviceService {
- @Override
- public DeviceCountVO selectDeviceCount(Date startTime, Date endTime) {
- Integer userId = SessionLocal.getUserId();
- DeviceCountVO deviceCountVo = new DeviceCountVO();
- deviceCountVo.setNormalCount(baseMapper
- .selectCount(userId,null,DeviceStatusCode.NORMAL.getValue(),startTime,endTime,null));
- deviceCountVo.setOffLineCount(baseMapper
- .selectCount(userId,null,DeviceStatusCode.OFFLINE.getValue(),startTime,endTime,null));
- deviceCountVo.setDeviceCount(baseMapper
- .selectCount(userId,null,DeviceStatusCode.DEVICE.getValue(),startTime,endTime,null));
- deviceCountVo.setFaultCount(baseMapper
- .selectCount(userId,null,DeviceStatusCode.FAULT.getValue(),startTime,endTime,null));
- return deviceCountVo;
- }
- @Override
- public DeviceCountVO selectDeviceCountByType(Integer site) {
- DeviceCountVO deviceCountVo = new DeviceCountVO();
- Integer userId = SessionLocal.getUserId();
- int oneEightThreeEp = baseMapper.selectCount(userId, site, null, null, null, DeviceType.ONE_EIGHT_THREE_EP.getValue());
- int oneSevenOneEp = baseMapper.selectCount(userId, site,null , null, null, DeviceType.ONE_SEVEN_ONE_EP.getValue());
- int oneSevenThreeEp = baseMapper.selectCount(userId, site, null, null, null, DeviceType.ONE_SEVEN_THREE_EP.getValue());
- int video = baseMapper.selectCount(userId, site, null, null, null, DeviceType.VODEO_MONITROING.getValue());
- deviceCountVo.setEpCount(oneEightThreeEp+oneSevenOneEp+oneSevenThreeEp);
- deviceCountVo.setVideoCount(video);
- return deviceCountVo;
- }
- /**
- * 汇总
- * @param list
- * @param deviceStatus
- * @param type
- * @return
- */
- public Long getCount(List<Device> list, Integer deviceStatus, String type){
- return list.stream()
- .filter(device -> Optional.ofNullable(deviceStatus).map(ds -> ds.equals(device.getDeviceStatus())).orElse(true))
- .filter(device -> Optional.ofNullable(type).map(ds -> ds.equals(device.getDeviceType())).orElse(true))
- .count();
- }
- }
|