Browse Source

同步控规数据逻辑修改:先清空表,再插入数据

songxy 1 year ago
parent
commit
9a2dad702d

+ 2 - 5
BJYSYBZ_S/src/main/java/com/zjugis/ysgzybz/dao/BjkgMapper.java

@@ -12,12 +12,9 @@ import java.util.List;
 public interface BjkgMapper extends BaseMapper<BjKgDO> {
 public interface BjkgMapper extends BaseMapper<BjKgDO> {
 
 
     default int insertOrUpdate(List<BjKgDO> lists){
     default int insertOrUpdate(List<BjKgDO> lists){
-        QueryWrapper<BjKgDO> queryWrapper = new QueryWrapper<>();
+        this.delete(null);  //清空表
         for(BjKgDO bjKgDO: lists){
         for(BjKgDO bjKgDO: lists){
-            queryWrapper.eq("objectid", bjKgDO.getObjectid());
-            if(selectCount(queryWrapper) == 0 ){
-                insertShape(bjKgDO);
-            }
+            insertShape(bjKgDO);
         }
         }
         return lists.size();
         return lists.size();
     }
     }

+ 0 - 2
BJYSYBZ_S/src/main/java/com/zjugis/ysgzybz/service/BjkgService.java

@@ -8,6 +8,4 @@ public interface BjkgService extends IService<BjKgDO> {
 
 
     Integer addBath(BjKgReqVO reqVO);
     Integer addBath(BjKgReqVO reqVO);
 
 
-    Integer addBath2(BjKgReqVO reqVO);
-
 }
 }

+ 1 - 47
BJYSYBZ_S/src/main/java/com/zjugis/ysgzybz/service/impl/BjkgServiceImpl.java

@@ -28,6 +28,7 @@ public class BjkgServiceImpl extends ServiceImpl<BjkgMapper, BjKgDO> implements
     public Integer addBath(BjKgReqVO reqVO) {
     public Integer addBath(BjKgReqVO reqVO) {
         if(Objects.isNull(reqVO.getData())) throw new NullPointerException("请求data字段数据不能为空!");
         if(Objects.isNull(reqVO.getData())) throw new NullPointerException("请求data字段数据不能为空!");
         List<BjKgDO> datas = reqVO.getData();
         List<BjKgDO> datas = reqVO.getData();
+        if(datas.size() == 0) return 0;
         System.out.println("获取推送的数据:"+datas.size());
         System.out.println("获取推送的数据:"+datas.size());
         List<BjKgDO> bjKgDOS = datas.stream().map(d->{
         List<BjKgDO> bjKgDOS = datas.stream().map(d->{
             try{
             try{
@@ -44,51 +45,4 @@ public class BjkgServiceImpl extends ServiceImpl<BjkgMapper, BjKgDO> implements
         return reqVO.getData().size();
         return reqVO.getData().size();
     }
     }
 
 
-
-    @Autowired
-    private SqlSessionFactory sqlSessionFactory;
-
-    /**
-     * 批量插入功能优化,待定
-     * **/
-    @Override
-    public Integer addBath2(BjKgReqVO reqVO) {
-        if(Objects.isNull(reqVO.getData())) throw new NullPointerException("请求data字段数据不能为空!");
-        List<BjKgDO> datas = reqVO.getData();
-        System.out.println("获取推送的数据:"+datas.size());
-        List<BjKgDO> bjKgDOS = datas.stream().map(d->{
-            try{
-                com.vividsolutions.jts.geom.Geometry g = new WKTReader().read(d.getShape().toString());
-                byte[] wkb = new WKBWriter().write(g);
-                d.setShape(wkb);
-            }catch (Exception ex){
-                ex.printStackTrace();
-                return null;
-            }
-            return d;
-        }).collect(Collectors.toList());
-        if(bjKgDOS.size() > 0){
-            new Thread(()->{
-                Long start = System.currentTimeMillis();
-                SqlSession sqlSession = null;
-                try{
-                    sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
-                    BjkgMapper bjkgMapper1 = sqlSession.getMapper(BjkgMapper.class);
-                    bjkgMapper1.delete(null);
-                    for(BjKgDO item: bjKgDOS){
-                        bjkgMapper1.insert(item);
-                    }
-                    sqlSession.commit();
-                }catch (Exception ex){
-                    sqlSession.rollback();
-                    ex.printStackTrace();
-                }finally {
-                    sqlSession.close();
-                }
-                Long end = System.currentTimeMillis();
-                System.out.println("共耗时:"+(end - start));
-            }).start();
-        }
-        return datas.size();
-    }
 }
 }