|
@@ -13,6 +13,7 @@ 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;
|
|
|
|
|
@@ -28,6 +29,7 @@ import java.util.Optional;
|
|
|
* @author ya
|
|
|
* @since 2021-07-07
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@Service
|
|
|
public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> implements SiteService {
|
|
|
|
|
@@ -45,28 +47,16 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<SiteVO> list(String name) {
|
|
|
+ public List<Site> list(String name) {
|
|
|
+ return baseMapper.list(SessionLocal.getUserId(),name);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<SiteVO> siteAndStatusList(String name) {
|
|
|
List<SiteVO> list = new ArrayList<>();
|
|
|
- List<Site> sites = baseMapper.list(SessionLocal.getUserId(),name);
|
|
|
Integer userId = SessionLocal.getUserId();
|
|
|
- for (Site site:sites) {
|
|
|
- SiteVO siteVo = BeanMapperUtils.map(site, SiteVO.class);
|
|
|
- siteVo.setDeviceCount(deviceMapper.selectCount(userId,siteVo.getId(),null,null,null,null));
|
|
|
- int deviceCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.DEVICE.getValue());
|
|
|
- int offLineCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.OFFLINE.getValue());
|
|
|
- int faultCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.FAULT.getValue());
|
|
|
- siteVo.setAlarmPowerCount(deviceCount);
|
|
|
- if (deviceCount > 0){
|
|
|
- siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
|
|
|
- }else if (offLineCount > 0){
|
|
|
- siteVo.setStatus(DeviceStatusCode.OFFLINE.getDescribe());
|
|
|
- }else if (faultCount > 0){
|
|
|
- siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
|
|
|
- }else {
|
|
|
- siteVo.setStatus(DeviceStatusCode.NORMAL.getDescribe());
|
|
|
- }
|
|
|
- list.add(siteVo);
|
|
|
- }
|
|
|
+ baseMapper.list(SessionLocal.getUserId(), name).forEach(site -> list.add(enhanceSite(site,userId)));
|
|
|
return list;
|
|
|
}
|
|
|
|
|
@@ -75,4 +65,24 @@ public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> imple
|
|
|
Site site = baseMapper.selectOne(Wrappers.lambdaQuery(Site.class).eq(Site::getId, siteId));
|
|
|
return Optional.ofNullable(site).map(st -> BeanMapperUtils.map(site,SiteVO.class)).orElseThrow(() -> new BusinessException("站点信息不存在"));
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ public SiteVO enhanceSite(Site site,Integer userId){
|
|
|
+ SiteVO siteVo = BeanMapperUtils.map(site, SiteVO.class);
|
|
|
+ siteVo.setDeviceCount(deviceMapper.selectCount(userId,siteVo.getId(),null,null,null,null));
|
|
|
+ int deviceCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.DEVICE.getValue());
|
|
|
+ int offLineCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.OFFLINE.getValue());
|
|
|
+ int faultCount = baseMapper.selectCount(userId,siteVo.getId(),DeviceStatusCode.FAULT.getValue());
|
|
|
+ siteVo.setAlarmPowerCount(deviceCount);
|
|
|
+ if (deviceCount > 0){
|
|
|
+ siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
|
|
|
+ }else if (offLineCount > 0){
|
|
|
+ siteVo.setStatus(DeviceStatusCode.OFFLINE.getDescribe());
|
|
|
+ }else if (faultCount > 0){
|
|
|
+ siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
|
|
|
+ }else {
|
|
|
+ siteVo.setStatus(DeviceStatusCode.NORMAL.getDescribe());
|
|
|
+ }
|
|
|
+ return siteVo;
|
|
|
+ }
|
|
|
}
|