|
|
@@ -1,17 +1,18 @@
|
|
|
package com.zksy.data.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.zksy.common.exception.DbException;
|
|
|
import com.zksy.data.annotation.XhDataLogRecord;
|
|
|
import com.zksy.data.domain.po.XcrEnterprisePollutionPermitInfo;
|
|
|
import com.zksy.data.domain.response.XcrEnterprisePollutionPermitInfoResponse;
|
|
|
-import com.zksy.data.service.XcrEnterprisePollutionPermitInfoService;
|
|
|
import com.zksy.data.mapper.XcrEnterprisePollutionPermitInfoMapper;
|
|
|
+import com.zksy.data.service.XcrEnterprisePollutionPermitInfoService;
|
|
|
import com.zksy.data.utils.RedisService;
|
|
|
import com.zksy.data.utils.XhRequestUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.transaction.support.TransactionTemplate;
|
|
|
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
@@ -19,7 +20,6 @@ import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Locale;
|
|
|
import java.util.Vector;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author 邵洋
|
|
|
@@ -34,9 +34,10 @@ public class XcrEnterprisePollutionPermitInfoServiceImpl extends ServiceImpl<Xcr
|
|
|
private XhRequestUtil xhRequestUtil;
|
|
|
@Autowired
|
|
|
private RedisService redisService;
|
|
|
+ @Autowired
|
|
|
+ private TransactionTemplate transactionTemplate;
|
|
|
|
|
|
@Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
@XhDataLogRecord("同步企业排污许可信息")
|
|
|
public void saveDataByUniCode(String address) {
|
|
|
//模拟从数据库中取数据大约为3000-4000条
|
|
|
@@ -61,13 +62,20 @@ public class XcrEnterprisePollutionPermitInfoServiceImpl extends ServiceImpl<Xcr
|
|
|
"yyyy.MM.dd",
|
|
|
"MM-MMMM -yy hh.mm.ss.SSSSSSSSS a"
|
|
|
};
|
|
|
- List<XcrEnterprisePollutionPermitInfo> enterprisePollutionPermitInfoList = toDatabaseList.stream().map(q -> {
|
|
|
+ toDatabaseList.stream().forEach(q -> {
|
|
|
Date date = parseDate(q.getXKZFFSJ(), datePatterns);
|
|
|
q.setA(formatDate(date));
|
|
|
- return q;
|
|
|
- }).collect(Collectors.toList());
|
|
|
- this.remove(null);
|
|
|
- this.saveBatch(enterprisePollutionPermitInfoList);
|
|
|
+ });
|
|
|
+ transactionTemplate.execute((s)->{
|
|
|
+ try {
|
|
|
+ this.remove(null);
|
|
|
+ this.saveBatch(toDatabaseList);
|
|
|
+ } catch (Exception e) {
|
|
|
+ s.setRollbackOnly();
|
|
|
+ throw new DbException(e);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ });
|
|
|
log.info("企业排污许可信息同步完成");
|
|
|
}
|
|
|
|