From bc43c3d892d45ded60e1ba28df9d6a37b7c4d787 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 21 十一月 2022 09:12:43 +0800
Subject: [PATCH] 数据检索:添加上传文件功能

---
 src/main/java/com/lf/server/service/data/DataLoaderService.java |   44 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 39 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/lf/server/service/data/DataLoaderService.java b/src/main/java/com/lf/server/service/data/DataLoaderService.java
index aba8341..5846fce 100644
--- a/src/main/java/com/lf/server/service/data/DataLoaderService.java
+++ b/src/main/java/com/lf/server/service/data/DataLoaderService.java
@@ -1,19 +1,21 @@
 package com.lf.server.service.data;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lf.server.entity.all.BaseEntity;
 import com.lf.server.entity.ctrl.TabMapperEntity;
 import com.lf.server.entity.data.MetaEntity;
 import com.lf.server.entity.data.MetaFileEntity;
 import com.lf.server.helper.ClassHelper;
 import com.lf.server.helper.ExcelHelper;
 import com.lf.server.helper.FileHelper;
+import com.lf.server.mapper.all.GeomBaseMapper;
+import com.lf.server.service.all.BaseQueryService;
 import com.lf.server.service.all.BaseUploadService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.io.File;
 import java.lang.reflect.Field;
-import java.sql.Timestamp;
 import java.util.List;
 
 /**
@@ -211,22 +213,54 @@
             rows += baseMapper.insert(list.get(i));
         }
 
+        if (baseMapper instanceof GeomBaseMapper) {
+            GeomBaseMapper geomBaseMapper = (GeomBaseMapper) baseMapper;
+            updateGeom(geomBaseMapper, list);
+        }
+
         return rows;
     }
 
     /**
      * 璁剧疆鍒涘缓淇℃伅
      */
+    @SuppressWarnings("AlibabaRemoveCommentedCode")
     private <T> void setCreateInfo(List<T> list, MetaFileEntity mfe) {
         try {
             for (T t : list) {
-                Field cuField = t.getClass().getDeclaredField("createUser");
+                Field cuField = t.getClass().getDeclaredField("createuser");
                 cuField.setAccessible(true);
                 cuField.set(t, mfe.getCreateUser());
 
-                Field cuTime = t.getClass().getDeclaredField("createTime");
-                cuTime.setAccessible(true);
-                cuTime.set(t, mfe.getCreateTime());
+                Field ctField = t.getClass().getDeclaredField("createtime");
+                ctField.setAccessible(true);
+                ctField.set(t, mfe.getCreateTime());
+            }
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+        }
+    }
+
+    /**
+     * 璁剧疆绌洪棿淇℃伅
+     */
+    private <T> void updateGeom(GeomBaseMapper geomBaseMapper, List<T> list) {
+        try {
+            String tabName = BaseQueryService.getTabName(geomBaseMapper);
+            for (T t : list) {
+                Field xField = t.getClass().getDeclaredField("x");
+                xField.setAccessible(true);
+                double x = (double) xField.get(t);
+
+                Field yField = t.getClass().getDeclaredField("y");
+                yField.setAccessible(true);
+                double y = (double) yField.get(t);
+
+                BaseEntity baseEntity = (BaseEntity) t;
+                Integer gid = baseEntity.getGid();
+
+                String wkt = String.format("POINT(%f %f)", x, y);
+                geomBaseMapper.updateGeom(tabName, gid, wkt);
             }
         } catch (Exception ex) {
             log.error(ex.getMessage(), ex);

--
Gitblit v1.9.3