车辆信息
This commit is contained in:
parent
03e676af5b
commit
44c4525dbf
@ -89,5 +89,8 @@ public class ResGPSDto {
|
||||
*/
|
||||
private String chineseLocation;
|
||||
|
||||
/**
|
||||
* ecuSn
|
||||
*/
|
||||
private String ecuSn;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -91,4 +91,10 @@ public interface UserOrdersService extends IService<UserOrders> {
|
||||
* @param orderId 订单ID
|
||||
*/
|
||||
void doneRefund(Long orderId);
|
||||
|
||||
/**
|
||||
* 车辆详情
|
||||
* @param ecuSn scusn
|
||||
*/
|
||||
List<RspBikeDto> bikeInfo(String ecuSn);
|
||||
}
|
||||
|
||||
@ -134,6 +134,12 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, UserOrd
|
||||
throw new RuntimeException("获取车辆信息失败");
|
||||
}
|
||||
FeignEbikeBikeInfoDto bikeInfoDto = jsonResult.getData();
|
||||
// if (bikeInfoDto.getUsageStatus() == 1) {
|
||||
// throw new RuntimeException("车辆使用中");
|
||||
// }
|
||||
// if (bikeInfoDto.getUsageStatus() == 1) {
|
||||
// throw new RuntimeException("车辆故障,暂不可用");
|
||||
// }
|
||||
FeignEbikeEcuInfo ecuInfo = bikeInfoDto.getEbikeEcuInfo();
|
||||
String jsonString = JSONObject.toJSONString(redisUtil.get(ecuInfo.getEcuSn()));
|
||||
ResGPSDto resGpsDto = JSONObject.parseObject(jsonString, ResGPSDto.class);
|
||||
@ -190,11 +196,18 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, UserOrd
|
||||
@Override
|
||||
public List<RspBikeDto> bikeList(ReqBikeDto bikeDto) {
|
||||
List<RedisPoint> nearbyMembers = redisUtil.findNearbyMembers(bikeDto.getLongitude(), bikeDto.getLatitude(), bikeDto.getRadius() == null ? 3.0 : bikeDto.getRadius());
|
||||
List<String> list = nearbyMembers.stream().map(RedisPoint::getMember).toList();
|
||||
List<Object> objects = redisUtil.multiGet(list);
|
||||
return nearbyMembers.stream().filter(Objects::nonNull).map(redisPoint -> {
|
||||
String jsonString = JSONObject.toJSONString(redisUtil.get(redisPoint.getMember()));
|
||||
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());
|
||||
}).toList();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}).filter(Objects::nonNull).toList();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -295,6 +308,11 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, UserOrd
|
||||
this.mapper.update(userOrders);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RspBikeDto> bikeInfo(String ecuSn) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void payment(ResFeignOrderPaymentDto paymentDto) {
|
||||
UserOrders userOrders = this.mapper.selectOneById(paymentDto.getOrderId());
|
||||
|
||||
@ -530,6 +530,15 @@ public class RedisUtil {
|
||||
return redisTemplate.opsForValue().get(key);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量获取值
|
||||
*
|
||||
* @param keyList 键
|
||||
*/
|
||||
public List<Object> multiGet(List<String> keyList) {
|
||||
return redisTemplate.opsForValue().multiGet(keyList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 自增操作(增量=1)
|
||||
*
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user