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