新增电池编号

This commit is contained in:
attiya 2025-12-08 17:06:16 +08:00
parent afdb93839d
commit 831b4f1963
2 changed files with 27 additions and 1 deletions

View File

@ -37,6 +37,11 @@ public class EbikeOrderBikeInfoDto implements Serializable {
*/ */
private Long bikeInfoId; private Long bikeInfoId;
/**
* 电池ID
*/
private Long batteryId;
/** /**
* 定位 * 定位
*/ */
@ -121,6 +126,11 @@ public class EbikeOrderBikeInfoDto implements Serializable {
*/ */
private String ecuSn; private String ecuSn;
/**
* 电池编号
*/
private String batteryCode;
/** /**
* 最后一次上报时间 * 最后一次上报时间
*/ */

View File

@ -91,6 +91,9 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
@Resource @Resource
private EbikeBikeOrderMapper ebikeBikeOrderMapper; private EbikeBikeOrderMapper ebikeBikeOrderMapper;
@Resource
private EbikeBatteryInfoMapper ebikeBatteryInfoMapper;
@Override @Override
public void createBatterySwapOrder(String ecuSn) { public void createBatterySwapOrder(String ecuSn) {
QueryWrapper queryWrapper = QueryWrapper.create() QueryWrapper queryWrapper = QueryWrapper.create()
@ -388,7 +391,7 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
@Override @Override
public EbikeOrderBikeInfoDto bikeInfo(String bikeCode,Integer orderType) throws IOException { public EbikeOrderBikeInfoDto bikeInfo(String bikeCode,Integer orderType) throws IOException {
QueryWrapper queryWrapper = QueryWrapper.create() QueryWrapper queryWrapper = QueryWrapper.create()
.select(EBIKE_BIKE_INFO.BIKE_INFO_ID, EBIKE_BIKE_INFO.LOCATION, EBIKE_BIKE_INFO.USAGE_STATUS, EBIKE_BIKE_INFO.LATEST_CYCLING_TIME, EBIKE_ECU_INFO.ECU_SN) .select(EBIKE_BIKE_INFO.BIKE_INFO_ID, EBIKE_BIKE_INFO.BATTERY_ID,EBIKE_BIKE_INFO.LOCATION, EBIKE_BIKE_INFO.USAGE_STATUS, EBIKE_BIKE_INFO.LATEST_CYCLING_TIME, EBIKE_ECU_INFO.ECU_SN)
.where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode)) .where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode))
.leftJoin(EBIKE_ECU_INFO).on(EBIKE_ECU_INFO.ECU_ID.eq(EBIKE_BIKE_INFO.ECU_ID)); .leftJoin(EBIKE_ECU_INFO).on(EBIKE_ECU_INFO.ECU_ID.eq(EBIKE_BIKE_INFO.ECU_ID));
if (orderType != null) { if (orderType != null) {
@ -401,6 +404,19 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
if (bikeInfo == null) { if (bikeInfo == null) {
throw new EbikeException("车辆编号错误"); throw new EbikeException("车辆编号错误");
} }
queryWrapper.clear();
queryWrapper.where(EBIKE_ECU_INFO.ECU_SN.eq(bikeInfo.getEcuSn()));
EbikeEcuInfo ecuInfo = ebikeEcuInfoMapper.selectOneByQuery(queryWrapper);
if (ecuInfo.getBindBattery()){
bikeInfo.setBatteryCode(ecuInfo.getEcuSn());
}else {
queryWrapper.clear();
queryWrapper.where(EBIKE_BATTERY_INFO.BATTERY_ID.eq(bikeInfo.getBatteryId()));
EbikeBatteryInfo batteryInfo = ebikeBatteryInfoMapper.selectOneByQuery(queryWrapper);
if (batteryInfo != null) {
bikeInfo.setBatteryCode(batteryInfo.getBatteryCode());
}
}
ResGPSDto resGPSDto = (ResGPSDto) redisUtil.getEcu(bikeInfo.getEcuSn()); ResGPSDto resGPSDto = (ResGPSDto) redisUtil.getEcu(bikeInfo.getEcuSn());
bikeInfo.setSoc(resGPSDto.getSoc()); bikeInfo.setSoc(resGPSDto.getSoc());
BigDecimal result = new BigDecimal(resGPSDto.getVoltage()) BigDecimal result = new BigDecimal(resGPSDto.getVoltage())