From 5b79da44760276b39067c7ff50f8ccd71928eecc Mon Sep 17 00:00:00 2001 From: yangqicheng Date: Tue, 2 Jul 2024 11:29:23 +0800 Subject: [PATCH] =?UTF-8?q?REQ-2633,=E6=B7=BB=E5=8A=A0=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=9F=A5=E8=AF=A2ThirdPartyUser=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../riven/client/feign/ThirdPartySyncApi.java | 10 ++++++++ .../riven/client/req/ThirdPartyUserReq.java | 24 +++++++++++++++++++ .../controller/ThirdPartySyncController.java | 7 ++++++ .../service/ThirdPartySyncManageService.java | 3 +++ .../impl/ThirdPartySyncManageServiceImpl.java | 16 +++++++++++++ 5 files changed, 60 insertions(+) create mode 100644 riven-api/src/main/java/cn/axzo/riven/client/req/ThirdPartyUserReq.java diff --git a/riven-api/src/main/java/cn/axzo/riven/client/feign/ThirdPartySyncApi.java b/riven-api/src/main/java/cn/axzo/riven/client/feign/ThirdPartySyncApi.java index 7c3f0fd..401ffd5 100644 --- a/riven-api/src/main/java/cn/axzo/riven/client/feign/ThirdPartySyncApi.java +++ b/riven-api/src/main/java/cn/axzo/riven/client/feign/ThirdPartySyncApi.java @@ -4,6 +4,7 @@ import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.riven.client.domain.SyncInvokeReq; import cn.axzo.riven.client.domain.ThirdPartyDeptDTO; import cn.axzo.riven.client.domain.ThirdPartyUserDTO; +import cn.axzo.riven.client.req.ThirdPartyUserReq; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -40,4 +41,13 @@ public interface ThirdPartySyncApi { */ @GetMapping("api/sync/getUsersByPhone/{phone}") ApiResult> getUserInfosByPhone(@PathVariable String phone); + + /** + * 根据参数查询用户信息 + * + * @param req 请求参数 + * @return 三方信息列表 + */ + @PostMapping("api/sync/getThirdPartyUsers") + ApiResult> getUserInfos(@RequestBody ThirdPartyUserReq req); } diff --git a/riven-api/src/main/java/cn/axzo/riven/client/req/ThirdPartyUserReq.java b/riven-api/src/main/java/cn/axzo/riven/client/req/ThirdPartyUserReq.java new file mode 100644 index 0000000..083b91e --- /dev/null +++ b/riven-api/src/main/java/cn/axzo/riven/client/req/ThirdPartyUserReq.java @@ -0,0 +1,24 @@ +package cn.axzo.riven.client.req; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ThirdPartyUserReq { + + + /** + * 三方平台UID + */ + private String unionId; + + /** + * 三方用户ID + */ + private String userId; +} diff --git a/riven-server/src/main/java/cn/axzo/riven/controller/ThirdPartySyncController.java b/riven-server/src/main/java/cn/axzo/riven/controller/ThirdPartySyncController.java index 51a84ea..e83aab8 100644 --- a/riven-server/src/main/java/cn/axzo/riven/controller/ThirdPartySyncController.java +++ b/riven-server/src/main/java/cn/axzo/riven/controller/ThirdPartySyncController.java @@ -5,6 +5,7 @@ import cn.axzo.riven.client.domain.SyncInvokeReq; import cn.axzo.riven.client.domain.ThirdPartyDeptDTO; import cn.axzo.riven.client.domain.ThirdPartyUserDTO; import cn.axzo.riven.client.feign.ThirdPartySyncApi; +import cn.axzo.riven.client.req.ThirdPartyUserReq; import cn.axzo.riven.service.ThirdPartySyncManageService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -46,4 +47,10 @@ public class ThirdPartySyncController implements ThirdPartySyncApi { public ApiResult> getUserInfosByPhone(String phone) { return ApiResult.ok(thirdPartySyncManageService.getUserInfosByPhone(phone)); } + + @Override + public ApiResult> getUserInfos(ThirdPartyUserReq req) { + return ApiResult.ok(thirdPartySyncManageService.getUserInfos(req)); + } + } diff --git a/riven-server/src/main/java/cn/axzo/riven/service/ThirdPartySyncManageService.java b/riven-server/src/main/java/cn/axzo/riven/service/ThirdPartySyncManageService.java index bcabe3d..66a4dca 100644 --- a/riven-server/src/main/java/cn/axzo/riven/service/ThirdPartySyncManageService.java +++ b/riven-server/src/main/java/cn/axzo/riven/service/ThirdPartySyncManageService.java @@ -3,6 +3,7 @@ package cn.axzo.riven.service; import cn.axzo.riven.client.domain.SyncInvokeReq; import cn.axzo.riven.client.domain.ThirdPartyDeptDTO; import cn.axzo.riven.client.domain.ThirdPartyUserDTO; +import cn.axzo.riven.client.req.ThirdPartyUserReq; import java.util.List; @@ -21,4 +22,6 @@ public interface ThirdPartySyncManageService { ThirdPartyUserDTO getUserById(Long syncDataId); List getUserInfosByPhone(String phone); + + List getUserInfos(ThirdPartyUserReq req); } diff --git a/riven-server/src/main/java/cn/axzo/riven/service/impl/ThirdPartySyncManageServiceImpl.java b/riven-server/src/main/java/cn/axzo/riven/service/impl/ThirdPartySyncManageServiceImpl.java index 0136bf0..8304d4f 100644 --- a/riven-server/src/main/java/cn/axzo/riven/service/impl/ThirdPartySyncManageServiceImpl.java +++ b/riven-server/src/main/java/cn/axzo/riven/service/impl/ThirdPartySyncManageServiceImpl.java @@ -7,6 +7,7 @@ import cn.axzo.pokonyan.util.TraceSupplier; import cn.axzo.riven.client.domain.SyncInvokeReq; import cn.axzo.riven.client.domain.ThirdPartyDeptDTO; import cn.axzo.riven.client.domain.ThirdPartyUserDTO; +import cn.axzo.riven.client.req.ThirdPartyUserReq; import cn.axzo.riven.common.util.Throws; import cn.axzo.riven.model.ThirdPartySyncContext; import cn.axzo.riven.repository.entity.ThirdPartyCredential; @@ -22,6 +23,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -137,4 +139,18 @@ public class ThirdPartySyncManageServiceImpl implements ThirdPartySyncManageServ } return userList.stream().map(u -> BeanMapper.copyBean(u, ThirdPartyUserDTO.class)).collect(Collectors.toList()); } + + @Override + public List getUserInfos(ThirdPartyUserReq req) { + if (req == null) { + return new ArrayList<>(0); + } + List userList = thirdPartyUserDao.list(new LambdaQueryWrapper() + .eq(StringUtils.isNoneBlank(req.getUnionId()), ThirdPartyUser::getUnionId, req.getUnionId()) + .eq(StringUtils.isNoneBlank(req.getUserId()), ThirdPartyUser::getUserId, req.getUserId())); + if (userList == null) { + return new ArrayList<>(0); + } + return userList.stream().map(u -> BeanMapper.copyBean(u, ThirdPartyUserDTO.class)).collect(Collectors.toList()); + } }