Ver Fonte

no message

ly há 1 ano atrás
pai
commit
57722b8515

+ 13 - 1
src/main/java/cn/ezhizao/project/business/order/service/impl/BizArchiveInputServiceImpl.java

@@ -12,6 +12,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 import javax.annotation.Resource;
+import javax.validation.Valid;
 
 import cn.ezhizao.common.constant.HttpStatus;
 import cn.ezhizao.common.exception.ServiceException;
@@ -54,6 +55,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
 
 /**
  * 档案入库Service业务层处理
@@ -688,7 +690,7 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
     }
 
     @Override
-    public String importLoop(List<OrderExcelImportLoopModel> orderList, Long userId, long tenantId) {
+    public String importLoop(@Validated List<OrderExcelImportLoopModel> orderList, Long userId, long tenantId) {
         if (StringUtils.isNull(orderList) || orderList.size() == 0) {
             throw new ServiceException("导入数据不能为空!");
         }
@@ -735,6 +737,16 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
 //            }
             // 判断下订单总价单价是否和录入相符
             // 假设 amount - discountAmount != trueAmount 跳过该订单
+            if (item.getAmount() == null){
+                failureNum++;
+                failureMsg.append("<br/>").append(failureNum).append("、订单 ").append(item.getContractNo()).append(failureNum).append("服务金额不能为空");
+                continue;
+            }
+            if (item.getTrueAmount() == null){
+                failureNum++;
+                failureMsg.append("<br/>").append(failureNum).append("、订单 ").append(item.getContractNo()).append(failureNum).append("实收金额不能为空");
+                continue;
+            }
             if (item.getAmount().subtract(item.getDiscountAmount() == null ? BigDecimal.ZERO : item.getDiscountAmount()).compareTo(item.getTrueAmount()) != 0) {
                 failureNum++;
                 failureMsg.append("<br/>").append(failureNum).append("、订单 ").append(item.getContractNo()).append(" 实际付款金额出错");