old mode 100644
new mode 100755
| | |
| | | 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 org.slf4j.LoggerFactory; |
| | | 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; |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | @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()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |