diff --git a/common-lib/src/main/java/com/mortals/xhx/feign/site/ISiteFeign.java b/common-lib/src/main/java/com/mortals/xhx/feign/site/ISiteFeign.java index b71126fb5d0aea5607f2abc2b318f4a305416393..499bb6cac6b581d5dbaef4de027dfc68fa4f71d5 100644 --- a/common-lib/src/main/java/com/mortals/xhx/feign/site/ISiteFeign.java +++ b/common-lib/src/main/java/com/mortals/xhx/feign/site/ISiteFeign.java @@ -79,6 +79,17 @@ public interface ISiteFeign extends IFeign { Rest<List<SitePdu>> getFlatSitesBySiteId(@RequestBody SitePdu sitePdu); + /** + * 鏌ヨ绔欑偣鍙婂瓙绔欑偣 + * + * @param sitePdu + * @return + */ + @GetMapping(value = "/site/getFlatSitesByAreaIds") + Rest<List<SitePdu>> getFlatSitesByAreaIds(@RequestBody SitePdu sitePdu); + + + } @@ -118,6 +129,11 @@ class SiteFeignFallbackFactory implements FallbackFactory<ISiteFeign> { public Rest<List<SitePdu>> getFlatSitesBySiteId(SitePdu sitePdu) { return Rest.fail("鏆傛椂鏃犳硶鑾峰彇绔欑偣瀛愮珯鐐癸紝璇风◢鍚庡啀璇�!"); } + + @Override + public Rest<List<SitePdu>> getFlatSitesByAreaIds(SitePdu sitePdu) { + return Rest.fail("鏆傛椂鏃犳硶鑾峰彇绔欑偣瀛愮珯鐐癸紝璇风◢鍚庡啀璇�!"); + } }; } } diff --git a/device-manager-ui/admin/src/views/sitestat/list.vue b/device-manager-ui/admin/src/views/sitestat/list.vue index d31629b29e09804e6c4d10d0bcc0b6e724820016..72edb81383007bf0e173caae7cb4043270aa8905 100644 --- a/device-manager-ui/admin/src/views/sitestat/list.vue +++ b/device-manager-ui/admin/src/views/sitestat/list.vue @@ -149,9 +149,13 @@ export default { this.query = { siteId: node.id }; } + this.getData(); + }else if(node.type==='area'){ + this.query = { areaCode: node.areaCode }; + this.getData(); } - }, + } }, data() { return { diff --git a/device-manager/src/main/java/com/mortals/xhx/module/sitestat/model/vo/SitestatVo.java b/device-manager/src/main/java/com/mortals/xhx/module/sitestat/model/vo/SitestatVo.java index 784a5c5ef38d9afbae8ca1c28cf92ad58499a8e9..767df7d13724d3b841af4933219f70c82c6915e6 100644 --- a/device-manager/src/main/java/com/mortals/xhx/module/sitestat/model/vo/SitestatVo.java +++ b/device-manager/src/main/java/com/mortals/xhx/module/sitestat/model/vo/SitestatVo.java @@ -1,10 +1,8 @@ package com.mortals.xhx.module.sitestat.model.vo; import com.mortals.framework.model.BaseEntityLong; -import com.mortals.xhx.module.sitestat.model.SitestatEntity; import lombok.Data; -import java.util.ArrayList; import java.util.List; /** @@ -30,4 +28,7 @@ public class SitestatVo extends BaseEntityLong { private String leadingOfficial; private String leadingOfficialTelephone; + + private String areaCode; + } \ No newline at end of file diff --git a/device-manager/src/main/java/com/mortals/xhx/module/sitestat/service/impl/SitestatServiceImpl.java b/device-manager/src/main/java/com/mortals/xhx/module/sitestat/service/impl/SitestatServiceImpl.java index 2cdc95f6901b301916e8b480a14ed891cff88442..932dc8c8689ecdf6a19c5e5039fc09d923c7de77 100644 --- a/device-manager/src/main/java/com/mortals/xhx/module/sitestat/service/impl/SitestatServiceImpl.java +++ b/device-manager/src/main/java/com/mortals/xhx/module/sitestat/service/impl/SitestatServiceImpl.java @@ -7,31 +7,28 @@ import com.mortals.framework.exception.AppException; import com.mortals.framework.model.Context; import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.Result; -import com.mortals.framework.service.IAuthTokenService; +import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.xhx.common.code.DeviceStatusEnum; import com.mortals.xhx.common.code.PlatformTypeEnum; import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.key.ErrorCode; import com.mortals.xhx.common.pdu.site.SitePdu; -import com.mortals.xhx.common.pdu.user.UserPdu; import com.mortals.xhx.common.utils.MemoryPagination; import com.mortals.xhx.feign.site.ISiteFeign; -import com.mortals.xhx.feign.user.IUserFeign; import com.mortals.xhx.module.device.model.DeviceEntity; import com.mortals.xhx.module.device.model.DeviceQuery; import com.mortals.xhx.module.device.service.DeviceService; import com.mortals.xhx.module.site.model.SiteQuery; import com.mortals.xhx.module.site.model.SiteTreeSelect; import com.mortals.xhx.module.site.service.SiteService; +import com.mortals.xhx.module.sitestat.dao.SitestatDao; +import com.mortals.xhx.module.sitestat.model.SitestatEntity; import com.mortals.xhx.module.sitestat.model.SitestatQuery; +import com.mortals.xhx.module.sitestat.service.SitestatService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; -import com.mortals.xhx.module.sitestat.dao.SitestatDao; -import com.mortals.xhx.module.sitestat.model.SitestatEntity; -import com.mortals.xhx.module.sitestat.service.SitestatService; import org.springframework.util.ObjectUtils; import java.util.*; @@ -73,6 +70,9 @@ public class SitestatServiceImpl extends AbstractCRUDServiceImpl<SitestatDao, Si public Result<SitestatEntity> find(SitestatEntity entity, PageInfo pageInfo, Context context) throws AppException { Result<SitestatEntity> res = new Result<>(); //鏍规嵁绔欑偣鏌ヨ鎵€浠ョ珯鐐瑰瓙闆嗗垪琛� + Result<SitestatEntity> sitestatsAreaResult = getSitestatEntityResultByArea(entity, pageInfo,context, res); + if (sitestatsAreaResult != null) return sitestatsAreaResult; + Result<SitestatEntity> sitestatsResult = getSitestatsResult(entity, pageInfo, res); if (sitestatsResult != null) return sitestatsResult; @@ -98,7 +98,7 @@ public class SitestatServiceImpl extends AbstractCRUDServiceImpl<SitestatDao, Si SitePdu sitePdu = new SitePdu(); sitePdu.setId(entity.getSiteId()); Rest<List<SitePdu>> result = siteFeign.getFlatSitesBySiteId(sitePdu); - log.info("siteList:{}",JSON.toJSONString(result)); + // log.info("siteList:{}",JSON.toJSONString(result)); if (result.getCode() == YesNoEnum.YES.getValue()) { //鏍规嵁杩斿洖鐨刬d 绛涢€夊垪琛� Map<Long, SitestatEntity> collectMap = this.find(new SitestatEntity(), context).stream().collect(Collectors.toMap(x->x.getSiteId(),y->y,(o,n)->n)); @@ -106,7 +106,7 @@ public class SitestatServiceImpl extends AbstractCRUDServiceImpl<SitestatDao, Si if (!ObjectUtils.isEmpty(entity.getSiteName())) { list = MemoryPagination.search(entity.getSiteName(), list); } - log.info("siteStatList:{}",JSON.toJSONString(list)); + // log.info("siteStatList:{}",JSON.toJSONString(list)); pageInfo.setTotalResult(list.size()); List<SitestatEntity> siteStatList = MemoryPagination.pagination(list, pageInfo.getCurrPage(), pageInfo.getPrePageResult()); res.setList(siteStatList); @@ -180,6 +180,45 @@ public class SitestatServiceImpl extends AbstractCRUDServiceImpl<SitestatDao, Si return res; } + + private Result<SitestatEntity> getSitestatEntityResultByArea(SitestatEntity entity, PageInfo pageInfo, Context context, Result<SitestatEntity> res) { + if (ObjectUtils.isEmpty(entity.getAreaCode())) return null; + if (platFormType.equalsIgnoreCase(PlatformTypeEnum.STANDALONE.getValue())) { + //鏍规嵁杩斿洖鐨刬d 绛涢€夊垪琛� todo + Map<Long, SitestatEntity> collectMap = this.find(new SitestatEntity(), context).stream().collect(Collectors.toMap(x->x.getSiteId(),y->y,(o,n)->n)); + List<SitestatEntity> list = this.siteService.find(new SiteQuery().id(entity.getSiteId())).stream().filter(f -> collectMap.containsKey(f.getId())).map(m -> collectMap.get(m.getId())).collect(Collectors.toList()); + if (!ObjectUtils.isEmpty(entity.getSiteName())) { + list = MemoryPagination.search(entity.getSiteName(), list); + } + pageInfo.setTotalResult(list.size()); + List<SitestatEntity> siteStatList = MemoryPagination.pagination(list, pageInfo.getCurrPage(), pageInfo.getPrePageResult()); + res.setList(siteStatList); + res.setPageInfo(pageInfo); + } else { + SitePdu sitePdu = new SitePdu(); + sitePdu.setAreaCodeList(Arrays.asList(entity.getAreaCode())); + Rest<List<SitePdu>> result = siteFeign.getFlatSitesBySiteId(sitePdu); + // log.info("siteList:{}",JSON.toJSONString(result)); + if (result.getCode() == YesNoEnum.YES.getValue()) { + //鏍规嵁杩斿洖鐨刬d 绛涢€夊垪琛� + Map<Long, SitestatEntity> collectMap = this.find(new SitestatEntity(), context).stream().collect(Collectors.toMap(x->x.getSiteId(),y->y,(o,n)->n)); + List<SitestatEntity> list = result.getData().stream().filter(f -> collectMap.containsKey(f.getId())).map(m -> collectMap.get(m.getId())).collect(Collectors.toList()); + if (!ObjectUtils.isEmpty(entity.getSiteName())) { + list = MemoryPagination.search(entity.getSiteName(), list); + } + // log.info("siteStatList:{}",JSON.toJSONString(list)); + pageInfo.setTotalResult(list.size()); + List<SitestatEntity> siteStatList = MemoryPagination.pagination(list, pageInfo.getCurrPage(), pageInfo.getPrePageResult()); + res.setList(siteStatList); + res.setPageInfo(pageInfo); + } else { + log.info("error resp:{}", JSON.toJSONString(result)); + } + } + + return res; + } + @Override public String getSiteTree(Context context) { if (platFormType.equalsIgnoreCase(PlatformTypeEnum.CLOUD.getValue())) {