if (param.getRourceType()!=null && param.getRourceType().equals(5))则不走此方法上级校验,直接通过
时间: 2024-04-11 21:32:33 浏览: 30
这段代码是一个条件判断语句,如果`param`对象的`RourceType`属性不为空且等于5,那么就会跳过此方法的上级校验,直接执行后面的代码。换句话说,这段代码的作用是根据`RourceType`的值来决定是否执行上级校验的逻辑。如果`RourceType`为空或不等于5,则会继续执行上级校验的逻辑。
相关问题
if (ObjectUtil.isNotEmpty(param.getIsOut())) { if (param.getIsOut()) { List<SkuSubHosp> stopsales = hospDao.findAllBySphStopSaleAndSphStateNot(1, 9); List<String> spsIds = new ArrayList<>(); for (SkuSubHosp sub : stopsales) { spsIds.add(sub.getSphCode()); } if (getStockDto.getReturnDtos().getSize() == 0) { AssertUtil.DeveloperException.throwException("无库存"); } else { for (StockReturnDto dto : getStockDto.getReturnDtos().getContent()) { if (spsIds.contains(dto.getSphCode() ) && param.getRfid() != null) { AssertUtil.DeveloperException.throwException("商品已停售,无法添加"); } } } if (param.getRourceType()!=null && param.getRourceType().equals(5)){ 这一行不走此上面的校验,直接通过,这一行应该怎么写,不使用return的方法 } } }
如果你不想使用`return`来跳过上级校验并直接通过,你可以使用一个标志变量来控制上级校验的执行。具体代码如下所示:
```java
boolean bypassValidation = false;
if (param.getRourceType() != null && param.getRourceType().equals(5)) {
bypassValidation = true; // 设置标志变量为true,表示直接通过
}
if (!bypassValidation) {
// 上级校验逻辑
if (ObjectUtil.isNotEmpty(param.getIsOut())) {
if (param.getIsOut()) {
List<SkuSubHosp> stopsales = hospDao.findAllBySphStopSaleAndSphStateNot(1, 9);
List<String> spsIds = new ArrayList<>();
for (SkuSubHosp sub : stopsales) {
spsIds.add(sub.getSphCode());
}
if (getStockDto.getReturnDtos().getSize() == 0) {
AssertUtil.DeveloperException.throwException("无库存");
} else {
for (StockReturnDto dto : getStockDto.getReturnDtos().getContent()) {
if (spsIds.contains(dto.getSphCode()) && param.getRfid() != null) {
AssertUtil.DeveloperException.throwException("商品已停售,无法添加");
}
}
}
}
}
}
// 继续执行其他逻辑
```
这样,如果`param.getRourceType()`不为空且等于5,标志变量`bypassValidation`会被设置为true,从而跳过上级校验的执行。否则,上级校验逻辑会继续执行。请注意,在使用标志变量时要确保逻辑的正确性和一致性。
if (ObjectUtil.isNotEmpty(param.getIsOut())) { if (param.getIsOut()) { List<SkuSubHosp> stopsales = hospDao.findAllBySphStopSaleAndSphStateNot(1, 9); List<String> spsIds = new ArrayList<>(); for (SkuSubHosp sub : stopsales) { spsIds.add(sub.getSphCode()); } if (getStockDto.getReturnDtos().getSize() == 0) { AssertUtil.DeveloperException.throwException("无库存"); } else { for (StockReturnDto dto : getStockDto.getReturnDtos().getContent()) { if (spsIds.contains(dto.getSphCode() ) && param.getRfid() != null) { AssertUtil.DeveloperException.throwException("商品已停售,无法添加"); } } } if (param.getRourceType()!=null && param.getRourceType().equals(5)){ 这一行不走此上面的校验,直接通过,这一行应该怎么写 } } }
根据你提供的代码,如果`param.getRourceType()`不为空且等于5,你想要在此行代码之前跳过上面的校验逻辑并直接通过。你可以使用`return`关键字来实现这个目的。具体代码如下所示:
```java
if (param.getRourceType() != null && param.getRourceType().equals(5)) {
return; // 直接通过,不执行上面的校验逻辑
}
```
这样,当满足条件时,程序会直接返回,不会继续执行后面的代码。请注意,在使用`return`语句时要确保它处于合适的位置,以避免影响程序的逻辑流程。