From b88a288f4f787b509463678e3cd9ccfa3f37014b Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期三, 11 三月 2026 12:01:05 +0800
Subject: [PATCH] 导入测试

---
 service-common/src/main/java/com/java110/common/dao/impl/CarInoutServiceDaoImpl.java |   73 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 0 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/dao/impl/CarInoutServiceDaoImpl.java b/service-common/src/main/java/com/java110/common/dao/impl/CarInoutServiceDaoImpl.java
index e654b0b..04b96a4 100755
--- a/service-common/src/main/java/com/java110/common/dao/impl/CarInoutServiceDaoImpl.java
+++ b/service-common/src/main/java/com/java110/common/dao/impl/CarInoutServiceDaoImpl.java
@@ -3,13 +3,19 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.common.dao.ICarInoutServiceDao;
 import com.java110.core.base.dao.BaseServiceDao;
+import com.java110.po.car.CarInoutPo;
 import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.exception.DAOException;
+import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
+import org.activiti.engine.impl.util.CollectionUtil;
 import org.slf4j.Logger;
 import com.java110.core.log.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -131,4 +137,71 @@
     }
 
 
+    @Autowired
+    private CarInoutServiceDaoImpl carInoutServiceDaoImpl;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int[] batchSaveCarInout(List<CarInoutPo> successRecords) {
+        if (CollectionUtil.isEmpty(successRecords)) {
+            return new int[0];
+        }
+
+        int totalSize = successRecords.size();
+        int[] result = new int[totalSize]; // 瀛樺偍姣忔潯璁板綍鐨勬彃鍏ョ粨鏋滐紙0琛ㄧず澶辫触锛�1琛ㄧず鎴愬姛锛�
+
+        for (int i = 0; i < totalSize; i++) {
+            CarInoutPo record = successRecords.get(i);
+            try {
+                CarInoutPo filter = new CarInoutPo();
+                filter.setCarNum(record.getCarNum());
+                filter.setInTime(record.getInTime());
+                filter.setOutTime(record.getOutTime());
+                filter.setDirection(record.getDirection());
+                filter.setMerchantId(record.getMerchantId());
+                int existCount = carInoutServiceDaoImpl.queryCarInoutsCount(BeanConvertUtil.beanCovertMap(filter));
+
+                if (existCount > 0) {
+                    // 3. 璁板綍宸插瓨鍦紝鏍囪涓哄幓閲嶏紙鍙敤2琛ㄧず鍘婚噸锛屼笌0/1鍖哄垎锛�
+                    record.setErrorTest("閲嶅鐨勫唴瀹�");
+                    continue;
+                }
+
+                // 閫愭潯鎻掑叆
+                int affectedRows = sqlSessionTemplate.insert(
+                        "carInoutServiceDaoImpl.batchInsert", // 娉ㄦ剰杩欓噷闇�瑕佹敼涓哄崟鏉℃彃鍏ョ殑statement ID
+                        BeanConvertUtil.beanCovertMap(record)
+                );
+
+                // 鍗曟潯鎻掑叆鎴愬姛
+                if (affectedRows > 0) {
+                    result[i] = 1;
+                } else {
+                    result[i] = 0;
+                }
+            } catch (Exception e) {
+                // 鎹曡幏SQL寮傚父锛屾爣璁颁负澶辫触
+                result[i] = 0;
+                // 鍙互鏍规嵁闇�瑕佽褰曢敊璇棩蹇�
+                 record.setErrorTest("鎻掑叆CarInoutPo澶辫触锛岃褰�: "+e);
+            }
+        }
+
+        return result;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void batchSaveCarInout2(List<CarInoutPo> successRecords) {
+        for (CarInoutPo record : successRecords) {
+            int affectedRows = sqlSessionTemplate.insert(
+                    "carInoutServiceDaoImpl.batchInsert", // 娉ㄦ剰杩欓噷闇�瑕佹敼涓哄崟鏉℃彃鍏ョ殑statement ID
+                    BeanConvertUtil.beanCovertMap(record)
+            );
+            if (affectedRows == 0) {
+                throw new IllegalArgumentException("娣诲姞澶辫触"+record.getCarNum()+record.getInTime()+record.getOutTime());
+            }
+        }
+    }
+
 }

--
Gitblit v1.8.0