| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -19,12 +19,12 @@ package com.epmet.service.impl; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import cn.hutool.core.bean.BeanUtil; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import cn.hutool.core.collection.CollUtil; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.alibaba.fastjson.JSON; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.bean.ResiExportBaseInfoData; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.tools.constant.*; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.tools.distributedlock.DistributedLock; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.tools.dto.form.DictListFormDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.tools.dto.result.DictListResultDTO; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -60,7 +60,10 @@ import com.epmet.dto.result.demand.IcResiDemandDictDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dto.result.demand.OptionDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.entity.*; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.excel.support.ExportResiUserItemDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.feign.*; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.feign.EpmetAdminOpenFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.feign.EpmetHeartOpenFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.feign.GovOrgOpenFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.feign.OperCustomizeOpenFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.service.*; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.github.pagehelper.Page; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -109,8 +112,6 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Autowired | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private EpmetHeartOpenFeignClient heartOpenFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Autowired | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Autowired | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private IcResiUserAttachmentService icResiUserAttachmentService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Autowired | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private IcResiUserImportServiceImpl icResiUserImportService; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -121,8 +122,6 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Autowired | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private EpmetAdminOpenFeignClient epmetAdminOpenFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Autowired | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private GovOrgFeignClient govOrgFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Autowired | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private IcResiUserDao icResiUserDao; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Autowired | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private IcUserChangeRecordService icUserChangeRecordService; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -146,8 +145,6 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private EpmetHeartOpenFeignClient epmetHeartOpenFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Resource | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private UserBaseInfoDao userBaseInfoDao; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Autowired | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private DistributedLock distributedLock; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private QueryWrapper<IcResiUserEntity> getWrapper(Map<String, Object> params) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        String id = (String) params.get(FieldConstant.ID_HUMP); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -2583,37 +2580,27 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Override | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    public void updateIcHouseResiNumber(String customerId) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        String threadKey = RedisKeys.updateIcHouseResiNumberThread(customerId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /*RLock lock = distributedLock.getLock(threadKey); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (lock!= null && lock.isLocked()){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Future<Integer> o = (Future<Integer>) redisUtils.get(threadKey); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (o != null){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                //如果是自己的 则取消就行了
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                //o.cancel(true);
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                log.info("updateIcHouseResiNumber 任务取消"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }*/ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Future submit = executorService.submit(() -> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int pageNo = 1; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int pageSize = NumConstant.TEN_THOUSAND; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Page<HouseIcResiUserCountResultDTO> houseReisCountListPage = null; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Page<Map<String, Object>> houseReisCountListPage = null; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String key = RedisKeys.getUpdateHouseResiNumer(customerId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            redisUtils.delete(key); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            do { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                houseReisCountListPage = PageHelper.startPage(pageNo++, pageSize, false) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        .doSelectPage(() -> baseDao.getResiUserCountGroupHomeId(customerId)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                System.out.println(houseReisCountListPage.getResult().size()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                List<HouseIcResiUserCountResultDTO> result = houseReisCountListPage.getResult(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                for (HouseIcResiUserCountResultDTO o: result){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    redisUtils.leftPush(key,o); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                List<Map<String, Object>> result = houseReisCountListPage.getResult(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                Result<Integer> effectRowResult =  govOrgOpenFeignClient.updateIcHouseResiNumber(result); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					               if (effectRowResult == null || !effectRowResult.success()){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                   throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"调用org服务失败"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					               } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					               log.debug("updateIcHouseResiNumber org effectRowResult:{}",JSON.toJSONString(effectRowResult)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } while (houseReisCountListPage.getResult().size() == pageSize); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            log.info("updateIcHouseResiNumber 执行完毕"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //distributedLock.unLock(lock);
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        redisUtils.set(threadKey,submit); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /** | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |