From a8a5f458155a7a418e80798ee401bdc058356db9 Mon Sep 17 00:00:00 2001 From: Guoqs <123456@jsowell.com> Date: Thu, 18 Jun 2026 13:21:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20=E7=BE=BD=E4=BF=A1?= =?UTF-8?q?=E9=A2=84=E7=BA=A6=E5=85=85=E7=94=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PileReservationInfoServiceImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java index f237926bb..22eb72802 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileReservationInfoServiceImpl.java @@ -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(); }