Răsfoiți Sursa

开始服务接口调整

wangzhijun 1 săptămână în urmă
părinte
comite
413d02378f

+ 16 - 7
nightFragrance-massage/src/main/java/com/ylx/order/service/impl/TOrderServiceImpl.java

@@ -1074,16 +1074,16 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
             throw new ServiceException("订单不存在或不属于当前商户");
         }
 
+        // 判断当前订单状态判断是否为【已到达】的订单,非【已到达】订单直接抛出异常(前端toast提示操作失败)
+        if (ObjectUtil.isNull(order.getArrivedTime())) {
+            throw new ServiceException("操作失败,请重试");
+        }
+
         Integer status = order.getStatus();
         if (!OrderStatusEnum.PENDING_SERVICE.getCode().equals(status)) {
             throw new ServiceException("仅【待服务】订单可开始服务,当前状态:" + OrderStatusEnum.getInfoByCode(status));
         }
 
-        // 可选强校验:必须先签到到达才能开始服务
-        if (ObjectUtil.isNull(order.getArrivedTime())) {
-            throw new ServiceException("请先完成到达签到,再开始服务");
-        }
-
         // 更新状态+服务开始时间
         LambdaUpdateWrapper<TOrder> update = Wrappers.lambdaUpdate(TOrder.class)
                 .set(TOrder::getStatus, OrderStatusEnum.IN_SERVICE.getCode())
@@ -1161,7 +1161,11 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         }
 
         // 查询订单
-        TOrder order = baseMapper.selectOne(Wrappers.lambdaQuery(TOrder.class).select(TOrder::getId, TOrder::getMerchantId, TOrder::getStatus).eq(TOrder::getId, orderId).eq(TOrder::getMerchantId, merchantId).eq(TOrder::getIsDelete, NOT_DELETE));
+        TOrder order = baseMapper.selectOne(Wrappers.lambdaQuery(TOrder.class)
+                .select(TOrder::getId, TOrder::getMerchantId, TOrder::getStatus)
+                .eq(TOrder::getId, orderId)
+                .eq(TOrder::getMerchantId, merchantId)
+                .eq(TOrder::getIsDelete, NOT_DELETE));
         if (ObjectUtil.isNull(order)) {
             throw new ServiceException("订单不存在或不属于当前商户");
         }
@@ -1173,7 +1177,12 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         }
 
         // 更新到达信息
-        LambdaUpdateWrapper<TOrder> update = Wrappers.lambdaUpdate(TOrder.class).set(TOrder::getArrivedTime, LocalDateTime.now()).set(TOrder::getUpdateTime, LocalDateTime.now()).set(TOrder::getUpdateBy, loginUser.getCNickName()).eq(TOrder::getId, orderId).eq(TOrder::getStatus, status);
+        LambdaUpdateWrapper<TOrder> update = Wrappers.lambdaUpdate(TOrder.class)
+                .set(TOrder::getArrivedTime, LocalDateTime.now())
+                .set(TOrder::getUpdateTime, LocalDateTime.now())
+                .set(TOrder::getUpdateBy, loginUser.getCNickName())
+                .eq(TOrder::getId, orderId)
+                .eq(TOrder::getStatus, status);
         int count = baseMapper.update(null, update);
         if (count <= 0) {
             throw new ServiceException("订单状态已变更,请刷新重试");