diff --git a/rc-service/rc-inner-api/wallet-inner/wallet-inner-api/src/main/java/com/red/circle/wallet/inner/endpoint/freight/api/FreightBalanceRunningWaterClientApi.java b/rc-service/rc-inner-api/wallet-inner/wallet-inner-api/src/main/java/com/red/circle/wallet/inner/endpoint/freight/api/FreightBalanceRunningWaterClientApi.java index 740819b0..8a408caa 100644 --- a/rc-service/rc-inner-api/wallet-inner/wallet-inner-api/src/main/java/com/red/circle/wallet/inner/endpoint/freight/api/FreightBalanceRunningWaterClientApi.java +++ b/rc-service/rc-inner-api/wallet-inner/wallet-inner-api/src/main/java/com/red/circle/wallet/inner/endpoint/freight/api/FreightBalanceRunningWaterClientApi.java @@ -29,6 +29,8 @@ public interface FreightBalanceRunningWaterClientApi { @GetMapping("/flowByUserId") ResultResponse> flowByUserId( @RequestParam("userId") Long userId, + @RequestParam(value = "type", required = false) Integer type, + @RequestParam(value = "searchId", required = false) Long searchId, @RequestParam(value = "lastId",required = false) Long lastId ); diff --git a/rc-service/rc-service-wallet/wallet-infrastructure/src/main/java/com/red/circle/wallet/infra/database/rds/service/freight/FreightBalanceRunningWaterService.java b/rc-service/rc-service-wallet/wallet-infrastructure/src/main/java/com/red/circle/wallet/infra/database/rds/service/freight/FreightBalanceRunningWaterService.java index 4d9bde4d..5c760d53 100644 --- a/rc-service/rc-service-wallet/wallet-infrastructure/src/main/java/com/red/circle/wallet/infra/database/rds/service/freight/FreightBalanceRunningWaterService.java +++ b/rc-service/rc-service-wallet/wallet-infrastructure/src/main/java/com/red/circle/wallet/infra/database/rds/service/freight/FreightBalanceRunningWaterService.java @@ -27,7 +27,7 @@ public interface FreightBalanceRunningWaterService extends BaseService flowByUserId(Long userId, Long lastId); + List flowByUserId(Long userId, Long acceptUserId, Integer type, Long lastId); /** diff --git a/rc-service/rc-service-wallet/wallet-infrastructure/src/main/java/com/red/circle/wallet/infra/database/rds/service/freight/impl/FreightBalanceRunningWaterServiceImpl.java b/rc-service/rc-service-wallet/wallet-infrastructure/src/main/java/com/red/circle/wallet/infra/database/rds/service/freight/impl/FreightBalanceRunningWaterServiceImpl.java index a38595d0..329ebd95 100644 --- a/rc-service/rc-service-wallet/wallet-infrastructure/src/main/java/com/red/circle/wallet/infra/database/rds/service/freight/impl/FreightBalanceRunningWaterServiceImpl.java +++ b/rc-service/rc-service-wallet/wallet-infrastructure/src/main/java/com/red/circle/wallet/infra/database/rds/service/freight/impl/FreightBalanceRunningWaterServiceImpl.java @@ -37,13 +37,18 @@ public class FreightBalanceRunningWaterServiceImpl extends FreightBalanceRunningWaterService { @Override - public List flowByUserId(Long userId, Long lastId) { + public List flowByUserId(Long userId, Long acceptUserId, Integer type, Long lastId) { return query() - .and(wrapper -> wrapper + .and(Objects.isNull(acceptUserId), wrapper -> wrapper .eq(FreightBalanceRunningWater::getUserId, userId) .or() .eq(FreightBalanceRunningWater::getAcceptUserId, userId) ) + .and(Objects.nonNull(acceptUserId), e -> e + .eq(FreightBalanceRunningWater::getUserId, userId) + .or() + .eq(FreightBalanceRunningWater::getAcceptUserId, acceptUserId)) + .and(Objects.nonNull(type), e -> e.eq(FreightBalanceRunningWater::getType, type)) .lt(Objects.nonNull(lastId), FreightBalanceRunningWater::getId, lastId) .orderByDesc(FreightBalanceRunningWater::getId) .last(PageConstant.DEFAULT_LIMIT) diff --git a/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/endpoint/freight/FreightBalanceRunningWaterClientEndpoint.java b/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/endpoint/freight/FreightBalanceRunningWaterClientEndpoint.java index 61bbc59f..96231fdd 100644 --- a/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/endpoint/freight/FreightBalanceRunningWaterClientEndpoint.java +++ b/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/endpoint/freight/FreightBalanceRunningWaterClientEndpoint.java @@ -28,10 +28,10 @@ public class FreightBalanceRunningWaterClientEndpoint implements private final FreightBalanceRunningWaterClientService freightBalanceRunningWaterClientService; @Override - public ResultResponse> flowByUserId(Long userId, + public ResultResponse> flowByUserId(Long userId, Integer type, Long searchId, Long lastId) { return ResultResponse.success( - freightBalanceRunningWaterClientService.flowByUserId(userId, lastId) + freightBalanceRunningWaterClientService.flowByUserId(userId, searchId, type, lastId) ); } diff --git a/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/service/freight/FreightBalanceRunningWaterClientService.java b/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/service/freight/FreightBalanceRunningWaterClientService.java index 35b1cd79..17f7ba1d 100644 --- a/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/service/freight/FreightBalanceRunningWaterClientService.java +++ b/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/service/freight/FreightBalanceRunningWaterClientService.java @@ -18,7 +18,7 @@ public interface FreightBalanceRunningWaterClientService { * @param lastId 最后一条记录id * @return ignore */ - List flowByUserId(Long userId, Long lastId); + List flowByUserId(Long userId, Long searchId, Integer type, Long lastId); List listByIds(Set ids); diff --git a/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/service/freight/impl/FreightBalanceRunningWaterClientServiceImpl.java b/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/service/freight/impl/FreightBalanceRunningWaterClientServiceImpl.java index dcb46f2d..a88a6594 100644 --- a/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/service/freight/impl/FreightBalanceRunningWaterClientServiceImpl.java +++ b/rc-service/rc-service-wallet/wallet-inner-endpoint/src/main/java/com/red/circle/wallet/inner/service/freight/impl/FreightBalanceRunningWaterClientServiceImpl.java @@ -34,8 +34,10 @@ public class FreightBalanceRunningWaterClientServiceImpl implements private final UserProfileClient userProfileClient; @Override - public List flowByUserId(Long userId, Long lastId) { - List runningWaters = freightBalanceRunningWaterService.flowByUserId(userId, lastId); + public List flowByUserId(Long userId, Long searchId, Integer type, Long lastId) { + Long acceptUserId = getByUserId(searchId); + + List runningWaters = freightBalanceRunningWaterService.flowByUserId(userId, acceptUserId, type, lastId); List runningWaterDTO = freightBalanceRunningWaterInnerConvertor.toListFreightBalanceRunningWaterDTO(runningWaters); Set acceptUserIdList = runningWaterDTO.stream().map(FreightBalanceRunningWaterDTO::getAcceptUserId).collect(Collectors.toSet()); @@ -50,7 +52,19 @@ public class FreightBalanceRunningWaterClientServiceImpl implements return runningWaterDTO; } - public List listByIds(Set ids) { + private Long getByUserId(Long searchId) { + if (searchId == null || searchId <= 0) { + return null; + } + + List body = userProfileClient.getByAccount(String.valueOf(searchId)).getBody(); + if (body != null) { + return body.get(0).getId(); + } + return userProfileClient.getByUserId(searchId).getBody().getId(); + } + + public List listByIds(Set ids) { if (ids.isEmpty()) { return Collections.emptyList(); }