低电量不允许骑车
This commit is contained in:
parent
2218768ebe
commit
7ef5dd4baf
@ -20,7 +20,13 @@ public interface EbikeBikeOrderService extends IService<EbikeBikeOrder> {
|
||||
|
||||
/**
|
||||
* 根据车辆编号(bikeCode)生成车辆巡检工单
|
||||
* @param bikeCode 中控编码
|
||||
* @param bikeCode 车辆编号
|
||||
*/
|
||||
void createInspectionSwapOrder(String bikeCode);
|
||||
|
||||
/**
|
||||
* 根据车辆编号(bikeCode)生成车辆调度工单
|
||||
* @param bikeCode 车辆编号
|
||||
*/
|
||||
void createDispatchSwapOrder(String bikeCode);
|
||||
}
|
||||
|
||||
@ -287,14 +287,14 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
|
||||
//车辆状态检查
|
||||
if (info.getStatus() != BikeStatus.LAUNCH) {
|
||||
throw new RuntimeException("车辆未上架,不可骑行");
|
||||
throw new EbikeException("车辆未上架,不可骑行");
|
||||
}
|
||||
if (info.getUsageStatus() == BikeUsageStatus.CYCLING) {
|
||||
throw new RuntimeException("车辆已被占用");
|
||||
throw new EbikeException("车辆已被占用");
|
||||
}
|
||||
|
||||
if (info.getUsageStatus() == BikeUsageStatus.REPAIR || info.getUsageStatus() == BikeUsageStatus.UNDER_REPAIR) {
|
||||
throw new RuntimeException("车辆故障");
|
||||
throw new EbikeException("车辆故障");
|
||||
}
|
||||
query.clear();
|
||||
query.where(EBIKE_REGION.REGION_ID.eq(info.getRegionId()));
|
||||
@ -302,16 +302,22 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
|
||||
//运营区是否运营中
|
||||
if (region == null || region.getStatus() != RegionStatus.OPERATION) {
|
||||
throw new RuntimeException("该区暂停运营中");
|
||||
throw new EbikeException("该区暂停运营中");
|
||||
}
|
||||
|
||||
//车辆是否在运营区内
|
||||
boolean result = regionMapper.checkBikeInRegion(bikeCode);
|
||||
if (!result) {
|
||||
throw new RuntimeException("该车辆在运营区外,暂不能骑行");
|
||||
throw new EbikeException("该车辆在运营区外,暂不能骑行");
|
||||
}
|
||||
EbikeEcuInfo ebikeEcuInfo = ebikeEcuInfoService.getEcu(bikeCode);
|
||||
|
||||
ResGPSDto resGPSDto = (ResGPSDto)redisUtil.get(RedisUtil.Database.DB2, ebikeEcuInfo.getEcuSn());
|
||||
|
||||
if (resGPSDto.getSoc() < 20){
|
||||
throw new EbikeException("该车辆电量低,暂不能骑行");
|
||||
}
|
||||
|
||||
ebikeEcuInfoService.unLock(ebikeEcuInfo);
|
||||
|
||||
info.setUsageStatus(BikeUsageStatus.CYCLING);
|
||||
|
||||
@ -69,16 +69,8 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
|
||||
|
||||
@Override
|
||||
public void createInspectionSwapOrder(String bikeCode) {
|
||||
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||
.where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode))
|
||||
.where(EBIKE_BIKE_INFO.STATUS.eq(BikeStatus.LAUNCH));
|
||||
EbikeBikeInfo bikeInfo = bikeInfoMapper.selectOneByQuery(queryWrapper);
|
||||
if (bikeInfo == null) {
|
||||
log.error("创建巡检工单失败,车辆不存在或未上架,bikeCode={} ", bikeCode);
|
||||
throw new EbikeException("创建巡检工单失败,车辆编号错误");
|
||||
}
|
||||
queryWrapper.clear();
|
||||
queryWrapper.where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeInfo.getBikeCode()))
|
||||
EbikeBikeInfo bikeInfo = checkBikeCode(bikeCode);
|
||||
QueryWrapper queryWrapper = QueryWrapper.create().where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeInfo.getBikeCode()))
|
||||
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.INSPECTION));
|
||||
EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper);
|
||||
if (bikeOrder != null) {
|
||||
@ -93,4 +85,35 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
|
||||
.build();
|
||||
this.mapper.insert(ebikeBikeOrder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createDispatchSwapOrder(String bikeCode) {
|
||||
EbikeBikeInfo bikeInfo = checkBikeCode(bikeCode);
|
||||
QueryWrapper queryWrapper = QueryWrapper.create().where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeInfo.getBikeCode()))
|
||||
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.DISPATCH));
|
||||
EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper);
|
||||
if (bikeOrder != null) {
|
||||
log.error("车辆已存在调度工单,bikeCode={} ", bikeInfo.getBikeCode());
|
||||
throw new EbikeException("车辆已存在调度工单");
|
||||
}
|
||||
EbikeBikeOrder ebikeBikeOrder = EbikeBikeOrder.builder()
|
||||
.bikeCode(bikeInfo.getBikeCode())
|
||||
.orderCode(snowFlakeIDKeyGenerator.nextId())
|
||||
.orderType(BikeOrderType.DISPATCH)
|
||||
.operatorId(bikeInfo.getOperatorId())
|
||||
.build();
|
||||
this.mapper.insert(ebikeBikeOrder);
|
||||
}
|
||||
|
||||
EbikeBikeInfo checkBikeCode(String bikeCode) {
|
||||
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||
.where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode))
|
||||
.where(EBIKE_BIKE_INFO.STATUS.eq(BikeStatus.LAUNCH));
|
||||
EbikeBikeInfo bikeInfo = bikeInfoMapper.selectOneByQuery(queryWrapper);
|
||||
if (bikeInfo == null) {
|
||||
log.error("创建工单失败,车辆不存在或未上架,bikeCode={} ", bikeCode);
|
||||
throw new EbikeException("创建工单失败,车辆编号错误");
|
||||
}
|
||||
return bikeInfo;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user