package com.bizmatics.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.bizmatics.common.core.exception.BusinessException;
import com.bizmatics.common.core.util.BeanMapperUtils;
import com.bizmatics.common.mvc.base.AbstractCrudService;
import com.bizmatics.model.*;
import com.bizmatics.persistence.mapper.AlarmPowerMapper;
import com.bizmatics.persistence.mapper.DeviceMapper;
import com.bizmatics.persistence.mapper.SiteMapper;
import com.bizmatics.service.DeviceService;
import com.bizmatics.service.SiteService;
import com.bizmatics.service.UserSiteService;
import com.bizmatics.service.enums.DeviceStatusCode;
import com.bizmatics.service.util.SessionLocal;
import com.bizmatics.service.vo.DeviceCountVO;
import com.bizmatics.service.vo.SiteVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
*
* 服务实现类
*
*
* @author ya
* @since 2021-07-07
*/
@Slf4j
@Service
public class SiteServiceImpl extends AbstractCrudService implements SiteService {
@Autowired
private DeviceMapper deviceMapper;
@Autowired
private DeviceService deviceService;
@Autowired
private AlarmPowerMapper alarmPowerMapper;
@Autowired
private UserSiteService userSiteService;
@Override
public DeviceCountVO selectCount() {
// Integer userId = UserUtil.getUserId();
Integer userId = SessionLocal.getUserId();
DeviceCountVO deviceCountVO = new DeviceCountVO();
deviceCountVO.setNormalCount(baseMapper.selectCount(userId, null, DeviceStatusCode.NORMAL.getValue()));
deviceCountVO.setOffLineCount(baseMapper.selectCount(userId, null, DeviceStatusCode.OFFLINE.getValue()));
deviceCountVO.setDeviceCount(baseMapper.selectCount(userId, null, DeviceStatusCode.DEVICE.getValue()));
deviceCountVO.setFaultCount(baseMapper.selectCount(userId, null, DeviceStatusCode.FAULT.getValue()));
deviceCountVO.setCount(userSiteService.count(userId));
return deviceCountVO;
}
@Override
public List list(String name) {
return baseMapper.list(SessionLocal.getUserId(), name);
}
@Override
public List