优化 羽信预约充电

This commit is contained in:
Guoqs
2026-06-18 13:21:09 +08:00
parent da1da312c7
commit a8a5f45815

View File

@@ -283,13 +283,18 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic
if (!StringUtils.equals(pileReservationInfo.getMemberId(), dto.getMemberId())) {
return;
}
if (StringUtils.equals(pileReservationInfo.getStatus(), Constants.ONE)) {
sendReservationCommandAndAssertSuccess(pileReservationInfo, dto.getMemberId(), "02");
}
pileReservationInfo.setDelFlag(DelFlagEnum.DELETE.getValue());
pileReservationInfo.setStatus(Constants.ZERO);
pileReservationInfoMapper.updateByPrimaryKey(pileReservationInfo);
}
@Override
public int createReservation(CreateReservedDTO dto) {
PileReservationInfo reservedInfo = selectByPileConnectorCode(dto.getPileConnectorCode());
boolean activeBeforeUpdate = reservedInfo != null && StringUtils.equals(reservedInfo.getStatus(), Constants.ONE);
if (reservedInfo == null) {
reservedInfo = new PileReservationInfo();
reservedInfo.setCreateBy(dto.getMemberId());
@@ -320,6 +325,11 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic
reservedInfo.setReservationType("recurring");
reservedInfo.setFreq("daily");
if (!isTimeSlotAvailable(reservedInfo.getMemberId(), reservedInfo.getPileSn(),
reservedInfo.getStartTime(), reservedInfo.getEndTime(), reservedInfo.getId())) {
throw new BusinessException(ReturnCodeEnum.CODE_UPDATE_RESERVED_STATUS_REFUSED);
}
sendReservationCommandAndAssertSuccess(reservedInfo, dto.getMemberId(), activeBeforeUpdate ? "03" : "01");
this.insertOrUpdateSelective(reservedInfo);
return reservedInfo.getId();
}