diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java index 12f5488ac4..e7072c3cdb 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java @@ -142,4 +142,19 @@ public class CustomerAgencyDTO implements Serializable { * 社区 */ private String community; + + /** + * 坐标 + */ + private String coordinates; + + /** + * 中心位置经度 + */ + private String longitude; + + /** + * 中心位置纬度 + */ + private String latitude; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 48dfc5da3f..4fc57c3ad9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -18,6 +18,7 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.rocketmq.messages.OrgOrStaffMQMsg; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; @@ -568,6 +569,9 @@ public class AgencyServiceImpl implements AgencyService { @Override public MapOrgResultDTO mapOrg(MapOrgFormDTO formDTO, TokenDto tokenDto) { MapOrgResultDTO result = new MapOrgResultDTO(); + LambdaQueryWrapper qw = new LambdaQueryWrapper(); + qw.eq(CustomerAgencyEntity::getPid, NumConstant.ZERO_STR).eq(CustomerAgencyEntity::getDelFlag, NumConstant.ZERO_STR); + CustomerAgencyEntity customerAgencyEntity = customerAgencyDao.selectOne(qw); if (StringUtils.isBlank(formDTO.getOrgId())){ CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); if (null == staffInfo){ @@ -581,14 +585,15 @@ public class AgencyServiceImpl implements AgencyService { result = ConvertUtils.sourceToTarget(entity,MapOrgResultDTO.class); result.setName(entity.getOrganizationName()); result.setLevel(formDTO.getLevel()); - result.setLatitude(StringUtils.isBlank(entity.getLatitude()) ? null : new BigDecimal(entity.getLatitude())); - result.setLongitude(StringUtils.isBlank(entity.getLongitude()) ? null : new BigDecimal(entity.getLongitude())); + result.setLatitude(StringUtils.isBlank(entity.getLatitude()) ? new BigDecimal(customerAgencyEntity.getLatitude()) : new BigDecimal(entity.getLatitude())); + result.setLongitude(StringUtils.isBlank(entity.getLongitude()) ? new BigDecimal(customerAgencyEntity.getLongitude()) : new BigDecimal(entity.getLongitude())); if (entity.getLevel().equals(OrgInfoConstant.COMMUNITY)){ List son = customerAgencyDao.selectSonOrg(formDTO.getOrgId(), OrgInfoConstant.GRID); if (CollectionUtils.isNotEmpty(son)){ + MapOrgResultDTO finalResult = result; son.forEach(s -> { - s.setLatitude(StringUtils.isBlank(s.getLatitudeOrigin()) ? null : new BigDecimal(s.getLatitudeOrigin())); - s.setLongitude(StringUtils.isBlank(s.getLongitudeOrigin()) ? null : new BigDecimal(s.getLongitudeOrigin())); + s.setLatitude(StringUtils.isBlank(s.getLatitudeOrigin()) ? finalResult.getLatitude() : new BigDecimal(s.getLatitudeOrigin())); + s.setLongitude(StringUtils.isBlank(s.getLongitudeOrigin()) ? finalResult.getLongitude() : new BigDecimal(s.getLongitudeOrigin())); }); } result.setChildren(CollectionUtils.isEmpty(son) ? new ArrayList<>() : son); @@ -604,9 +609,10 @@ public class AgencyServiceImpl implements AgencyService { dtoList.addAll(directlySub); } if (CollectionUtils.isNotEmpty(dtoList)){ + MapOrgResultDTO finalResult1 = result; dtoList.forEach(d -> { - d.setLatitude(StringUtils.isBlank(d.getLatitudeOrigin()) ? null : new BigDecimal(d.getLatitudeOrigin())); - d.setLongitude(StringUtils.isBlank(d.getLongitudeOrigin()) ? null : new BigDecimal(d.getLongitudeOrigin())); + d.setLatitude(StringUtils.isBlank(d.getLatitudeOrigin()) ? finalResult1.getLatitude() : new BigDecimal(d.getLatitudeOrigin())); + d.setLongitude(StringUtils.isBlank(d.getLongitudeOrigin()) ? finalResult1.getLongitude() : new BigDecimal(d.getLongitudeOrigin())); }); } result.setChildren(dtoList); @@ -616,13 +622,14 @@ public class AgencyServiceImpl implements AgencyService { result = ConvertUtils.sourceToTarget(entity,MapOrgResultDTO.class); result.setName(entity.getGridName()); result.setLevel(formDTO.getLevel()); - result.setLatitude(StringUtils.isBlank(entity.getLatitude()) ? null : new BigDecimal(entity.getLatitude())); - result.setLongitude(StringUtils.isBlank(entity.getLongitude()) ? null : new BigDecimal(entity.getLongitude())); + result.setLatitude(StringUtils.isBlank(entity.getLatitude()) ? new BigDecimal(customerAgencyEntity.getLatitude()) : new BigDecimal(entity.getLatitude())); + result.setLongitude(StringUtils.isBlank(entity.getLongitude()) ? new BigDecimal(customerAgencyEntity.getLongitude()) : new BigDecimal(entity.getLongitude())); List son = customerAgencyDao.selectSonOrg(formDTO.getOrgId(), OrgInfoConstant.NEIGHBOR_HOOD); if (CollectionUtils.isNotEmpty(son)){ + MapOrgResultDTO finalResult2 = result; son.forEach(s -> { - s.setLatitude(StringUtils.isBlank(s.getLatitudeOrigin()) ? null : new BigDecimal(s.getLatitudeOrigin())); - s.setLongitude(StringUtils.isBlank(s.getLongitudeOrigin()) ? null : new BigDecimal(s.getLongitudeOrigin())); + s.setLatitude(StringUtils.isBlank(s.getLatitudeOrigin()) ? finalResult2.getLatitude() : new BigDecimal(s.getLatitudeOrigin())); + s.setLongitude(StringUtils.isBlank(s.getLongitudeOrigin()) ? finalResult2.getLongitude() : new BigDecimal(s.getLongitudeOrigin())); }); } result.setChildren(CollectionUtils.isEmpty(son) ? new ArrayList<>() : son);