归还电池

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.EbikeBatteryInfoTableDef.EBIKE_BATTERY_INFO;
import static com.cdzy.operations.model.entity.table.EbikeBikeInfoTableDef.EBIKE_BIKE_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.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; import static com.cdzy.operations.model.entity.table.EbikeEcuInfoTableDef.EBIKE_ECU_INFO;
/** /**
@ -237,6 +238,13 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
@Transactional @Transactional
@Override @Override
public void batteryClaim(EbikeBatteryClaimReturnVo batteryClaimVo) { 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(); List<String> codes = batteryClaimVo.getCodes();
EbikeBorrowBatteryRecord batteryRecord = EbikeBorrowBatteryRecord.builder() EbikeBorrowBatteryRecord batteryRecord = EbikeBorrowBatteryRecord.builder()
.borrowNum(codes.size()) .borrowNum(codes.size())
@ -280,12 +288,33 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
@Override @Override
public void batteryReturn(EbikeBatteryClaimReturnVo batteryClaimVo) { 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 @Override
public void batteryChange(EbikeBatteryChangeVo changeVo) { public void batteryChange(EbikeBatteryChangeVo changeVo) {
String bikeCode = changeVo.getBikeCode();
} }
EbikeBikeInfo checkBikeCode(String bikeCode) { EbikeBikeInfo checkBikeCode(String bikeCode) {