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