From 471b033688cf85f503081e7401163bcc5fa45351 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Mon, 25 Mar 2024 18:39:40 +0800
Subject: [PATCH] 图斑
---
src/main/java/com/dji/sample/patches/service/impl/PatchesServiceImpl.java | 7 -
src/main/java/com/dji/sample/patches/dao/PatchesMapper.java | 2
src/main/java/com/dji/sample/patches/service/impl/DemoServiceImpl.java | 38 +++++++++++-
src/main/java/com/dji/sample/patches/model/PatchesEntity.java | 7 +-
src/main/java/com/dji/sample/patches/service/PatchesService.java | 2
src/main/java/com/dji/sample/patches/dao/DemoMapper.java | 8 ++
src/main/java/com/dji/sample/patches/service/DemoService.java | 7 ++
src/main/java/com/dji/sample/patches/controller/DemoController.java | 11 ++-
src/main/java/com/dji/sample/patches/utils/MultipartFileTOFile.java | 41 +++++++++++++
src/main/java/com/dji/sample/patches/utils/ShapeFileUtil.java | 7 +
src/main/java/com/dji/sample/patches/controller/PatchesController.java | 13 +--
11 files changed, 111 insertions(+), 32 deletions(-)
diff --git a/src/main/java/com/dji/sample/patches/controller/DemoController.java b/src/main/java/com/dji/sample/patches/controller/DemoController.java
index 6d82d0f..12a4845 100644
--- a/src/main/java/com/dji/sample/patches/controller/DemoController.java
+++ b/src/main/java/com/dji/sample/patches/controller/DemoController.java
@@ -2,8 +2,8 @@
import com.dji.sample.patches.service.impl.DemoServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.io.File;
@@ -11,11 +11,14 @@
import java.io.IOException;
@RestController
+@RequestMapping("${url.patches.prefix}${url.patches.version}")
public class DemoController {
@Autowired
private DemoServiceImpl demoServiceImpl;
- @GetMapping("/getGeo")
- public void getGeo (File file) throws IOException {
+ @PostMapping("/getGeo")
+ public void getGeo (@RequestParam("file") MultipartFile file) throws IOException {
demoServiceImpl.insertGeo(file);
}
+
+
}
\ No newline at end of file
diff --git a/src/main/java/com/dji/sample/patches/controller/PatchesController.java b/src/main/java/com/dji/sample/patches/controller/PatchesController.java
index aa6b341..35dbe3a 100644
--- a/src/main/java/com/dji/sample/patches/controller/PatchesController.java
+++ b/src/main/java/com/dji/sample/patches/controller/PatchesController.java
@@ -1,26 +1,23 @@
package com.dji.sample.patches.controller;
import com.dji.sample.patches.model.PageBean;
-import com.dji.sample.patches.service.impl.PatchesServiceImpl;
+import com.dji.sample.patches.service.PatchesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-
-import java.sql.Array;
-
@RequestMapping("${url.patches.prefix}${url.patches.version}")
@RestController
public class PatchesController {
@Autowired
- private PatchesServiceImpl patchesServiceimpl;
+ private PatchesService patchesService;
+
@GetMapping("/getPatches")
public PageBean page(@RequestParam(defaultValue = "1") Integer page,
- @RequestParam(defaultValue = "5") Integer pageSize,
- Integer id, String dkbh, String dkfw){
+ @RequestParam(defaultValue = "5") Integer pageSize) {
//调用service分页查询
- PageBean pageBean =patchesServiceimpl.limitGet( id, dkbh, dkfw,page, pageSize);
+ PageBean pageBean = patchesService.limitGet(page, pageSize);
return pageBean;
}
}
diff --git a/src/main/java/com/dji/sample/patches/dao/DemoMapper.java b/src/main/java/com/dji/sample/patches/dao/DemoMapper.java
index 2f91e81..739a115 100644
--- a/src/main/java/com/dji/sample/patches/dao/DemoMapper.java
+++ b/src/main/java/com/dji/sample/patches/dao/DemoMapper.java
@@ -2,9 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dji.sample.patches.model.DemoEntity;
+import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
+
+import java.time.LocalDateTime;
@Mapper
public interface DemoMapper extends BaseMapper<DemoEntity> {
- void insertJson(String json);
+ @Insert("insert into tb_lot_info (dkfw,bsm,create_time,update_time) values (#{json},#{bsm},#{createTime},#{updateTime})")
+ void insertJson(String json,String bsm, int createTime, int updateTime);
+
+
}
diff --git a/src/main/java/com/dji/sample/patches/dao/PatchesMapper.java b/src/main/java/com/dji/sample/patches/dao/PatchesMapper.java
index d9137b4..66a1f97 100644
--- a/src/main/java/com/dji/sample/patches/dao/PatchesMapper.java
+++ b/src/main/java/com/dji/sample/patches/dao/PatchesMapper.java
@@ -7,5 +7,5 @@
public interface PatchesMapper {
@Select("select id ,dkbh,dkfw from tb_lot_info")
- List<PatchesEntity> limitGet(@Param("id") Integer id, @Param("dkbh") String dkbh, @Param("dkfw") String dkfw);
+ List<PatchesEntity> limitGet();
}
diff --git a/src/main/java/com/dji/sample/patches/model/PatchesEntity.java b/src/main/java/com/dji/sample/patches/model/PatchesEntity.java
index 92eb30b..050fea3 100644
--- a/src/main/java/com/dji/sample/patches/model/PatchesEntity.java
+++ b/src/main/java/com/dji/sample/patches/model/PatchesEntity.java
@@ -62,11 +62,10 @@
private String sjlx;
- @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
@TableField("create_time")
- private LocalDateTime createTime;
- @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+ private int createTime;
+
@TableField("update_time")
- private LocalDateTime updateTime;
+ private int updateTime;
}
\ No newline at end of file
diff --git a/src/main/java/com/dji/sample/patches/service/DemoService.java b/src/main/java/com/dji/sample/patches/service/DemoService.java
index e9f53e1..fe37667 100644
--- a/src/main/java/com/dji/sample/patches/service/DemoService.java
+++ b/src/main/java/com/dji/sample/patches/service/DemoService.java
@@ -1,8 +1,13 @@
package com.dji.sample.patches.service;
+import org.springframework.web.multipart.MultipartFile;
+
import java.io.File;
import java.io.IOException;
public interface DemoService {
- void insertGeo(File file) throws IOException;
+ public static void main(String[] args) {
+
+ }
+ void insertGeo(MultipartFile file) throws IOException;
}
diff --git a/src/main/java/com/dji/sample/patches/service/PatchesService.java b/src/main/java/com/dji/sample/patches/service/PatchesService.java
index fa5f3fa..78ad00a 100644
--- a/src/main/java/com/dji/sample/patches/service/PatchesService.java
+++ b/src/main/java/com/dji/sample/patches/service/PatchesService.java
@@ -7,5 +7,5 @@
import java.sql.Array;
public interface PatchesService {
- PageBean limitGet (Integer id, String dkbh, String dkfw , int page, int pageSize);
+ PageBean limitGet (int page, int pageSize);
}
diff --git a/src/main/java/com/dji/sample/patches/service/impl/DemoServiceImpl.java b/src/main/java/com/dji/sample/patches/service/impl/DemoServiceImpl.java
index 8b0df8d..7c4f09a 100644
--- a/src/main/java/com/dji/sample/patches/service/impl/DemoServiceImpl.java
+++ b/src/main/java/com/dji/sample/patches/service/impl/DemoServiceImpl.java
@@ -1,19 +1,47 @@
package com.dji.sample.patches.service.impl;
+import cn.hutool.core.io.FileUtil;
import com.dji.sample.patches.dao.DemoMapper;
import com.dji.sample.patches.service.DemoService;
+import com.dji.sample.patches.utils.MultipartFileTOFile;
import com.dji.sample.patches.utils.ShapeFileUtil;
+import com.dji.sample.patches.utils.ZipUtil;
+import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
import java.io.File;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.UUID;
+
@Service
public class DemoServiceImpl implements DemoService {
@Autowired
private DemoMapper mapper;
- private ShapeFileUtil shapeFileUtil;
- @Override
- public void insertGeo(File file) throws IOException {
- System.out.println(shapeFileUtil.shpToGeoJson(file));
+ private int createTime=0;
+ private int updateTime=0;
+
+ private String bsm;
+ public void insertGeo(MultipartFile file) throws IOException {
+ ShapeFileUtil shapeFileUtil=new ShapeFileUtil();
+ MultipartFileTOFile multipartFileTOFile= new MultipartFileTOFile();
+ File file1= multipartFileTOFile.multipartFile2File(file);
+ List<String> s=shapeFileUtil.shpToGeoJson(file1);
+ String[] arr=new String[10];
+ String str=s.toString();
+ String ses=str.substring(0, str.length()-3);
+ String[] arr1=ses.split("]],");
+ for (int i = 0; i < arr1.length; i++) {
+ bsm=UUID.randomUUID().toString()+1;
+ String json= arr1[i].substring(3);
+ arr[i]=json;
+ mapper.insertJson(json,bsm,createTime,updateTime);
+ }
}
- }
+
+}
diff --git a/src/main/java/com/dji/sample/patches/service/impl/PatchesServiceImpl.java b/src/main/java/com/dji/sample/patches/service/impl/PatchesServiceImpl.java
index 6fc380f..70b12e3 100644
--- a/src/main/java/com/dji/sample/patches/service/impl/PatchesServiceImpl.java
+++ b/src/main/java/com/dji/sample/patches/service/impl/PatchesServiceImpl.java
@@ -20,15 +20,12 @@
private PatchesMapper mapper;
@Override
- public PageBean limitGet(Integer id, String dkbh, String dkfw,int page, int pageSize) {
-
+ public PageBean limitGet(int page, int pageSize) {
//1. 设置分页参数
PageHelper.startPage(page,pageSize);
-
//2. 执行查询
- List<PatchesEntity> PatchersList = mapper.limitGet(id,dkbh,dkfw);
+ List<PatchesEntity> PatchersList = mapper.limitGet();
com.github.pagehelper.Page<PatchesEntity> p = (Page<PatchesEntity>) PatchersList;
-
//3. 封装PageBean对象
PageBean pageBean = new PageBean(p.getTotal(), p.getResult());
return pageBean;
diff --git a/src/main/java/com/dji/sample/patches/utils/MultipartFileTOFile.java b/src/main/java/com/dji/sample/patches/utils/MultipartFileTOFile.java
new file mode 100644
index 0000000..a1fc4fe
--- /dev/null
+++ b/src/main/java/com/dji/sample/patches/utils/MultipartFileTOFile.java
@@ -0,0 +1,41 @@
+package com.dji.sample.patches.utils;
+
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.util.UUID;
+
+public class MultipartFileTOFile {
+
+ public File multipartFile2File (MultipartFile multipartFile) {
+ String tmpFileDir = null;
+ // 创建临时文件
+ String randomFileName = UUID.randomUUID().toString();
+ tmpFileDir = "D:/tmp/"+randomFileName;
+ File file = new File(tmpFileDir);
+ InputStream inputStream = null;
+ FileOutputStream outputStream = null;
+ try {
+ // 获取文件输入流
+ inputStream = multipartFile.getInputStream();
+
+ if (!file.exists()) {
+ file.createNewFile();
+ }
+ // 创建输出流
+ outputStream = new FileOutputStream(file);
+ byte[] bytes = new byte[1024];
+ int len;
+ // 写入到创建的临时文件
+ while ((len = ((InputStream) inputStream).read(bytes)) > 0) {
+ outputStream.write(bytes, 0, len);
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ ZipUtil.deleteFiles(tmpFileDir);
+ return file;
+ }
+}
diff --git a/src/main/java/com/dji/sample/patches/utils/ShapeFileUtil.java b/src/main/java/com/dji/sample/patches/utils/ShapeFileUtil.java
index 72df6b3..b1325f4 100644
--- a/src/main/java/com/dji/sample/patches/utils/ShapeFileUtil.java
+++ b/src/main/java/com/dji/sample/patches/utils/ShapeFileUtil.java
@@ -65,10 +65,11 @@
* @description 通过shp压缩文件,将其转换为GeoJson格式
* @date 2023/7/18 16:04
*/
- public static JSONObject shpToGeoJson(File zipFile) throws IOException {
+ public static List<String> shpToGeoJson(File zipFile) throws IOException {
FeatureJSON fjson = new FeatureJSON();
JSONObject geoJsonObject=new JSONObject();
geoJsonObject.put("type","FeatureCollection");
+ List<String> strings=new ArrayList<>();
try {
// 获取FeatureCollection
FeatureCollection collection = getFeatureCollectionByShpFile(zipFile);
@@ -84,6 +85,8 @@
byte[] b = temp.getBytes("iso8859-1");
temp = new String(b, "gbk");
JSONObject json = JSONObject.parseObject(temp);
+ String str2 = json.getJSONObject("geometry").get("coordinates").toString();
+ strings.add(str2);
array.add(json);
}
iterator.close();
@@ -94,7 +97,7 @@
}catch (Exception e){
throw e;
}
- return geoJsonObject;
+ return strings;
}
}
--
Gitblit v1.9.3