diff --git a/ebike-common/src/main/java/com/cdzy/common/model/ResGPSDto.java b/ebike-common/src/main/java/com/cdzy/common/model/ResGPSDto.java index c7b7d626..9726ba90 100644 --- a/ebike-common/src/main/java/com/cdzy/common/model/ResGPSDto.java +++ b/ebike-common/src/main/java/com/cdzy/common/model/ResGPSDto.java @@ -89,5 +89,8 @@ public class ResGPSDto { */ private String chineseLocation; + /** + * ecuSn + */ private String ecuSn; } diff --git a/ebike-orders/src/main/java/com/cdzy/orders/model/dto/res/RspBikeDto.java b/ebike-orders/src/main/java/com/cdzy/orders/model/dto/res/RspBikeDto.java index 0f51797c..e84e6d9d 100644 --- a/ebike-orders/src/main/java/com/cdzy/orders/model/dto/res/RspBikeDto.java +++ b/ebike-orders/src/main/java/com/cdzy/orders/model/dto/res/RspBikeDto.java @@ -16,4 +16,13 @@ public class RspBikeDto { private Integer soc; private Double longitude; private Double latitude; + private String status = "正常"; + private Float mileage = 35.5F; + + public RspBikeDto(String ecuSn, Integer soc, Double longitude, Double latitude) { + this.ecuSn = ecuSn; + this.soc = soc; + this.longitude = longitude; + this.latitude = latitude; + } } diff --git a/ebike-orders/src/main/java/com/cdzy/orders/service/UserOrdersService.java b/ebike-orders/src/main/java/com/cdzy/orders/service/UserOrdersService.java index ad2c77c8..4bfa9f9c 100644 --- a/ebike-orders/src/main/java/com/cdzy/orders/service/UserOrdersService.java +++ b/ebike-orders/src/main/java/com/cdzy/orders/service/UserOrdersService.java @@ -91,4 +91,10 @@ public interface UserOrdersService extends IService { * @param orderId 订单ID */ void doneRefund(Long orderId); + + /** + * 车辆详情 + * @param ecuSn scusn + */ + List bikeInfo(String ecuSn); } diff --git a/ebike-orders/src/main/java/com/cdzy/orders/service/impl/UserOrdersServiceImpl.java b/ebike-orders/src/main/java/com/cdzy/orders/service/impl/UserOrdersServiceImpl.java index e7088dea..1f023d1b 100644 --- a/ebike-orders/src/main/java/com/cdzy/orders/service/impl/UserOrdersServiceImpl.java +++ b/ebike-orders/src/main/java/com/cdzy/orders/service/impl/UserOrdersServiceImpl.java @@ -134,6 +134,12 @@ public class UserOrdersServiceImpl extends ServiceImpl bikeList(ReqBikeDto bikeDto) { List nearbyMembers = redisUtil.findNearbyMembers(bikeDto.getLongitude(), bikeDto.getLatitude(), bikeDto.getRadius() == null ? 3.0 : bikeDto.getRadius()); + List list = nearbyMembers.stream().map(RedisPoint::getMember).toList(); + List objects = redisUtil.multiGet(list); return nearbyMembers.stream().filter(Objects::nonNull).map(redisPoint -> { - String jsonString = JSONObject.toJSONString(redisUtil.get(redisPoint.getMember())); - ResGPSDto resGpsDto = JSONObject.parseObject(jsonString, ResGPSDto.class); - return new RspBikeDto(redisPoint.getMember(), resGpsDto.getSoc(), redisPoint.getPoint().getX(), redisPoint.getPoint().getY()); - }).toList(); + for (Object object : objects) { + String jsonString = JSONObject.toJSONString(object); + ResGPSDto resGpsDto = JSONObject.parseObject(jsonString, ResGPSDto.class); + if (resGpsDto.getEcuSn().equals(redisPoint.getMember())){ + return new RspBikeDto(redisPoint.getMember(), resGpsDto.getSoc(), redisPoint.getPoint().getX(), redisPoint.getPoint().getY()); + } + } + return null; + }).filter(Objects::nonNull).toList(); } @Override @@ -295,6 +308,11 @@ public class UserOrdersServiceImpl extends ServiceImpl bikeInfo(String ecuSn) { + return List.of(); + } + @Override public void payment(ResFeignOrderPaymentDto paymentDto) { UserOrders userOrders = this.mapper.selectOneById(paymentDto.getOrderId()); diff --git a/ebike-orders/src/main/java/com/cdzy/orders/uitls/RedisUtil.java b/ebike-orders/src/main/java/com/cdzy/orders/uitls/RedisUtil.java index a25846ed..2f637dff 100644 --- a/ebike-orders/src/main/java/com/cdzy/orders/uitls/RedisUtil.java +++ b/ebike-orders/src/main/java/com/cdzy/orders/uitls/RedisUtil.java @@ -530,6 +530,15 @@ public class RedisUtil { return redisTemplate.opsForValue().get(key); } + /** + * 批量获取值 + * + * @param keyList 键 + */ + public List multiGet(List keyList) { + return redisTemplate.opsForValue().multiGet(keyList); + } + /** * 自增操作(增量=1) *