From 527fdf6e571b45f01079c4104055cc3e29b8a897 Mon Sep 17 00:00:00 2001 From: YUJT Date: Fri, 29 Apr 2022 13:48:46 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../esua/epdc/feign/UserFeignClient.java | 11 ++++++ .../fallback/UserFeignClientFallback.java | 5 +++ .../epdc/service/impl/ItemServiceImpl.java | 35 ++++++++++++++++++- .../epdc/dto/issue/result/IssueResultDTO.java | 4 +++ .../epdc/dto/item/result/ItemResultDTO.java | 5 +++ .../main/resources/mapper/item/ItemDao.xml | 2 ++ 6 files changed, 61 insertions(+), 1 deletion(-) diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java index b52cf8b06..420562b20 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java @@ -446,4 +446,15 @@ public interface UserFeignClient { */ @PostMapping("/app-user/epdc-app/user/StandarBearerApply/{userId}/{gridId}") Result StandarBearerApply(@PathVariable("userId") String userId, @PathVariable("gridId") Long gridId); + + /** + * 根据标签过滤用户 + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author LZN + * @date 2022/4/28 15:15 + */ + @PostMapping("/app-user/epdc-app/user/filteridlist/bytag") + Result> filterUserIdListByTag(@RequestBody EpdcUserMatchTagFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java index 871b49ada..e9813ca79 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java @@ -226,4 +226,9 @@ public class UserFeignClientFallback implements UserFeignClient { public Result StandarBearerApply(String userId, Long gridId) { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "standarBearerApply", userId, gridId); } + + @Override + public Result> filterUserIdListByTag(EpdcUserMatchTagFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "filterUserIdListByTag", formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java index 9ab11d393..c84282a86 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/ItemServiceImpl.java @@ -1,7 +1,10 @@ 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.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.dto.form.PointLogFormDTO; 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.feign.ItemFeignClient; 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.user.dto.epdc.form.EpdcUserMatchTagFormDTO; import io.seata.spring.annotation.GlobalTransactional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; /** * 项目模块 + * * @Author LC * @Date 2019/9/9 16:34 */ @@ -32,13 +40,38 @@ public class ItemServiceImpl implements ItemService { @Autowired private PointsFeignClient pointFeignClient; + @Autowired + private UserFeignClient userFeignClient; + @Override public Result> listItems(TokenDto userDetail, ItemFormDTO formDto) { if (null == userDetail) { return new Result>().error("获取用户信息失败"); } formDto.setDeptId(userDetail.getGridId()); - return itemFeignClient.listItems(formDto); + Result> listResult = itemFeignClient.listItems(formDto); + Optional.of(listResult.getData()).ifPresent( + itemList -> { + List 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> filterByTagRes = userFeignClient.filterUserIdListByTag(form); + List 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 diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueResultDTO.java index f8fb89c2c..b075a5f81 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueResultDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/result/IssueResultDTO.java @@ -38,6 +38,10 @@ public class IssueResultDTO implements Serializable { * 是否党员 0否;1是 */ private String partyFlag; + /** + * 是否亮旗党员 0否 1是 + */ + private String standardBearerFlag; /** * 赞数 */ diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemResultDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemResultDTO.java index 28db78cea..e2b783da3 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemResultDTO.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/result/ItemResultDTO.java @@ -23,6 +23,7 @@ public class ItemResultDTO implements Serializable { * 事件ID */ private String eventId; + private String userId; /** * 项目内容 */ @@ -39,6 +40,10 @@ public class ItemResultDTO implements Serializable { * 是否党员 0否;1是 */ private String partyFlag; + /** + * 是否亮旗党员 0否 1是 + */ + private String standardBearerFlag; /** * 赞数 */ diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml index 985133132..630ad41a7 100755 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml @@ -9,6 +9,7 @@ + @@ -32,6 +33,7 @@ SELECT item.ID, item.EVENT_ID, + item.USER_ID, item.ITEM_CONTENT, item.NICK_NAME, item.USER_FACE,