diff --git a/dangan-dangan/src/main/java/com/da/dangan/controller/AreaSortController.java b/dangan-dangan/src/main/java/com/da/dangan/controller/AreaSortController.java index 290d534..1b150b9 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/controller/AreaSortController.java +++ b/dangan-dangan/src/main/java/com/da/dangan/controller/AreaSortController.java @@ -35,7 +35,7 @@ public class AreaSortController extends BaseController @GetMapping("/list") public TableDataInfo list(AreaSort areaSort) { - //startPage(); + startPage(); List list = areaSortService.selectAreaSortList(areaSort); return getDataTable(list); } diff --git a/dangan-dangan/src/main/java/com/da/dangan/controller/DaJianSuoController.java b/dangan-dangan/src/main/java/com/da/dangan/controller/DaJianSuoController.java new file mode 100644 index 0000000..73c0dc7 --- /dev/null +++ b/dangan-dangan/src/main/java/com/da/dangan/controller/DaJianSuoController.java @@ -0,0 +1,39 @@ +package com.da.dangan.controller; + +import com.da.common.core.controller.BaseController; +import com.da.common.core.domain.AjaxResult; +import com.da.dangan.domain.DaCzrkdj; +import com.da.dangan.service.IDaCzrkdjService; +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.RestController; + +import java.util.List; + +/** + * 档案检索Controller + * + * @author hs + * @date 2024-05-08 + */ +@RestController +@RequestMapping("/dangan/js") +public class DaJianSuoController extends BaseController { + @Autowired + private IDaCzrkdjService daCzrkdjService; + + /** + * 查询常住人口登记列表 + */ + // @PreAuthorize("@ss.hasPermi('dangan:czrkdj:list')") + @GetMapping("/list") + public AjaxResult list(DaCzrkdj daCzrkdj) + { AjaxResult ajaxResult = new AjaxResult(); + startPage(); + List czrkdjs = daCzrkdjService.selectDaCzrkdjList1(daCzrkdj); + ajaxResult.put("czrkdj",czrkdjs); + + return ajaxResult; + } +} diff --git a/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java b/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java new file mode 100644 index 0000000..73c2266 --- /dev/null +++ b/dangan-dangan/src/main/java/com/da/dangan/controller/DangAnCollectController.java @@ -0,0 +1,151 @@ +package com.da.dangan.controller; + +import com.da.common.config.RuoYiConfig; +import com.da.common.core.controller.BaseController; +import com.da.common.core.domain.AjaxResult; +import com.da.common.utils.file.FileUploadUtils; +import com.da.common.utils.file.FileUtils; +import com.da.dangan.domain.DaPicturesRecard; +import com.da.dangan.service.IDaCzrkdjService; +import com.da.dangan.service.IDaPicturesRecardService; +import com.da.framework.config.ServerConfig; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +/** + * 档案采集Controller + * + * @author hs + * @date 2024-05-08 + */ +@RestController +@RequestMapping("/dangan/collect") +public class DangAnCollectController extends BaseController { + @Autowired + private ServerConfig serverConfig; + @Autowired + private IDaPicturesRecardService daPicturesRecardService; + @Autowired + private IDaCzrkdjService daCzrkdjService; + + private static final String FILE_DELIMETER = ","; + /** + * 上传(单个) + */ + @PostMapping("/save") + public AjaxResult save(@RequestPart("file")MultipartFile file, @RequestPart("picRecard")DaPicturesRecard picRecard) + { + try + { + // 上传文件路径 + String filePath = RuoYiConfig.getUploadPath(); + // 上传并返回新文件名称 + String fileName = FileUploadUtils.upload(filePath, file); + String url = serverConfig.getUrl() + fileName; + //保存图片对应信息 + picRecard.setPicName(file.getOriginalFilename()); + picRecard.setPicUrl(url); + picRecard.setCreateBy(getUsername()); + AjaxResult ajax = AjaxResult.success(); + daPicturesRecardService.insertDaPicturesRecard(picRecard); + ajax.put("data",picRecard); + /*ajax.put("url", url); + ajax.put("fileName", fileName); + ajax.put("newFileName", FileUtils.getName(fileName)); + ajax.put("originalFilename", file.getOriginalFilename());*/ + return ajax; + } + catch (Exception e) + { + return AjaxResult.error(e.getMessage()); + } + } + + /** + * 通用上传(单个/多个) + */ + @PostMapping("/saves") + public AjaxResult saves(@RequestPart("files")MultipartFile[] files,@RequestPart("picRecard") DaPicturesRecard picRecard) throws Exception + { + try + { //数据存储 + List picRecards = new ArrayList<>(); + // 上传文件路径 + String filePath = RuoYiConfig.getUploadPath(); + List urls = new ArrayList(); + List fileNames = new ArrayList(); + List newFileNames = new ArrayList(); + List originalFilenames = new ArrayList(); + for (MultipartFile file : files) + { + // + DaPicturesRecard newPicRecard = new DaPicturesRecard(); + newPicRecard=picRecard; + // 上传并返回新文件名称 + String fileName = FileUploadUtils.upload(filePath, file); + String url = serverConfig.getUrl() + fileName; + urls.add(url); + fileNames.add(fileName); + newFileNames.add(FileUtils.getName(fileName)); + originalFilenames.add(file.getOriginalFilename()); + //保存图片对应信息 + picRecard.setPicName(file.getOriginalFilename()); + picRecard.setPicUrl(url); + picRecard.setCreateBy(getUsername()); + daPicturesRecardService.insertDaPicturesRecard(picRecard); + picRecards.add(newPicRecard); + } + AjaxResult ajax = AjaxResult.success(); + /*ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER)); + ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER)); + ajax.put("newFileNames", StringUtils.join(newFileNames, FILE_DELIMETER)); + ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER));*/ + ajax.put("data",picRecards); + return ajax; + } + catch (Exception e) + { + return AjaxResult.error(e.getMessage()); + } + } + + /** + * 调用识别接口 + */ + @PostMapping("/recongnize") + public AjaxResult recognize(@RequestBody DaPicturesRecard[] picRecards){ + + try { + //获取所有的文件 + List files = new ArrayList<>(); + for (DaPicturesRecard picRecard : picRecards) { + File file = new File(picRecard.getPicUrl()); + files.add(file); + } + // TODO 调用第三方接口识别信息 + // String result= CallThirdInterface.callThirdInterface("url",files); + // TODO 存储识别后的信息 + //daCzrkdjService.insertDaCzrkdj(); + + //修改图片信息记录表为已识别 + for(DaPicturesRecard picRecard:picRecards){ + picRecard.setRecognize("1"); + daPicturesRecardService.updateDaPicturesRecard(picRecard); + } + } catch (Exception e) { + e.printStackTrace(); + return AjaxResult.error(e.getMessage()); + } + + return AjaxResult.success(); + } + + + + +} diff --git a/dangan-dangan/src/main/java/com/da/dangan/mapper/DaCzrkdjMapper.java b/dangan-dangan/src/main/java/com/da/dangan/mapper/DaCzrkdjMapper.java index b53b128..9f1288f 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/mapper/DaCzrkdjMapper.java +++ b/dangan-dangan/src/main/java/com/da/dangan/mapper/DaCzrkdjMapper.java @@ -59,4 +59,6 @@ public interface DaCzrkdjMapper * @return 结果 */ public int deleteDaCzrkdjByIds(Long[] ids); + + List selectDaCzrkdjList1(DaCzrkdj daCzrkdj); } diff --git a/dangan-dangan/src/main/java/com/da/dangan/service/IDaCzrkdjService.java b/dangan-dangan/src/main/java/com/da/dangan/service/IDaCzrkdjService.java index 83e9526..0c473b8 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/service/IDaCzrkdjService.java +++ b/dangan-dangan/src/main/java/com/da/dangan/service/IDaCzrkdjService.java @@ -59,4 +59,6 @@ public interface IDaCzrkdjService * @return 结果 */ public int deleteDaCzrkdjById(Long id); + + List selectDaCzrkdjList1(DaCzrkdj daCzrkdj); } diff --git a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaCzrkdjServiceImpl.java b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaCzrkdjServiceImpl.java index b08447a..b1db30e 100644 --- a/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaCzrkdjServiceImpl.java +++ b/dangan-dangan/src/main/java/com/da/dangan/service/impl/DaCzrkdjServiceImpl.java @@ -94,4 +94,9 @@ public class DaCzrkdjServiceImpl implements IDaCzrkdjService { return daCzrkdjMapper.deleteDaCzrkdjById(id); } + + @Override + public List selectDaCzrkdjList1(DaCzrkdj daCzrkdj) { + return daCzrkdjMapper.selectDaCzrkdjList1(daCzrkdj); + } } diff --git a/dangan-dangan/src/main/java/com/da/dangan/util/CallThirdInterface.java b/dangan-dangan/src/main/java/com/da/dangan/util/CallThirdInterface.java new file mode 100644 index 0000000..63c66e0 --- /dev/null +++ b/dangan-dangan/src/main/java/com/da/dangan/util/CallThirdInterface.java @@ -0,0 +1,75 @@ +package com.da.dangan.util; + +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.http.Method; + +import java.io.File; +import java.net.HttpCookie; +import java.util.List; + +/** + * 调用第三方接口,传文件,获取识别结果 + */ +public class CallThirdInterface { + + /* + public static String callThirdInterface1(String url){ + // 文件路径 + String filePath = "/path/to/your/file.txt"; + // 请求的URL + String url = "http://yourserver.com/upload"; + + // 使用file方法传递文件 + HttpRequest request = HttpRequest.post(url) + .file("fileParam", filePath); + + // 发送请求并获取响应 + HttpResponse response = request.execute(); + + // 打印响应内容 + System.out.println(response.body()); + } */ + + public static String callThirdInterface(String url,List files){ + // 1. 创建HttpRequest对象 - 指定好 url 地址 + HttpRequest httpRequest = new HttpRequest(url); + // 2. 设置请求方式,默认是GET请求 + httpRequest.setMethod(Method.POST); + // 3. 设置请求参数 可通过 form表单方法 设置 可以是文件类型 + // form方法有很多重载方法,可以一个一个参数设置,也可以将参数封装进一个map集合然后一块儿 + // File file = new File("C:\\Users\\hssym\\Downloads\\UBQ.png"); + httpRequest.form("image",files); + // 4. 设置请求头 + // 请求头同样可以逐一设置,也可以封装到map中再统一设置 + // 设置的请求头是否可以覆盖等信息具体请看源码关于重载方法的说明 + httpRequest.header("x-c-authorization","yourToken"); + // 5. 执行请求,得到http响应类 + HttpResponse execute = httpRequest.execute(); + + // 6. 解析这个http响应类,可以获取到响应主体、cookie、是否请求成功等信息 + boolean ok = execute.isOk(); // 是否请求成功 判断依据为:状态码范围在200~299内 + System.out.println(ok); + List cookies = execute.getCookies();// 获取所有cookie + cookies.forEach(System.out::println); // 如果为空不会遍历的 + String body = execute.body(); // 获取响应主体 + System.out.println(body); + return body; + } + + /** + * 生成添加各个乡镇的村和社区的语句 + * @param args + */ + public static void main(String[] args) { + String num = "后屯村、陈家口村、北麦洼村、张家屯村、赵家屯村、潘家村、骆村、大屯村、祁刘村、丁家庵村、半壁店村、西高家村、北土路口村、琅窝村、孤城村、耿家庄村、南麦洼村、北护驾庄村、南护驾庄村、北尚家庄村、辛兴庄村、种家湾村"; + String[] yujus = num.split("、"); + StringBuffer values = new StringBuffer("INSERT INTO `dangan`.`area_sort`( `mu_name`, `area_type`, `create_by`, `create_time`,pid) VALUES"); + for (String s : yujus) { + String y ="('"+s+"','2','admin', '2024-05-13 15:12:07',14),"; + values.append(y); + } + System.out.println(values); + } + +} diff --git a/dangan-dangan/src/main/resources/mapper/dangan/DaCzrkdjMapper.xml b/dangan-dangan/src/main/resources/mapper/dangan/DaCzrkdjMapper.xml index 8ae87d9..2cf822d 100644 --- a/dangan-dangan/src/main/resources/mapper/dangan/DaCzrkdjMapper.xml +++ b/dangan-dangan/src/main/resources/mapper/dangan/DaCzrkdjMapper.xml @@ -40,7 +40,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and pictures = #{pictures} - + + +