低电量不允许骑车
This commit is contained in:
parent
2218768ebe
commit
7ef5dd4baf
@ -20,7 +20,13 @@ public interface EbikeBikeOrderService extends IService<EbikeBikeOrder> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据车辆编号(bikeCode)生成车辆巡检工单
|
* 根据车辆编号(bikeCode)生成车辆巡检工单
|
||||||
* @param bikeCode 中控编码
|
* @param bikeCode 车辆编号
|
||||||
*/
|
*/
|
||||||
void createInspectionSwapOrder(String 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) {
|
if (info.getStatus() != BikeStatus.LAUNCH) {
|
||||||
throw new RuntimeException("车辆未上架,不可骑行");
|
throw new EbikeException("车辆未上架,不可骑行");
|
||||||
}
|
}
|
||||||
if (info.getUsageStatus() == BikeUsageStatus.CYCLING) {
|
if (info.getUsageStatus() == BikeUsageStatus.CYCLING) {
|
||||||
throw new RuntimeException("车辆已被占用");
|
throw new EbikeException("车辆已被占用");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (info.getUsageStatus() == BikeUsageStatus.REPAIR || info.getUsageStatus() == BikeUsageStatus.UNDER_REPAIR) {
|
if (info.getUsageStatus() == BikeUsageStatus.REPAIR || info.getUsageStatus() == BikeUsageStatus.UNDER_REPAIR) {
|
||||||
throw new RuntimeException("车辆故障");
|
throw new EbikeException("车辆故障");
|
||||||
}
|
}
|
||||||
query.clear();
|
query.clear();
|
||||||
query.where(EBIKE_REGION.REGION_ID.eq(info.getRegionId()));
|
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) {
|
if (region == null || region.getStatus() != RegionStatus.OPERATION) {
|
||||||
throw new RuntimeException("该区暂停运营中");
|
throw new EbikeException("该区暂停运营中");
|
||||||
}
|
}
|
||||||
|
|
||||||
//车辆是否在运营区内
|
//车辆是否在运营区内
|
||||||
boolean result = regionMapper.checkBikeInRegion(bikeCode);
|
boolean result = regionMapper.checkBikeInRegion(bikeCode);
|
||||||
if (!result) {
|
if (!result) {
|
||||||
throw new RuntimeException("该车辆在运营区外,暂不能骑行");
|
throw new EbikeException("该车辆在运营区外,暂不能骑行");
|
||||||
}
|
}
|
||||||
EbikeEcuInfo ebikeEcuInfo = ebikeEcuInfoService.getEcu(bikeCode);
|
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);
|
ebikeEcuInfoService.unLock(ebikeEcuInfo);
|
||||||
|
|
||||||
info.setUsageStatus(BikeUsageStatus.CYCLING);
|
info.setUsageStatus(BikeUsageStatus.CYCLING);
|
||||||
|
|||||||
@ -69,16 +69,8 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void createInspectionSwapOrder(String bikeCode) {
|
public void createInspectionSwapOrder(String bikeCode) {
|
||||||
QueryWrapper queryWrapper = QueryWrapper.create()
|
EbikeBikeInfo bikeInfo = checkBikeCode(bikeCode);
|
||||||
.where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode))
|
QueryWrapper queryWrapper = QueryWrapper.create().where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeInfo.getBikeCode()))
|
||||||
.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()))
|
|
||||||
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.INSPECTION));
|
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.INSPECTION));
|
||||||
EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper);
|
EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper);
|
||||||
if (bikeOrder != null) {
|
if (bikeOrder != null) {
|
||||||
@ -93,4 +85,35 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
|
|||||||
.build();
|
.build();
|
||||||
this.mapper.insert(ebikeBikeOrder);
|
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