rain
2024-05-07 1e5aefcfe44ed8570d58cb810e798803186a2a79
修改上传接口
5 files modified
84 ■■■■■ changed files
src/main/java/com/dji/sample/patches/model/entity/LotInfo.java 10 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/patches/service/ShpToDataSourceService.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/patches/service/impl/ShpToDataSourceServiceImpl.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/territory/controller/TbDkjbxxController.java 56 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/territory/model/entity/param/UploadUrlParam.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/patches/model/entity/LotInfo.java
@@ -63,8 +63,14 @@
    @TableField("sjlx")
    private String sjlx;
    @TableField("isplan")
    private int isplan;
    @TableField("is_plan")
    private int isPlan;
    @TableField("task_name")
    private String taskName;
    @TableField("task_id")
    private int taskId;
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Long createTime;
src/main/java/com/dji/sample/patches/service/ShpToDataSourceService.java
@@ -31,7 +31,7 @@
     * 将List<TbDkjbxxEntity>类型的数据批量插入到数据库中。
     * @param list 需要保存到数据库的TbDkjbxxEntity实体列表。
     */
    void savaInMysql(List<TbDkjbxxEntity> list, String workspaceId);
    void savaInMysql(List<TbDkjbxxEntity> list, String workspaceId,int id,String name);
     List<LotInfo> getNoPlan();
}
src/main/java/com/dji/sample/patches/service/impl/ShpToDataSourceServiceImpl.java
@@ -79,11 +79,13 @@
    }
    @Transactional
    public void savaInMysql(List<TbDkjbxxEntity> list, String workspaceId) {
    public void savaInMysql(List<TbDkjbxxEntity> list, String workspaceId,int id,String name) {
        for (int i = 0; i < list.size(); i++) {
            LotInfo lotInfo = new LotInfo();
            lotInfo.setWorkspaceId(workspaceId);
            lotInfo = dbConvertToEntity(list.get(i), workspaceId);
            lotInfo.setTaskId(id);
            lotInfo.setTaskName(name);
            lotInfo = dbConvertToEntity(list.get(i), workspaceId, id, name);
            shpToDataSourceMapper.insert(lotInfo);
        }
    }
@@ -95,20 +97,22 @@
     * @param file 需要转换的DKJBXX对象。
     * @return 返回一个构建好的LotInfo对象,包含从数据库实体中转换来的信息。
     */
    private LotInfo dbConvertToEntity(TbDkjbxxEntity file, String workspaceId) {
    private LotInfo dbConvertToEntity(TbDkjbxxEntity file, String workspaceId,int id,String name) {
        LotInfo.LotInfoBuilder builder = LotInfo.builder();
        builder.bsm(file.getFId())
                .xzqdm(file.getFXzqdmsys())
                .dkbh(file.getFTbbh())
                .dkfw(file.getFShape())
                .workspaceId(workspaceId)
                .isplan(0)
                .isPlan(0)
                .taskId(id)
                .taskName(name)
                .build();
        return builder.build();
    }
    public List<LotInfo> getNoPlan(){
   return shpToDataSourceMapper.selectList(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getIsplan,0));
   return shpToDataSourceMapper.selectList(new LambdaQueryWrapper<LotInfo>().eq(LotInfo::getIsPlan,0));
    }
}
src/main/java/com/dji/sample/territory/controller/TbDkjbxxController.java
@@ -72,11 +72,13 @@
     * @return
     */
    @PostMapping("/upload")
    public ResponseResult uploadFile(@RequestParam("file") MultipartFile file){
    public ResponseResult uploadFile(@RequestParam("file") MultipartFile file,
                                     @RequestParam String taskName,
                                     @RequestParam int taskId){
        String workspaceId="4a574db8-4ad3-48f7-9f16-3edbcd8056e1";
        tbDkjbxxService.uploadFile(file);
        List<TbDkjbxxEntity> list = tbDkjbxxService.list();
        shpToDataSourceService.savaInMysql(list, workspaceId);
        shpToDataSourceService.savaInMysql(list, workspaceId,taskId,taskName);
        return ResponseResult.success("上传成功");
    }
@@ -85,7 +87,7 @@
        tbDkjbxxService.uploadUrl(param.getDbUrl());
        String workspaceId="4a574db8-4ad3-48f7-9f16-3edbcd8056e1";
        List<TbDkjbxxEntity> list = tbDkjbxxService.list();
        shpToDataSourceService.savaInMysql(list, workspaceId);
        shpToDataSourceService.savaInMysql(list, workspaceId,param.getTaskId(),param.getTaskName());
        return ResponseResult.success("上传成功");
    }
@@ -100,28 +102,28 @@
     * @return
     * @throws Exception
     */
    @PostMapping("/uploadLot")
    public ResponseResult getGeo(@RequestParam String workspaceId,
                                 @RequestParam String waylineName,
                                 @RequestParam double airportLat,
                                 @RequestParam double airportLon,
                                 HttpServletRequest request) throws Exception {
        List<TbDkjbxxEntity> list = tbDkjbxxService.list();
        shpToDataSourceService.savaInMysql(list, workspaceId);
        MultipartFile multipartFile = tbDkjbxxService.listFile(workspaceId, waylineName, airportLat, airportLon);
        CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM);
        String creator = customClaim.getUsername();
        waylineFileService.importKmzFileBack(multipartFile, workspaceId, creator);
        WaylineFileEntity entity = waylineFileService.selectByName(waylineName);
        Map<String, String> infoMap = new HashMap<>();
        URL url = null;
        try {
            url = waylineFileService.getObjectUrl(workspaceId, entity.getWaylineId());
            infoMap.put("url", String.valueOf(MinioUrlUtils.getUrl(url)));
            infoMap.put("waylineId", entity.getWaylineId());
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
        return ResponseResult.success(infoMap);
    }
//    @PostMapping("/uploadLot")
//    public ResponseResult getGeo(@RequestParam String workspaceId,
//                                 @RequestParam String waylineName,
//                                 @RequestParam double airportLat,
//                                 @RequestParam double airportLon,
//                                 HttpServletRequest request) throws Exception {
//        List<TbDkjbxxEntity> list = tbDkjbxxService.list();
//        shpToDataSourceService.savaInMysql(list, workspaceId);
//        MultipartFile multipartFile = tbDkjbxxService.listFile(workspaceId, waylineName, airportLat, airportLon);
//        CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM);
//        String creator = customClaim.getUsername();
//        waylineFileService.importKmzFileBack(multipartFile, workspaceId, creator);
//        WaylineFileEntity entity = waylineFileService.selectByName(waylineName);
//        Map<String, String> infoMap = new HashMap<>();
//        URL url = null;
//        try {
//            url = waylineFileService.getObjectUrl(workspaceId, entity.getWaylineId());
//            infoMap.put("url", String.valueOf(MinioUrlUtils.getUrl(url)));
//            infoMap.put("waylineId", entity.getWaylineId());
//        } catch (SQLException e) {
//            throw new RuntimeException(e);
//        }
//        return ResponseResult.success(infoMap);
//    }
}
src/main/java/com/dji/sample/territory/model/entity/param/UploadUrlParam.java
@@ -15,4 +15,6 @@
        private String taskName;
        private String count;
        private int taskId;
}