debug,订单占用问题
This commit is contained in:
parent
10dae59169
commit
0186d3a3ea
|
@ -42,8 +42,8 @@ public class DeviceQuery extends DeviceVO {
|
||||||
@ApiModelProperty("剩余电量百分比范围")
|
@ApiModelProperty("剩余电量百分比范围")
|
||||||
private List<BigDecimal> powerRange;
|
private List<BigDecimal> powerRange;
|
||||||
|
|
||||||
@ApiModelProperty("订单为空或状态列表")
|
@ApiModelProperty("订单设备为空或状态列表")
|
||||||
private List<String> nonOrOrderStatusList;
|
private List<String> nonOrOrderDeviceStatusList;
|
||||||
|
|
||||||
@ApiModelProperty("MAC列表")
|
@ApiModelProperty("MAC列表")
|
||||||
private List<String> macList;
|
private List<String> macList;
|
||||||
|
|
|
@ -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[0]}
|
||||||
and bd.remaining_power <= #{query.powerRange[1]}
|
and bd.remaining_power <= #{query.powerRange[1]}
|
||||||
</if>
|
</if>
|
||||||
<if test="query.nonOrOrderStatusList != null and query.nonOrOrderStatusList.size() > 0">
|
<if test="query.nonOrOrderDeviceStatusList != null and query.nonOrOrderDeviceStatusList.size() > 0">
|
||||||
and (
|
and (
|
||||||
bd.order_device_id is null
|
bd.order_device_id is null
|
||||||
or bo.status in
|
or bod.status in
|
||||||
<foreach item="item" collection="query.nonOrOrderStatusList" open="(" separator="," close=")">
|
<foreach item="item" collection="query.nonOrOrderDeviceStatusList" open="(" separator="," close=")">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
)
|
)
|
||||||
|
|
|
@ -5,6 +5,7 @@ import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
import com.ruoyi.bst.orderDevice.domain.enums.OrderDeviceStatus;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.support.TransactionTemplate;
|
import org.springframework.transaction.support.TransactionTemplate;
|
||||||
|
@ -438,20 +439,17 @@ public class DeviceServiceImpl implements DeviceService
|
||||||
if (id == null || deviceOrderId == null) {
|
if (id == null || deviceOrderId == null) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
// 允许下单的设备订单状态
|
// 允许下单的订单设备状态
|
||||||
List<String> orderStatusList = Arrays.asList(
|
List<String> statusList = Arrays.asList(
|
||||||
OrderStatus.FINISHED.getCode(),
|
OrderDeviceStatus.WAIT_USE.getCode(),
|
||||||
OrderStatus.CANCELED.getCode(),
|
OrderDeviceStatus.FINISHED.getCode()
|
||||||
OrderStatus.WAIT_VERIFY.getCode(),
|
|
||||||
OrderStatus.REJECTED.getCode(),
|
|
||||||
OrderStatus.REFUNDED.getCode()
|
|
||||||
);
|
);
|
||||||
|
|
||||||
Device data = new Device();
|
Device data = new Device();
|
||||||
data.setOrderDeviceId(deviceOrderId);
|
data.setOrderDeviceId(deviceOrderId);
|
||||||
DeviceQuery query = new DeviceQuery();
|
DeviceQuery query = new DeviceQuery();
|
||||||
query.setId(id);
|
query.setId(id);
|
||||||
query.setNonOrOrderStatusList(orderStatusList);
|
query.setNonOrOrderDeviceStatusList(statusList);
|
||||||
return deviceMapper.updateByQuery(data, query);
|
return deviceMapper.updateByQuery(data, query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import com.ruoyi.bst.orderDevice.domain.enums.OrderDeviceStatus;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@ -191,7 +192,7 @@ public class OrderValidatorImpl implements OrderValidator{
|
||||||
ServiceUtil.assertion(device == null || device.getId() == null, "车辆不存在");
|
ServiceUtil.assertion(device == null || device.getId() == null, "车辆不存在");
|
||||||
ServiceUtil.assertion(!DeviceStatus.canUse().contains(device.getStatus()), "ID为%s的车辆当前状态不可使用", device.getId());
|
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(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(device.getAreaId() == null, "当前车辆未绑定运营区,无法使用");
|
||||||
ServiceUtil.assertion(AreaStatus.DISABLED.getCode().equals(device.getAreaStatus()), "运营区“%s”已停运,无法使用该车辆", device.getAreaName());
|
ServiceUtil.assertion(AreaStatus.DISABLED.getCode().equals(device.getAreaStatus()), "运营区“%s”已停运,无法使用该车辆", device.getAreaName());
|
||||||
ServiceUtil.assertion(!DateUtils.isBetween(LocalTime.now(), device.getAreaTimeStart(), device.getAreaTimeEnd()), "运营区“%s”当前不在营业时间,无法使用该车辆", device.getAreaName());
|
ServiceUtil.assertion(!DateUtils.isBetween(LocalTime.now(), device.getAreaTimeStart(), device.getAreaTimeEnd()), "运营区“%s”当前不在营业时间,无法使用该车辆", device.getAreaName());
|
||||||
|
|
Loading…
Reference in New Issue
Block a user