diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceQuery.java index e129f71..e29173b 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceQuery.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceQuery.java @@ -42,8 +42,8 @@ public class DeviceQuery extends DeviceVO { @ApiModelProperty("剩余电量百分比范围") private List powerRange; - @ApiModelProperty("订单为空或状态列表") - private List nonOrOrderStatusList; + @ApiModelProperty("订单设备为空或状态列表") + private List nonOrOrderDeviceStatusList; @ApiModelProperty("MAC列表") private List macList; diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.xml index 518b943..f767372 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.xml @@ -160,11 +160,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bd.remaining_power >= #{query.powerRange[0]} and bd.remaining_power <= #{query.powerRange[1]} - + and ( bd.order_device_id is null - or bo.status in - + or bod.status in + #{item} ) @@ -477,7 +477,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + update bst_device bd diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/service/impl/DeviceServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/device/service/impl/DeviceServiceImpl.java index 9be4bac..a200dea 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/service/impl/DeviceServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/service/impl/DeviceServiceImpl.java @@ -5,6 +5,7 @@ import java.util.Collections; import java.util.List; import java.util.function.Function; +import com.ruoyi.bst.orderDevice.domain.enums.OrderDeviceStatus; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.support.TransactionTemplate; @@ -438,20 +439,17 @@ public class DeviceServiceImpl implements DeviceService if (id == null || deviceOrderId == null) { return 0; } - // 允许下单的设备订单状态 - List orderStatusList = Arrays.asList( - OrderStatus.FINISHED.getCode(), - OrderStatus.CANCELED.getCode(), - OrderStatus.WAIT_VERIFY.getCode(), - OrderStatus.REJECTED.getCode(), - OrderStatus.REFUNDED.getCode() + // 允许下单的订单设备状态 + List statusList = Arrays.asList( + OrderDeviceStatus.WAIT_USE.getCode(), + OrderDeviceStatus.FINISHED.getCode() ); Device data = new Device(); data.setOrderDeviceId(deviceOrderId); DeviceQuery query = new DeviceQuery(); query.setId(id); - query.setNonOrOrderStatusList(orderStatusList); + query.setNonOrOrderDeviceStatusList(statusList); return deviceMapper.updateByQuery(data, query); } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderValidatorImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderValidatorImpl.java index fcdc3e6..21a18b6 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderValidatorImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderValidatorImpl.java @@ -7,6 +7,7 @@ import java.util.HashSet; import java.util.List; import java.util.Objects; +import com.ruoyi.bst.orderDevice.domain.enums.OrderDeviceStatus; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -167,7 +168,7 @@ public class OrderValidatorImpl implements OrderValidator{ log.info("【还车定位校验】运营区:{},定位数据:{}", area.getName(), inParkingVO); ServiceUtil.assertion(inParkingVO == null, "参数错误,停车点信息不存在"); ServiceUtil.assertion(area == null, "参数错误,运营区信息不存在"); - + if (inParkingVO.getParkingCount() != null && inParkingVO.getParkingCount() == 0) { log.warn("运营区{}的停车区数量为0,无需校验停车区", area.getName()); return; @@ -191,7 +192,7 @@ public class OrderValidatorImpl implements OrderValidator{ ServiceUtil.assertion(device == null || device.getId() == null, "车辆不存在"); ServiceUtil.assertion(!DeviceStatus.canUse().contains(device.getStatus()), "ID为%s的车辆当前状态不可使用", device.getId()); ServiceUtil.assertion(MathUtils.smallerThan(device.getRemainingPower(), device.getAreaUndercharge()), "ID为%s的车辆电量不足%s%%,暂时无法使用", device.getId(), device.getAreaUndercharge()); - ServiceUtil.assertion(OrderStatus.PROCESSING.getCode().equals(device.getOrderStatus()), "ID为%s的车辆当前有正在进行的订单,无法使用", device.getId()); + ServiceUtil.assertion(OrderDeviceStatus.inUse().contains(device.getOrderDeviceStatus()), "ID为%s的车辆当前有正在进行的订单,无法使用", device.getId()); ServiceUtil.assertion(device.getAreaId() == null, "当前车辆未绑定运营区,无法使用"); ServiceUtil.assertion(AreaStatus.DISABLED.getCode().equals(device.getAreaStatus()), "运营区“%s”已停运,无法使用该车辆", device.getAreaName()); ServiceUtil.assertion(!DateUtils.isBetween(LocalTime.now(), device.getAreaTimeStart(), device.getAreaTimeEnd()), "运营区“%s”当前不在营业时间,无法使用该车辆", device.getAreaName()); @@ -223,7 +224,7 @@ public class OrderValidatorImpl implements OrderValidator{ if (CollectionUtils.isEmptyElement(orderIds)) { return true; } - + OrderQuery query = new OrderQuery(); query.setScope(true); query.setIds(orderIds);