|
@@ -21,6 +21,7 @@ import org.dromara.common.core.enums.SystemUseTypeEnum;
|
|
|
import org.dromara.common.core.exception.consume.ConsumeException;
|
|
import org.dromara.common.core.exception.consume.ConsumeException;
|
|
|
import org.dromara.common.core.utils.SpringUtils;
|
|
import org.dromara.common.core.utils.SpringUtils;
|
|
|
import org.dromara.common.json.utils.JsonUtils;
|
|
import org.dromara.common.json.utils.JsonUtils;
|
|
|
|
|
+import org.dromara.server.common.constant.ConsumeConstants;
|
|
|
import org.dromara.server.common.domain.consume.bo.ConsumptionBo;
|
|
import org.dromara.server.common.domain.consume.bo.ConsumptionBo;
|
|
|
import org.dromara.server.consume.check.AllowConsumeValidationContext;
|
|
import org.dromara.server.consume.check.AllowConsumeValidationContext;
|
|
|
import org.dromara.server.consume.check.CommonCheck;
|
|
import org.dromara.server.consume.check.CommonCheck;
|
|
@@ -54,6 +55,7 @@ public class ConsumeBusiness {
|
|
|
private final ConsumeRequestCheck requestCheck;
|
|
private final ConsumeRequestCheck requestCheck;
|
|
|
private final ConsumeUploadCheck uploadCheck;
|
|
private final ConsumeUploadCheck uploadCheck;
|
|
|
private final BaseBusiness baseBusiness;
|
|
private final BaseBusiness baseBusiness;
|
|
|
|
|
+ private final TermBusiness termBusiness;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 请求消费
|
|
* 请求消费
|
|
@@ -286,9 +288,17 @@ public class ConsumeBusiness {
|
|
|
ApiErrorTypeConstants.NOT_FOUND,
|
|
ApiErrorTypeConstants.NOT_FOUND,
|
|
|
"没有待入账的原始消费记录"));
|
|
"没有待入账的原始消费记录"));
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- // 2. 并行处理记录
|
|
|
|
|
- ReconciliationResult result = processRecordsInParallel(records);
|
|
|
|
|
|
|
+ //过滤海康设备不进行对账
|
|
|
|
|
+ List<ConsumptionBo> needList = new ArrayList<>();
|
|
|
|
|
+ records.forEach(record -> {
|
|
|
|
|
+ XfTermVo termVo = termBusiness.getTermFromCache(record.getTermNo().toString(), ConsumeConstants.TERM_NO);
|
|
|
|
|
+ if (ObjectUtil.isNotEmpty(termVo) && !termVo.getBrand().equals("hk")) {
|
|
|
|
|
+ needList.add(record);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ // 2. 并行处理记录
|
|
|
|
|
+ //ReconciliationResult result = processRecordsInParallel(records);
|
|
|
|
|
+ ReconciliationResult result = processRecordsInParallel(needList);
|
|
|
|
|
|
|
|
// 3. 记录处理结果
|
|
// 3. 记录处理结果
|
|
|
result.getMessages().forEach(log::info);
|
|
result.getMessages().forEach(log::info);
|
|
@@ -309,8 +319,8 @@ public class ConsumeBusiness {
|
|
|
private ReconciliationResult processRecordsInParallel(List<ConsumptionBo> records) {
|
|
private ReconciliationResult processRecordsInParallel(List<ConsumptionBo> records) {
|
|
|
ReconciliationResult result = new ReconciliationResult();
|
|
ReconciliationResult result = new ReconciliationResult();
|
|
|
|
|
|
|
|
- // 使用并行流处理
|
|
|
|
|
- records.parallelStream().forEach(record -> {
|
|
|
|
|
|
|
+ // 循环处理
|
|
|
|
|
+ records.forEach(record -> {
|
|
|
try {
|
|
try {
|
|
|
R<ErrorInfo> response = postOrder(record, "", "");
|
|
R<ErrorInfo> response = postOrder(record, "", "");
|
|
|
|
|
|