| 
						
						
						
					 | 
					@ -1,7 +1,10 @@ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					package com.elink.esua.epdc.service.impl; | 
					 | 
					 | 
					package com.elink.esua.epdc.service.impl; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import cn.hutool.core.collection.CollUtil; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.elink.esua.epdc.common.token.dto.TokenDto; | 
					 | 
					 | 
					import com.elink.esua.epdc.common.token.dto.TokenDto; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.elink.esua.epdc.commons.tools.enums.BehaviorEnum; | 
					 | 
					 | 
					import com.elink.esua.epdc.commons.tools.enums.BehaviorEnum; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import com.elink.esua.epdc.commons.tools.enums.UserTagEnum; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.elink.esua.epdc.commons.tools.utils.Result; | 
					 | 
					 | 
					import com.elink.esua.epdc.commons.tools.utils.Result; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.elink.esua.epdc.dto.form.PointLogFormDTO; | 
					 | 
					 | 
					import com.elink.esua.epdc.dto.form.PointLogFormDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.elink.esua.epdc.dto.item.form.*; | 
					 | 
					 | 
					import com.elink.esua.epdc.dto.item.form.*; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -11,15 +14,20 @@ import com.elink.esua.epdc.dto.item.result.ItemHandleProgressResultDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.elink.esua.epdc.dto.item.result.ItemResultDTO; | 
					 | 
					 | 
					import com.elink.esua.epdc.dto.item.result.ItemResultDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.elink.esua.epdc.feign.ItemFeignClient; | 
					 | 
					 | 
					import com.elink.esua.epdc.feign.ItemFeignClient; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.elink.esua.epdc.feign.PointsFeignClient; | 
					 | 
					 | 
					import com.elink.esua.epdc.feign.PointsFeignClient; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import com.elink.esua.epdc.feign.UserFeignClient; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.elink.esua.epdc.service.ItemService; | 
					 | 
					 | 
					import com.elink.esua.epdc.service.ItemService; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import com.elink.esua.epdc.user.dto.epdc.form.EpdcUserMatchTagFormDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import io.seata.spring.annotation.GlobalTransactional; | 
					 | 
					 | 
					import io.seata.spring.annotation.GlobalTransactional; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Autowired; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import org.springframework.stereotype.Service; | 
					 | 
					 | 
					import org.springframework.stereotype.Service; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import java.util.List; | 
					 | 
					 | 
					import java.util.List; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import java.util.Optional; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import java.util.stream.Collectors; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					/** | 
					 | 
					 | 
					/** | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 * 项目模块 | 
					 | 
					 | 
					 * 项目模块 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					 * | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 * @Author LC | 
					 | 
					 | 
					 * @Author LC | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 * @Date 2019/9/9 16:34 | 
					 | 
					 | 
					 * @Date 2019/9/9 16:34 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 */ | 
					 | 
					 | 
					 */ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -32,13 +40,38 @@ public class ItemServiceImpl implements ItemService { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @Autowired | 
					 | 
					 | 
					    @Autowired | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    private PointsFeignClient pointFeignClient; | 
					 | 
					 | 
					    private PointsFeignClient pointFeignClient; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    @Autowired | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    private UserFeignClient userFeignClient; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @Override | 
					 | 
					 | 
					    @Override | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    public Result<List<ItemResultDTO>> listItems(TokenDto userDetail, ItemFormDTO formDto) { | 
					 | 
					 | 
					    public Result<List<ItemResultDTO>> listItems(TokenDto userDetail, ItemFormDTO formDto) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        if (null == userDetail) { | 
					 | 
					 | 
					        if (null == userDetail) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            return new Result<List<ItemResultDTO>>().error("获取用户信息失败"); | 
					 | 
					 | 
					            return new Result<List<ItemResultDTO>>().error("获取用户信息失败"); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        formDto.setDeptId(userDetail.getGridId()); | 
					 | 
					 | 
					        formDto.setDeptId(userDetail.getGridId()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        return itemFeignClient.listItems(formDto); | 
					 | 
					 | 
					        Result<List<ItemResultDTO>> listResult = itemFeignClient.listItems(formDto); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        Optional.of(listResult.getData()).ifPresent( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                itemList -> { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                    List<String> userIdList = itemList.stream().filter(item -> YesOrNoEnum.YES.value().equals(item.getPartyFlag())).map(ItemResultDTO::getUserId).distinct().collect(Collectors.toList()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                    if (CollUtil.isNotEmpty(userIdList)) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                        EpdcUserMatchTagFormDTO form = new EpdcUserMatchTagFormDTO(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                        form.setUserIdList(userIdList); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                        form.setUserTagValue(UserTagEnum.PARTY_STANDARD_BEARER.value()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                        Result<List<String>> filterByTagRes = userFeignClient.filterUserIdListByTag(form); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                        List<String> filter = filterByTagRes.getData(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                        if (filterByTagRes.success() && null != filter && CollUtil.isNotEmpty(filter)) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                            itemList.forEach( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    item -> { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        if (filter.contains(item.getUserId())) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                            item.setStandardBearerFlag(YesOrNoEnum.YES.value()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                                    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                            ); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        ); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        return listResult; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @Override | 
					 | 
					 | 
					    @Override | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |