Browse Source

经纬度

dev_shibei_match
zxc 4 years ago
parent
commit
f2778200ac
  1. 15
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java
  2. 27
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java

15
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;
}

27
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<CustomerAgencyEntity> 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<MapSonOrgResultDTO> 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<MapSonOrgResultDTO> 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);

Loading…
Cancel
Save