归还电池

This commit is contained in:
attiya 2025-12-03 10:04:37 +08:00
parent 28a26a7881
commit a907d7891b

View File

@ -33,6 +33,7 @@ import java.util.UUID;
import static com.cdzy.operations.model.entity.table.EbikeBatteryInfoTableDef.EBIKE_BATTERY_INFO;
import static com.cdzy.operations.model.entity.table.EbikeBikeInfoTableDef.EBIKE_BIKE_INFO;
import static com.cdzy.operations.model.entity.table.EbikeBikeOrderTableDef.EBIKE_BIKE_ORDER;
import static com.cdzy.operations.model.entity.table.EbikeBorrowBatteryRecordTableDef.EBIKE_BORROW_BATTERY_RECORD;
import static com.cdzy.operations.model.entity.table.EbikeEcuInfoTableDef.EBIKE_ECU_INFO;
/**
@ -237,6 +238,13 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
@Transactional
@Override
public void batteryClaim(EbikeBatteryClaimReturnVo batteryClaimVo) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BORROW_BATTERY_RECORD.CREATE_BY.eq(StpUtil.getLoginIdAsLong()))
.where(EBIKE_BORROW_BATTERY_RECORD.IS_RETURN.eq(Boolean.FALSE));
EbikeBorrowBatteryRecord record = batteryRecordMapper.selectOneByQuery(queryWrapper);
if (record != null) {
throw new EbikeException("当前用户存在领取电池尚未归还,归还后再试");
}
List<String> codes = batteryClaimVo.getCodes();
EbikeBorrowBatteryRecord batteryRecord = EbikeBorrowBatteryRecord.builder()
.borrowNum(codes.size())
@ -253,7 +261,7 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
.build();
list.add(recordCodes);
}
if (!list.isEmpty()){
if (!list.isEmpty()) {
recordCodesMapper.insertBatch(list);
}
@ -261,14 +269,14 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
@Override
public void checkCode(String code) {
if (code.startsWith("B")){
if (code.startsWith("B")) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BATTERY_INFO.BATTERY_CODE.eq(code));
EbikeBatteryInfo batteryInfo = batteryInfoMapper.selectOneByQuery(queryWrapper);
if (batteryInfo == null) {
throw new EbikeException("电池二维码错误");
}
}else {
} else {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_ECU_INFO.ECU_SN.eq(code));
EbikeEcuInfo ecuInfo = ebikeEcuInfoMapper.selectOneByQuery(queryWrapper);
@ -280,12 +288,33 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
@Override
public void batteryReturn(EbikeBatteryClaimReturnVo batteryClaimVo) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BORROW_BATTERY_RECORD.CREATE_BY.eq(StpUtil.getLoginIdAsLong()))
.where(EBIKE_BORROW_BATTERY_RECORD.IS_RETURN.eq(Boolean.FALSE));
EbikeBorrowBatteryRecord record = batteryRecordMapper.selectOneByQuery(queryWrapper);
if (record == null) {
throw new EbikeException("请领取电池后再尝试归还");
}
record.setIsReturn(Boolean.TRUE);
batteryRecordMapper.update(record);
List<String> codes = batteryClaimVo.getCodes();
List<EbikeRecordCodes> list = new ArrayList<>();
for (String code : codes) {
EbikeRecordCodes recordCodes = EbikeRecordCodes.builder()
.batteryCode(code)
.type(2)
.borrowBatteryRecordId(record.getBorrowBatteryRecordId())
.build();
list.add(recordCodes);
}
if (!list.isEmpty()) {
recordCodesMapper.insertBatch(list);
}
}
@Override
public void batteryChange(EbikeBatteryChangeVo changeVo) {
String bikeCode = changeVo.getBikeCode();
}
EbikeBikeInfo checkBikeCode(String bikeCode) {