|
|
@ -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); |
|
|
|