|  |  |  | 
|---|
|  |  |  | throw new ValidationException("处理数量不能大于商品数量"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(deductAmount != null && deductAmount.doubleValue() > oi.getTotal().doubleValue()){ | 
|---|
|  |  |  | throw new ValidationException("降级金额不能大于商品总金额"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | BigDecimal deduct = deductAmount; | 
|---|
|  |  |  | if(deduct == null){ | 
|---|
|  |  |  | deduct = new BigDecimal(0); | 
|---|
|  |  |  | if(Constants.CHECK_TYPE.replace.name().equals(dto.getType())){ | 
|---|
|  |  |  | deduct = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum())); | 
|---|
|  |  |  | } else if(Constants.CHECK_TYPE.lack.name().equals(dto.getType())){ | 
|---|
|  |  |  | deduct = oi.getPrice().multiply(new BigDecimal(dto.getNum())); | 
|---|
|  |  |  | BigDecimal deduct = new BigDecimal(0); | 
|---|
|  |  |  | if(Constants.CHECK_TYPE.replace.name().equals(dto.getType())){ | 
|---|
|  |  |  | deduct = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum())); | 
|---|
|  |  |  | } else if(Constants.CHECK_TYPE.lack.name().equals(dto.getType())){ | 
|---|
|  |  |  | deduct = oi.getPrice().multiply(new BigDecimal(dto.getNum())); | 
|---|
|  |  |  | } else if (Constants.CHECK_TYPE.reduce.name().equals(dto.getType())) { | 
|---|
|  |  |  | if(deductAmount == null){ | 
|---|
|  |  |  | throw new ValidationException("降级金额不能为空"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | deduct = deductAmount.multiply(new BigDecimal(dto.getNum())); | 
|---|
|  |  |  | if(deduct.doubleValue() > oi.getTotal().doubleValue()){ | 
|---|
|  |  |  | throw new ValidationException("降级金额不能大于商品总金额"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|