package com.bizmatics.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.bizmatics.common.mvc.base.AbstractCrudService; import com.bizmatics.model.Device; import com.bizmatics.model.DeviceAttribute; import com.bizmatics.model.PlatformArea; import com.bizmatics.model.Site; import com.bizmatics.model.vo.DeviceVo; import com.bizmatics.model.vo.PlatformAreaVo; import com.bizmatics.model.vo.SiteDeviceList; import com.bizmatics.persistence.mapper.PlatformAreaMapper; import com.bizmatics.service.PlatformAreaService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; /** *

* 服务实现类 *

* * @author ya * @since 2021-09-29 */ @Service public class PlatformAreaServiceImpl extends AbstractCrudService implements PlatformAreaService { @Autowired private SiteServiceImpl siteService; @Autowired private DeviceServiceImpl deviceService; @Autowired private DeviceStatusServiceImpl deviceStatusService; @Autowired private DeviceAttributeServiceImpl deviceAttributeService; @Override public void platformAreaAdd(PlatformArea platformArea){ platformArea.setEnable(1); this.save(platformArea); } @Override public void platformAreaUpdate(PlatformArea platformArea){ this.updateById(platformArea); } @Override public List> platformAreaList(int id){ LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(PlatformArea::getEnable, 1).eq(PlatformArea::getId, id); List platformAreaList = this.list(queryWrapper); PlatformArea platformArea = (PlatformArea)platformAreaList.get(0); LambdaQueryWrapper siteQueryWrapper = Wrappers.lambdaQuery(); siteQueryWrapper.eq(Site::getStationAreaId,platformArea.getId()).eq(Site::getEnable, 1); List siteList = siteService.list(siteQueryWrapper); int siteCount = siteList.size(); LambdaQueryWrapper deviceQueryWrapper = Wrappers.lambdaQuery(); deviceQueryWrapper.in(Device::getSiteId,siteList).eq(Device::getEnable, 1); int deviceCount = deviceService.count(deviceQueryWrapper); PlatformAreaVo platformAreaVo = new PlatformAreaVo(); platformAreaVo.setPlatformAreaName(platformArea.getPlatformAreaName()); platformAreaVo.setPlatformAreaAddress(platformArea.getPlatformAreaAddress()); platformAreaVo.setPlatformAreaCode(platformArea.getPlatformAreaCode()); platformAreaVo.setSiteCount(siteCount); platformAreaVo.setDeviceCount(deviceCount); platformAreaVo.setSite(siteList); return (List>) platformAreaVo; } @Override public List platformAreaListOne(String platformAreaName){ List PlatformAreaVoSite = baseMapper.siteCount(platformAreaName); List PlatformAreaVoDevice =baseMapper.deviceCount(platformAreaName); for (int i = 0; i < PlatformAreaVoSite.size(); i++) { PlatformAreaVo one =(PlatformAreaVo)PlatformAreaVoSite.get(i); for (int j = 0; j < PlatformAreaVoSite.size(); j++) { PlatformAreaVo two =(PlatformAreaVo)PlatformAreaVoDevice.get(j); if (one.getId()==two.getId()){ one.setDeviceCount(two.getDeviceCount()); } } } return PlatformAreaVoSite; } @Override public void platformAreaDel(int id){ PlatformArea platformArea = new PlatformArea(); platformArea.setId(id); platformArea.setEnable(0); this.updateById(platformArea); } @Override public List siteDeviceList(int stationAreaId){ List siteDeviceList = baseMapper.deviceList(stationAreaId); return siteDeviceList; } @Override public void siteDeviceUpdate (DeviceVo deviceVo){ deviceService.updateById(deviceVo.getDevice()); deviceAttributeService.updateById(deviceVo.getDeviceAttribute()); } @Override public void siteDeviceDel(int deviceId,int deviceAttributeId){ Device device = new Device(); DeviceAttribute deviceAttribute = new DeviceAttribute(); device.setId(deviceId); device.setEnable(0); deviceAttribute.setId(deviceAttributeId); deviceAttribute.setEnable(0); deviceService.updateById(device); deviceAttributeService.updateById(deviceAttribute); } }