From 3ae46f2a59f9d4e751f78d8dc1a896ceba5ca495 Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Fri, 09 Jan 2026 15:13:40 +0800
Subject: [PATCH] 区域管理模块
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java | 40 ++
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/dto/FwAreaDivideDTO.java | 2
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideMapper.xml | 251 ++++++++++++++--
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/excel/FwAreaDivideExcel.java | 7
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwPoliceStationController.java | 68 ++--
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideMapper.java | 23 +
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwDefenseZoneController.java | 96 ++++--
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/vo/FwAreaDivideVO.java | 19 +
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseZoneServiceImpl.java | 34 +
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwPoliceStationServiceImpl.java | 27 +
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwDefenseSceneController.java | 30 +
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseZoneMapper.xml | 120 +++++++
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/dto/FwDefenseZoneDTO.java | 48 ++
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/entity/FwAreaDivideEntity.java | 2
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/entity/FwDefenseZoneEntity.java | 2
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java | 27 +
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwAreaDivideService.java | 7
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/excel/FwDefenseZoneExcel.java | 2
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseZoneMapper.java | 15 +
drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwAreaDivideController.java | 46 ++
20 files changed, 697 insertions(+), 169 deletions(-)
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwAreaDivideController.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwAreaDivideController.java
index c422d4a..4124882 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwAreaDivideController.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwAreaDivideController.java
@@ -29,6 +29,7 @@
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -36,7 +37,6 @@
import org.sxkj.fw.area.entity.FwAreaDivideEntity;
import org.sxkj.fw.area.vo.FwAreaDivideVO;
import org.sxkj.fw.area.excel.FwAreaDivideExcel;
-import org.sxkj.fw.area.wrapper.FwAreaDivideWrapper;
import org.sxkj.fw.area.service.IFwAreaDivideService;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.utils.DateUtil;
@@ -68,10 +68,16 @@
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
- @ApiOperation(value = "详情", notes = "传入fwAreaDivide")
- public R<FwAreaDivideVO> detail(FwAreaDivideEntity fwAreaDivide) {
- FwAreaDivideEntity detail = fwAreaDivideService.getOne(Condition.getQueryWrapper(fwAreaDivide));
- return R.data(FwAreaDivideWrapper.build().entityVO(detail));
+ @ApiOperation(value = "详情", notes = "传入id")
+ public R<FwAreaDivideVO> detail(@ApiParam(value = "主键id", required = true) @RequestParam Long id) {
+ if (id == null) {
+ return R.fail("主键不能为空");
+ }
+ FwAreaDivideVO detail = fwAreaDivideService.selectFwAreaDivideDetail(id);
+ if (detail == null) {
+ return R.fail("数据不存在");
+ }
+ return R.data(detail);
}
/**
* 区域划分表 分页
@@ -105,15 +111,15 @@
// return R.status(fwAreaDivideService.save(fwAreaDivide));
// }
- /**
- * 区域划分表 修改
- */
- // @PostMapping("/update")
- // @ApiOperationSupport(order = 5)
- // @ApiOperation(value = "修改", notes = "传入fwAreaDivide")
- // public R update(@Valid @RequestBody FwAreaDivideEntity fwAreaDivide) {
- // return R.status(fwAreaDivideService.updateById(fwAreaDivide));
- // }
+// /**
+// * 区域划分表 修改
+// */
+// @PostMapping("/update")
+// @ApiOperationSupport(order = 5)
+// @ApiOperation(value = "修改", notes = "传入fwAreaDivide")
+// public R update(@Valid @RequestBody FwAreaDivideEntity fwAreaDivide) {
+// return R.status(fwAreaDivideService.updateById(fwAreaDivide));
+// }
/**
* 区域划分表 新增或修改
@@ -123,6 +129,9 @@
@ApiOperation(value = "新增或修改", notes = "传入fwAreaDivide")
public R submit(@Valid @RequestBody FwAreaDivideDTO fwAreaDivide) {
FwAreaDivideEntity fwAreaDivideEntity = Objects.requireNonNull(BeanUtil.copy(fwAreaDivide, FwAreaDivideEntity.class));
+ if (isGeomInvalid(fwAreaDivideEntity.getGeom())) {
+ return R.fail("几何数据格式不正确");
+ }
return R.status(fwAreaDivideService.saveOrUpdate(fwAreaDivideEntity));
}
@@ -140,6 +149,7 @@
/**
* 导出数据
*/
+ @ApiIgnore
@GetMapping("/export-fwAreaDivide")
@ApiOperationSupport(order = 9)
@ApiOperation(value = "导出数据", notes = "传入fwAreaDivide")
@@ -153,4 +163,12 @@
ExcelUtil.export(response, "区域划分表数据" + DateUtil.time(), "区域划分表数据表", list, FwAreaDivideExcel.class);
}
+ private boolean isGeomInvalid(String geom) {
+ if (StringUtil.isBlank(geom)) {
+ return false;
+ }
+ String upper = geom.trim().toUpperCase();
+ return !upper.contains("POLYGON");
+ }
+
}
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwDefenseSceneController.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwDefenseSceneController.java
index 8de13c7..13808b1 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwDefenseSceneController.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwDefenseSceneController.java
@@ -64,9 +64,12 @@
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
- @ApiOperation(value = "详情", notes = "传入fwDefenseScene")
- public R<FwDefenseSceneVO> detail(FwDefenseSceneEntity fwDefenseScene) {
- FwDefenseSceneEntity detail = fwDefenseSceneService.getOne(Condition.getQueryWrapper(fwDefenseScene));
+ @ApiOperation(value = "详情", notes = "传入id")
+ public R<FwDefenseSceneVO> detail(@ApiParam(value = "主键id", required = true) @RequestParam Long id) {
+ if (id == null) {
+ return R.fail("主键不能为空");
+ }
+ FwDefenseSceneEntity detail = fwDefenseSceneService.getById(id);
return R.data(FwDefenseSceneWrapper.build().entityVO(detail));
}
/**
@@ -100,16 +103,16 @@
// public R save(@Valid @RequestBody FwDefenseSceneEntity fwDefenseScene) {
// return R.status(fwDefenseSceneService.save(fwDefenseScene));
// }
-
- /**
- * 防控场景表 修改
- */
- @PostMapping("/update")
- @ApiOperationSupport(order = 5)
- @ApiOperation(value = "修改", notes = "传入fwDefenseScene")
- public R update(@Valid @RequestBody FwDefenseSceneEntity fwDefenseScene) {
- return R.status(fwDefenseSceneService.updateById(fwDefenseScene));
- }
+//
+// /**
+// * 防控场景表 修改
+// */
+// @PostMapping("/update")
+// @ApiOperationSupport(order = 5)
+// @ApiOperation(value = "修改", notes = "传入fwDefenseScene")
+// public R update(@Valid @RequestBody FwDefenseSceneEntity fwDefenseScene) {
+// return R.status(fwDefenseSceneService.updateById(fwDefenseScene));
+// }
/**
* 防控场景表 新增或修改
@@ -135,6 +138,7 @@
/**
* 导出数据
*/
+ @ApiIgnore
@GetMapping("/export-fwDefenseScene")
@ApiOperationSupport(order = 9)
@ApiOperation(value = "导出数据", notes = "传入fwDefenseScene")
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwDefenseZoneController.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwDefenseZoneController.java
index 2295460..9196505 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwDefenseZoneController.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwDefenseZoneController.java
@@ -27,10 +27,13 @@
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.sxkj.fw.area.dto.FwDefenseZoneDTO;
import org.sxkj.fw.area.entity.FwDefenseZoneEntity;
import org.sxkj.fw.area.vo.FwDefenseZoneVO;
import org.sxkj.fw.area.excel.FwDefenseZoneExcel;
@@ -43,6 +46,7 @@
import springfox.documentation.annotations.ApiIgnore;
import java.util.Map;
import java.util.List;
+import java.util.Objects;
import javax.servlet.http.HttpServletResponse;
/**
@@ -64,21 +68,24 @@
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
- @ApiOperation(value = "详情", notes = "传入fwDefenseZone")
- public R<FwDefenseZoneVO> detail(FwDefenseZoneEntity fwDefenseZone) {
- FwDefenseZoneEntity detail = fwDefenseZoneService.getOne(Condition.getQueryWrapper(fwDefenseZone));
+ @ApiOperation(value = "详情", notes = "传入id")
+ public R<FwDefenseZoneVO> detail(@ApiParam(value = "主键id", required = true) @RequestParam Long id) {
+ if (id == null) {
+ return R.fail("主键不能为空");
+ }
+ FwDefenseZoneEntity detail = fwDefenseZoneService.getById(id);
return R.data(FwDefenseZoneWrapper.build().entityVO(detail));
}
- /**
- * 防区管理表 分页
- */
- @GetMapping("/list")
- @ApiOperationSupport(order = 2)
- @ApiOperation(value = "分页", notes = "传入fwDefenseZone")
- public R<IPage<FwDefenseZoneVO>> list(@ApiIgnore @RequestParam Map<String, Object> fwDefenseZone, Query query) {
- IPage<FwDefenseZoneEntity> pages = fwDefenseZoneService.page(Condition.getPage(query), Condition.getQueryWrapper(fwDefenseZone, FwDefenseZoneEntity.class));
- return R.data(FwDefenseZoneWrapper.build().pageVO(pages));
- }
+// /**
+// * 防区管理表 分页
+// */
+// @GetMapping("/list")
+// @ApiOperationSupport(order = 2)
+// @ApiOperation(value = "分页", notes = "传入fwDefenseZone")
+// public R<IPage<FwDefenseZoneVO>> list(@ApiIgnore @RequestParam Map<String, Object> fwDefenseZone, Query query) {
+// IPage<FwDefenseZoneEntity> pages = fwDefenseZoneService.page(Condition.getPage(query), Condition.getQueryWrapper(fwDefenseZone, FwDefenseZoneEntity.class));
+// return R.data(FwDefenseZoneWrapper.build().pageVO(pages));
+// }
/**
* 防区管理表 自定义分页
@@ -91,25 +98,33 @@
return R.data(pages);
}
- /**
- * 防区管理表 新增
- */
- @PostMapping("/save")
- @ApiOperationSupport(order = 4)
- @ApiOperation(value = "新增", notes = "传入fwDefenseZone")
- public R save(@Valid @RequestBody FwDefenseZoneEntity fwDefenseZone) {
- return R.status(fwDefenseZoneService.save(fwDefenseZone));
- }
-
- /**
- * 防区管理表 修改
- */
- @PostMapping("/update")
- @ApiOperationSupport(order = 5)
- @ApiOperation(value = "修改", notes = "传入fwDefenseZone")
- public R update(@Valid @RequestBody FwDefenseZoneEntity fwDefenseZone) {
- return R.status(fwDefenseZoneService.updateById(fwDefenseZone));
- }
+// /**
+// * 防区管理表 新增
+// */
+// @PostMapping("/save")
+// @ApiOperationSupport(order = 4)
+// @ApiOperation(value = "新增", notes = "传入fwDefenseZone")
+// public R save(@Valid @RequestBody FwDefenseZoneDTO fwDefenseZone) {
+// FwDefenseZoneEntity entity = Objects.requireNonNull(BeanUtil.copy(fwDefenseZone, FwDefenseZoneEntity.class));
+// if (isGeomInvalid(entity.getGeom())) {
+// return R.fail("几何数据格式不正确");
+// }
+// return R.status(fwDefenseZoneService.save(entity));
+// }
+//
+// /**
+// * 防区管理表 修改
+// */
+// @PostMapping("/update")
+// @ApiOperationSupport(order = 5)
+// @ApiOperation(value = "修改", notes = "传入fwDefenseZone")
+// public R update(@Valid @RequestBody FwDefenseZoneDTO fwDefenseZone) {
+// FwDefenseZoneEntity entity = Objects.requireNonNull(BeanUtil.copy(fwDefenseZone, FwDefenseZoneEntity.class));
+// if (isGeomInvalid(entity.getGeom())) {
+// return R.fail("几何数据格式不正确");
+// }
+// return R.status(fwDefenseZoneService.updateById(entity));
+// }
/**
* 防区管理表 新增或修改
@@ -117,8 +132,12 @@
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入fwDefenseZone")
- public R submit(@Valid @RequestBody FwDefenseZoneEntity fwDefenseZone) {
- return R.status(fwDefenseZoneService.saveOrUpdate(fwDefenseZone));
+ public R submit(@Valid @RequestBody FwDefenseZoneDTO fwDefenseZone) {
+ FwDefenseZoneEntity entity = Objects.requireNonNull(BeanUtil.copy(fwDefenseZone, FwDefenseZoneEntity.class));
+ if (isGeomInvalid(entity.getGeom())) {
+ return R.fail("几何数据格式不正确");
+ }
+ return R.status(fwDefenseZoneService.saveOrUpdate(entity));
}
/**
@@ -135,6 +154,7 @@
/**
* 导出数据
*/
+ @ApiIgnore
@GetMapping("/export-fwDefenseZone")
@ApiOperationSupport(order = 9)
@ApiOperation(value = "导出数据", notes = "传入fwDefenseZone")
@@ -148,4 +168,12 @@
ExcelUtil.export(response, "防区管理表数据" + DateUtil.time(), "防区管理表数据表", list, FwDefenseZoneExcel.class);
}
+ private boolean isGeomInvalid(String geom) {
+ if (StringUtil.isBlank(geom)) {
+ return false;
+ }
+ String upper = geom.trim().toUpperCase();
+ return !upper.contains("POLYGON");
+ }
+
}
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwPoliceStationController.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwPoliceStationController.java
index 89924ee..2b45fc9 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwPoliceStationController.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/controller/FwPoliceStationController.java
@@ -64,21 +64,24 @@
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 1)
- @ApiOperation(value = "详情", notes = "传入fwPoliceStation")
- public R<FwPoliceStationVO> detail(FwPoliceStationEntity fwPoliceStation) {
- FwPoliceStationEntity detail = fwPoliceStationService.getOne(Condition.getQueryWrapper(fwPoliceStation));
+ @ApiOperation(value = "详情", notes = "传入id")
+ public R<FwPoliceStationVO> detail(@ApiParam(value = "主键id", required = true) @RequestParam Long id) {
+ if (id == null) {
+ return R.fail("主键不能为空");
+ }
+ FwPoliceStationEntity detail = fwPoliceStationService.getById(id);
return R.data(FwPoliceStationWrapper.build().entityVO(detail));
}
- /**
- * 派出所信息表 分页
- */
- @GetMapping("/list")
- @ApiOperationSupport(order = 2)
- @ApiOperation(value = "分页", notes = "传入fwPoliceStation")
- public R<IPage<FwPoliceStationVO>> list(@ApiIgnore @RequestParam Map<String, Object> fwPoliceStation, Query query) {
- IPage<FwPoliceStationEntity> pages = fwPoliceStationService.page(Condition.getPage(query), Condition.getQueryWrapper(fwPoliceStation, FwPoliceStationEntity.class));
- return R.data(FwPoliceStationWrapper.build().pageVO(pages));
- }
+// /**
+// * 派出所信息表 分页
+// */
+// @GetMapping("/list")
+// @ApiOperationSupport(order = 2)
+// @ApiOperation(value = "分页", notes = "传入fwPoliceStation")
+// public R<IPage<FwPoliceStationVO>> list(@ApiIgnore @RequestParam Map<String, Object> fwPoliceStation, Query query) {
+// IPage<FwPoliceStationEntity> pages = fwPoliceStationService.page(Condition.getPage(query), Condition.getQueryWrapper(fwPoliceStation, FwPoliceStationEntity.class));
+// return R.data(FwPoliceStationWrapper.build().pageVO(pages));
+// }
/**
* 派出所信息表 自定义分页
@@ -91,25 +94,25 @@
return R.data(pages);
}
- /**
- * 派出所信息表 新增
- */
- @PostMapping("/save")
- @ApiOperationSupport(order = 4)
- @ApiOperation(value = "新增", notes = "传入fwPoliceStation")
- public R save(@Valid @RequestBody FwPoliceStationEntity fwPoliceStation) {
- return R.status(fwPoliceStationService.save(fwPoliceStation));
- }
-
- /**
- * 派出所信息表 修改
- */
- @PostMapping("/update")
- @ApiOperationSupport(order = 5)
- @ApiOperation(value = "修改", notes = "传入fwPoliceStation")
- public R update(@Valid @RequestBody FwPoliceStationEntity fwPoliceStation) {
- return R.status(fwPoliceStationService.updateById(fwPoliceStation));
- }
+// /**
+// * 派出所信息表 新增
+// */
+// @PostMapping("/save")
+// @ApiOperationSupport(order = 4)
+// @ApiOperation(value = "新增", notes = "传入fwPoliceStation")
+// public R save(@Valid @RequestBody FwPoliceStationEntity fwPoliceStation) {
+// return R.status(fwPoliceStationService.save(fwPoliceStation));
+// }
+//
+// /**
+// * 派出所信息表 修改
+// */
+// @PostMapping("/update")
+// @ApiOperationSupport(order = 5)
+// @ApiOperation(value = "修改", notes = "传入fwPoliceStation")
+// public R update(@Valid @RequestBody FwPoliceStationEntity fwPoliceStation) {
+// return R.status(fwPoliceStationService.updateById(fwPoliceStation));
+// }
/**
* 派出所信息表 新增或修改
@@ -135,6 +138,7 @@
/**
* 导出数据
*/
+ @ApiIgnore
@GetMapping("/export-fwPoliceStation")
@ApiOperationSupport(order = 9)
@ApiOperation(value = "导出数据", notes = "传入fwPoliceStation")
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/dto/FwAreaDivideDTO.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/dto/FwAreaDivideDTO.java
index f8fdf7a..2587640 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/dto/FwAreaDivideDTO.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/dto/FwAreaDivideDTO.java
@@ -64,7 +64,7 @@
* 经纬度面(存储地理面数据)
*/
@ApiModelProperty(value = "经纬度面(存储地理面数据)")
- private byte[] geom;
+ private String geom;
/**
* 区域类型:报警区/重点管制区
*/
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/dto/FwDefenseZoneDTO.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/dto/FwDefenseZoneDTO.java
index de1873b..0df8a95 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/dto/FwDefenseZoneDTO.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/dto/FwDefenseZoneDTO.java
@@ -16,19 +16,57 @@
*/
package org.sxkj.fw.area.dto;
-import org.sxkj.fw.area.entity.FwDefenseZoneEntity;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import lombok.EqualsAndHashCode;
+import org.sxkj.fw.area.entity.FwDefenseZoneEntity;
+
+import java.math.BigDecimal;
/**
* 防区管理表 数据传输对象实体类
*
* @author lw
- * @since 2026-01-08
+ * @since 2026-01-09
*/
@Data
-@EqualsAndHashCode(callSuper = true)
-public class FwDefenseZoneDTO extends FwDefenseZoneEntity {
+public class FwDefenseZoneDTO {
private static final long serialVersionUID = 1L;
+ @ApiModelProperty("主键id")
+ private Long id;
+ /**
+ * 防区名称
+ */
+ @ApiModelProperty(value = "防区名称")
+ private String zoneName;
+ /**
+ * 防区面积(km2)
+ */
+ @ApiModelProperty(value = "防区面积(km2)")
+ private BigDecimal zoneArea;
+ /**
+ * 关联场景ID,逗号分隔
+ */
+ @ApiModelProperty(value = "关联场景ID,逗号分隔")
+ private String defenseSceneIds;
+ /**
+ * 关联区域ID,逗号分隔
+ */
+ @ApiModelProperty(value = "关联区域ID,逗号分隔")
+ private String areaDivideIds;
+ /**
+ * 关联设备ID,逗号分隔
+ */
+ @ApiModelProperty(value = "关联设备ID,逗号分隔")
+ private String deviceIds;
+ /**
+ * 经纬度面(存储地理面数据)
+ */
+ @ApiModelProperty(value = "经纬度面(存储地理面数据)")
+ private String geom;
+ /**
+ * 区域编码
+ */
+ @ApiModelProperty(value = "区域编码")
+ private String areaCode;
}
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/entity/FwAreaDivideEntity.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/entity/FwAreaDivideEntity.java
index 5cbe1c0..6caafd0 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/entity/FwAreaDivideEntity.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/entity/FwAreaDivideEntity.java
@@ -69,7 +69,7 @@
*/
@TableField("geom")
@ApiModelProperty(value = "经纬度面(存储地理面数据)")
- private byte[] geom;
+ private String geom;
/**
* 区域类型:报警区/重点管制区
*/
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/entity/FwDefenseZoneEntity.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/entity/FwDefenseZoneEntity.java
index 7dab73e..29b1976 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/entity/FwDefenseZoneEntity.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/entity/FwDefenseZoneEntity.java
@@ -73,7 +73,7 @@
*/
@TableField("geom")
@ApiModelProperty(value = "经纬度面(存储地理面数据)")
- private byte[] geom;
+ private String geom;
/**
* 区域编码
*/
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/excel/FwAreaDivideExcel.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/excel/FwAreaDivideExcel.java
index 14a9fb6..2c5fa90 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/excel/FwAreaDivideExcel.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/excel/FwAreaDivideExcel.java
@@ -22,6 +22,7 @@
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
+import org.sxkj.fw.utils.excel.LocalTimeConverter;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -72,7 +73,7 @@
*/
@ColumnWidth(20)
@ExcelProperty("经纬度面(存储地理面数据)")
- private byte[] geom;
+ private String geom;
/**
* 区域类型:报警区/重点管制区
*/
@@ -107,13 +108,13 @@
* 可飞行时间段-开始
*/
@ColumnWidth(20)
- @ExcelProperty("可飞行时间段-开始")
+ @ExcelProperty(value = "可飞行时间段-开始", converter = LocalTimeConverter.class)
private LocalTime flyTimeStart;
/**
* 可飞行时间段-结束
*/
@ColumnWidth(20)
- @ExcelProperty("可飞行时间段-结束")
+ @ExcelProperty(value = "可飞行时间段-结束", converter = LocalTimeConverter.class)
private LocalTime flyTimeEnd;
/**
* 可飞行日期-开始
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/excel/FwDefenseZoneExcel.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/excel/FwDefenseZoneExcel.java
index 77e5679..8b88e6d 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/excel/FwDefenseZoneExcel.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/excel/FwDefenseZoneExcel.java
@@ -76,7 +76,7 @@
*/
@ColumnWidth(20)
@ExcelProperty("经纬度面(存储地理面数据)")
- private byte[] geom;
+ private String geom;
/**
* 区域编码
*/
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideMapper.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideMapper.java
index 7ae24e8..0558032 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideMapper.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideMapper.java
@@ -43,6 +43,29 @@
*/
List<FwAreaDivideVO> selectFwAreaDividePage(IPage page, FwAreaDivideDTO fwAreaDivide);
+ /**
+ * 详情
+ *
+ * @param id
+ * @return
+ */
+ FwAreaDivideVO selectFwAreaDivideDetail(@Param("id") Long id);
+
+ /**
+ * 新增(几何字段使用文本入库)
+ *
+ * @param fwAreaDivide
+ * @return
+ */
+ int insertWithGeom(FwAreaDivideEntity fwAreaDivide);
+
+ /**
+ * 修改(几何字段使用文本入库)
+ *
+ * @param fwAreaDivide
+ * @return
+ */
+ int updateWithGeomById(FwAreaDivideEntity fwAreaDivide);
/**
* 获取导出数据
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideMapper.xml b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideMapper.xml
index cadf928..9a5fbe0 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideMapper.xml
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwAreaDivideMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="org.sxkj.fw.area.mapper.FwAreaDivideMapper">
<!-- 通用查询映射结果 -->
- <resultMap id="fwAreaDivideResultMap" type="org.sxkj.fw.area.entity.FwAreaDivideEntity">
+ <resultMap id="fwAreaDivideResultMap" type="org.sxkj.fw.area.vo.FwAreaDivideVO">
<result column="id" property="id"/>
<result column="area_name" property="areaName"/>
<result column="longitude" property="longitude"/>
@@ -20,6 +20,9 @@
<result column="fly_date_start" property="flyDateStart"/>
<result column="fly_date_end" property="flyDateEnd"/>
<result column="area_code" property="areaCode"/>
+ <result column="police_station_name" property="policeStationName"/>
+ <result column="police_station_contact_person" property="policeStationContactPerson"/>
+ <result column="police_station_contact_phone" property="policeStationContactPhone"/>
<result column="create_user" property="createUser"/>
<result column="create_dept" property="createDept"/>
<result column="create_time" property="createTime"/>
@@ -31,81 +34,253 @@
<select id="selectFwAreaDividePage" resultMap="fwAreaDivideResultMap">
- select * from ja_fw_area_divide
+ select
+ ad.id,
+ ad.area_name,
+ ad.longitude,
+ ad.latitude,
+ ad.area_size,
+ concat(ST_AsText(ad.geom), ' | ', ST_SRID(ad.geom)) as geom,
+ ad.area_type,
+ ad.trigger_condition,
+ ad.response_mechanism,
+ ad.control_level,
+ ad.police_station_id,
+ ad.fly_time_start,
+ ad.fly_time_end,
+ ad.fly_date_start,
+ ad.fly_date_end,
+ ad.area_code,
+ ps.station_name as police_station_name,
+ ad.create_user,
+ ad.create_dept,
+ ad.create_time,
+ ad.update_user,
+ ad.update_time,
+ ad.status,
+ ad.is_deleted
+ from ja_fw_area_divide ad
+ left join ja_fw_police_station ps on ps.id = ad.police_station_id and ps.is_deleted = 0
<where>
- is_deleted = 0
+ ad.is_deleted = 0
<if test="param2.id != null and param2.id != ''">
- and id = #{param2.id}
+ and ad.id = #{param2.id}
</if>
<if test="param2.areaName != null and param2.areaName != ''">
- and area_name like concat('%', #{param2.areaName}, '%')
+ and ad.area_name like concat('%', #{param2.areaName}, '%')
</if>
<if test="param2.longitude != null and param2.longitude != ''">
- and longitude = #{param2.longitude}
+ and ad.longitude = #{param2.longitude}
</if>
<if test="param2.latitude != null and param2.latitude != ''">
- and latitude = #{param2.latitude}
+ and ad.latitude = #{param2.latitude}
</if>
<if test="param2.areaSize != null and param2.areaSize != ''">
- and area_size = #{param2.areaSize}
+ and ad.area_size = #{param2.areaSize}
</if>
<if test="param2.geom != null and param2.geom != ''">
- and geom = #{param2.geom}
+ and ST_Equals(
+ ad.geom,
+ ST_SRID(
+ ST_GeomFromText(
+ trim(case when instr(#{param2.geom}, '|') > 0 then substring_index(#{param2.geom}, '|', 1) else #{param2.geom} end)
+ ),
+ case when instr(#{param2.geom}, '|') > 0 then cast(trim(substring_index(#{param2.geom}, '|', -1)) as unsigned) else 4326 end
+ )
+ )
</if>
<if test="param2.areaType != null and param2.areaType != ''">
- and area_type = #{param2.areaType}
+ and ad.area_type = #{param2.areaType}
</if>
<if test="param2.triggerCondition != null and param2.triggerCondition != ''">
- and trigger_condition = #{param2.triggerCondition}
+ and ad.trigger_condition = #{param2.triggerCondition}
</if>
<if test="param2.responseMechanism != null and param2.responseMechanism != ''">
- and response_mechanism = #{param2.responseMechanism}
+ and ad.response_mechanism = #{param2.responseMechanism}
</if>
<if test="param2.controlLevel != null and param2.controlLevel != ''">
- and control_level = #{param2.controlLevel}
+ and ad.control_level = #{param2.controlLevel}
</if>
<if test="param2.policeStationId != null and param2.policeStationId != ''">
- and police_station_id = #{param2.policeStationId}
+ and ad.police_station_id = #{param2.policeStationId}
</if>
<if test="param2.flyTimeStart != null and param2.flyTimeStart != ''">
- and fly_time_start >= #{param2.flyTimeStart}
+ and ad.fly_time_start >= #{param2.flyTimeStart}
</if>
<if test="param2.flyTimeEnd != null and param2.flyTimeEnd != ''">
- and fly_time_end <= #{param2.flyTimeEnd}
+ and ad.fly_time_end <= #{param2.flyTimeEnd}
</if>
<if test="param2.flyDateStart != null and param2.flyDateStart != ''">
- and fly_date_start >= #{param2.flyDateStart}
+ and ad.fly_date_start >= #{param2.flyDateStart}
</if>
<if test="param2.flyDateEnd != null and param2.flyDateEnd != ''">
- and fly_date_end <= #{param2.flyDateEnd}
+ and ad.fly_date_end <= #{param2.flyDateEnd}
</if>
<if test="param2.areaCode != null and param2.areaCode != ''">
- and area_code = #{param2.areaCode}
- </if>
- <if test="param2.createUser != null and param2.createUser != ''">
- and create_user = #{param2.createUser}
- </if>
- <if test="param2.createDept != null and param2.createDept != ''">
- and create_dept = #{param2.createDept}
- </if>
- <if test="param2.createTime != null and param2.createTime != ''">
- and create_time = #{param2.createTime}
- </if>
- <if test="param2.updateUser != null and param2.updateUser != ''">
- and update_user = #{param2.updateUser}
- </if>
- <if test="param2.updateTime != null and param2.updateTime != ''">
- and update_time = #{param2.updateTime}
- </if>
- <if test="param2.status != null and param2.status != ''">
- and status = #{param2.status}
+ and ad.area_code = #{param2.areaCode}
</if>
</where>
</select>
+ <select id="selectFwAreaDivideDetail" resultMap="fwAreaDivideResultMap">
+ select
+ ad.id,
+ ad.area_name,
+ ad.longitude,
+ ad.latitude,
+ ad.area_size,
+ concat(ST_AsText(ad.geom), ' | ', ST_SRID(ad.geom)) as geom,
+ ad.area_type,
+ ad.trigger_condition,
+ ad.response_mechanism,
+ ad.control_level,
+ ad.police_station_id,
+ ad.fly_time_start,
+ ad.fly_time_end,
+ ad.fly_date_start,
+ ad.fly_date_end,
+ ad.area_code,
+ ps.station_name as police_station_name,
+ ps.contact_person as police_station_contact_person,
+ ps.contact_phone as police_station_contact_phone,
+ ad.create_user,
+ ad.create_dept,
+ ad.create_time,
+ ad.update_user,
+ ad.update_time,
+ ad.status,
+ ad.is_deleted
+ from ja_fw_area_divide ad
+ left join ja_fw_police_station ps on ps.id = ad.police_station_id and ps.is_deleted = 0
+ where ad.is_deleted = 0
+ and ad.id = #{id}
+ </select>
+
<select id="exportFwAreaDivide" resultType="org.sxkj.fw.area.excel.FwAreaDivideExcel">
- SELECT * FROM ja_fw_area_divide ${ew.customSqlSegment}
+ SELECT
+ id,
+ area_name,
+ longitude,
+ latitude,
+ area_size,
+ concat(ST_AsText(geom), ' | ', ST_SRID(geom)) as geom,
+ area_type,
+ trigger_condition,
+ response_mechanism,
+ control_level,
+ police_station_id,
+ fly_time_start,
+ fly_time_end,
+ fly_date_start,
+ fly_date_end,
+ area_code,
+ create_user,
+ create_dept,
+ create_time,
+ update_user,
+ update_time,
+ status,
+ is_deleted
+ FROM ja_fw_area_divide ${ew.customSqlSegment}
</select>
+ <insert id="insertWithGeom" parameterType="org.sxkj.fw.area.entity.FwAreaDivideEntity" useGeneratedKeys="true" keyProperty="id">
+ insert into ja_fw_area_divide (
+ id,
+ area_name,
+ longitude,
+ latitude,
+ area_size,
+ geom,
+ area_type,
+ trigger_condition,
+ response_mechanism,
+ control_level,
+ police_station_id,
+ fly_time_start,
+ fly_time_end,
+ fly_date_start,
+ fly_date_end,
+ area_code,
+ create_user,
+ create_dept,
+ create_time,
+ update_user,
+ update_time,
+ status,
+ is_deleted
+ ) values (
+ #{id},
+ #{areaName},
+ #{longitude},
+ #{latitude},
+ #{areaSize},
+ <choose>
+ <when test="geom != null and geom != ''">
+ ST_SRID(
+ ST_GeomFromText(
+ trim(case when instr(#{geom}, '|') > 0 then substring_index(#{geom}, '|', 1) else #{geom} end)
+ ),
+ case when instr(#{geom}, '|') > 0 then cast(trim(substring_index(#{geom}, '|', -1)) as unsigned) else 4326 end
+ )
+ </when>
+ <otherwise>null</otherwise>
+ </choose>,
+ #{areaType},
+ #{triggerCondition},
+ #{responseMechanism},
+ #{controlLevel},
+ #{policeStationId},
+ #{flyTimeStart},
+ #{flyTimeEnd},
+ #{flyDateStart},
+ #{flyDateEnd},
+ #{areaCode},
+ #{createUser},
+ #{createDept},
+ #{createTime},
+ #{updateUser},
+ #{updateTime},
+ #{status},
+ #{isDeleted}
+ )
+ </insert>
+
+ <update id="updateWithGeomById" parameterType="org.sxkj.fw.area.entity.FwAreaDivideEntity">
+ update ja_fw_area_divide
+ <set>
+ <if test="areaName != null">area_name = #{areaName},</if>
+ <if test="longitude != null">longitude = #{longitude},</if>
+ <if test="latitude != null">latitude = #{latitude},</if>
+ <if test="areaSize != null">area_size = #{areaSize},</if>
+ <if test="geom != null and geom != ''">
+ geom = ST_SRID(
+ ST_GeomFromText(
+ trim(case when instr(#{geom}, '|') > 0 then substring_index(#{geom}, '|', 1) else #{geom} end)
+ ),
+ case when instr(#{geom}, '|') > 0 then cast(trim(substring_index(#{geom}, '|', -1)) as unsigned) else 4326 end
+ ),
+ </if>
+ <if test="areaType != null">area_type = #{areaType},</if>
+ <if test="triggerCondition != null">trigger_condition = #{triggerCondition},</if>
+ <if test="responseMechanism != null">response_mechanism = #{responseMechanism},</if>
+ <if test="controlLevel != null">control_level = #{controlLevel},</if>
+ <if test="policeStationId != null">police_station_id = #{policeStationId},</if>
+ <if test="flyTimeStart != null">fly_time_start = #{flyTimeStart},</if>
+ <if test="flyTimeEnd != null">fly_time_end = #{flyTimeEnd},</if>
+ <if test="flyDateStart != null">fly_date_start = #{flyDateStart},</if>
+ <if test="flyDateEnd != null">fly_date_end = #{flyDateEnd},</if>
+ <if test="areaCode != null">area_code = #{areaCode},</if>
+ <if test="createUser != null">create_user = #{createUser},</if>
+ <if test="createDept != null">create_dept = #{createDept},</if>
+ <if test="createTime != null">create_time = #{createTime},</if>
+ <if test="updateUser != null">update_user = #{updateUser},</if>
+ <if test="updateTime != null">update_time = #{updateTime},</if>
+ <if test="status != null">status = #{status},</if>
+ <if test="isDeleted != null">is_deleted = #{isDeleted},</if>
+ </set>
+ where id = #{id}
+ </update>
+
</mapper>
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseZoneMapper.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseZoneMapper.java
index a05f3de..32bfdca 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseZoneMapper.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseZoneMapper.java
@@ -42,6 +42,21 @@
*/
List<FwDefenseZoneVO> selectFwDefenseZonePage(IPage page, FwDefenseZoneVO fwDefenseZone);
+ /**
+ * 新增(几何字段使用文本入库)
+ *
+ * @param fwDefenseZone
+ * @return
+ */
+ int insertWithGeom(FwDefenseZoneEntity fwDefenseZone);
+
+ /**
+ * 修改(几何字段使用文本入库)
+ *
+ * @param fwDefenseZone
+ * @return
+ */
+ int updateWithGeomById(FwDefenseZoneEntity fwDefenseZone);
/**
* 获取导出数据
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseZoneMapper.xml b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseZoneMapper.xml
index 4efe501..f0fa9c9 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseZoneMapper.xml
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/mapper/FwDefenseZoneMapper.xml
@@ -23,7 +23,23 @@
<select id="selectFwDefenseZonePage" resultMap="fwDefenseZoneResultMap">
- select * from ja_fw_defense_zone
+ select
+ id,
+ zone_name,
+ zone_area,
+ defense_scene_ids,
+ area_divide_ids,
+ device_ids,
+ concat(ST_AsText(geom), ' | ', ST_SRID(geom)) as geom,
+ area_code,
+ create_user,
+ create_dept,
+ create_time,
+ update_user,
+ update_time,
+ status,
+ is_deleted
+ from ja_fw_defense_zone
<where>
is_deleted = 0
<if test="param2.id != null and param2.id != ''">
@@ -45,7 +61,15 @@
and device_ids = #{param2.deviceIds}
</if>
<if test="param2.geom != null and param2.geom != ''">
- and geom = #{param2.geom}
+ and ST_Equals(
+ geom,
+ ST_SRID(
+ ST_GeomFromText(
+ trim(case when instr(#{param2.geom}, '|') > 0 then substring_index(#{param2.geom}, '|', 1) else #{param2.geom} end)
+ ),
+ case when instr(#{param2.geom}, '|') > 0 then cast(trim(substring_index(#{param2.geom}, '|', -1)) as unsigned) else 4326 end
+ )
+ )
</if>
<if test="param2.areaCode != null and param2.areaCode != ''">
and area_code = #{param2.areaCode}
@@ -73,7 +97,97 @@
<select id="exportFwDefenseZone" resultType="org.sxkj.fw.area.excel.FwDefenseZoneExcel">
- SELECT * FROM ja_fw_defense_zone ${ew.customSqlSegment}
+ SELECT
+ id,
+ zone_name,
+ zone_area,
+ defense_scene_ids,
+ area_divide_ids,
+ device_ids,
+ concat(ST_AsText(geom), ' | ', ST_SRID(geom)) as geom,
+ area_code,
+ create_user,
+ create_dept,
+ create_time,
+ update_user,
+ update_time,
+ status,
+ is_deleted
+ FROM ja_fw_defense_zone ${ew.customSqlSegment}
</select>
+ <insert id="insertWithGeom" parameterType="org.sxkj.fw.area.entity.FwDefenseZoneEntity" useGeneratedKeys="true" keyProperty="id">
+ insert into ja_fw_defense_zone (
+ id,
+ zone_name,
+ zone_area,
+ defense_scene_ids,
+ area_divide_ids,
+ device_ids,
+ geom,
+ area_code,
+ create_user,
+ create_dept,
+ create_time,
+ update_user,
+ update_time,
+ status,
+ is_deleted
+ ) values (
+ #{id},
+ #{zoneName},
+ #{zoneArea},
+ #{defenseSceneIds},
+ #{areaDivideIds},
+ #{deviceIds},
+ <choose>
+ <when test="geom != null and geom != ''">
+ ST_SRID(
+ ST_GeomFromText(
+ trim(case when instr(#{geom}, '|') > 0 then substring_index(#{geom}, '|', 1) else #{geom} end)
+ ),
+ case when instr(#{geom}, '|') > 0 then cast(trim(substring_index(#{geom}, '|', -1)) as unsigned) else 4326 end
+ )
+ </when>
+ <otherwise>null</otherwise>
+ </choose>,
+ #{areaCode},
+ #{createUser},
+ #{createDept},
+ #{createTime},
+ #{updateUser},
+ #{updateTime},
+ #{status},
+ #{isDeleted}
+ )
+ </insert>
+
+ <update id="updateWithGeomById" parameterType="org.sxkj.fw.area.entity.FwDefenseZoneEntity">
+ update ja_fw_defense_zone
+ <set>
+ <if test="zoneName != null">zone_name = #{zoneName},</if>
+ <if test="zoneArea != null">zone_area = #{zoneArea},</if>
+ <if test="defenseSceneIds != null">defense_scene_ids = #{defenseSceneIds},</if>
+ <if test="areaDivideIds != null">area_divide_ids = #{areaDivideIds},</if>
+ <if test="deviceIds != null">device_ids = #{deviceIds},</if>
+ <if test="geom != null and geom != ''">
+ geom = ST_SRID(
+ ST_GeomFromText(
+ trim(case when instr(#{geom}, '|') > 0 then substring_index(#{geom}, '|', 1) else #{geom} end)
+ ),
+ case when instr(#{geom}, '|') > 0 then cast(trim(substring_index(#{geom}, '|', -1)) as unsigned) else 4326 end
+ ),
+ </if>
+ <if test="areaCode != null">area_code = #{areaCode},</if>
+ <if test="createUser != null">create_user = #{createUser},</if>
+ <if test="createDept != null">create_dept = #{createDept},</if>
+ <if test="createTime != null">create_time = #{createTime},</if>
+ <if test="updateUser != null">update_user = #{updateUser},</if>
+ <if test="updateTime != null">update_time = #{updateTime},</if>
+ <if test="status != null">status = #{status},</if>
+ <if test="isDeleted != null">is_deleted = #{isDeleted},</if>
+ </set>
+ where id = #{id}
+ </update>
+
</mapper>
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwAreaDivideService.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwAreaDivideService.java
index b19f8de..4ca3a40 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwAreaDivideService.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/IFwAreaDivideService.java
@@ -41,6 +41,13 @@
*/
IPage<FwAreaDivideVO> selectFwAreaDividePage(IPage<FwAreaDivideVO> page, FwAreaDivideDTO fwAreaDivide);
+ /**
+ * 详情
+ *
+ * @param id
+ * @return
+ */
+ FwAreaDivideVO selectFwAreaDivideDetail(Long id);
/**
* 导出数据
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
index 0980a92..abd25df 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwAreaDivideServiceImpl.java
@@ -17,6 +17,7 @@
package org.sxkj.fw.area.service.impl;
import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.StringUtil;
import org.sxkj.common.utils.HeaderUtils;
import org.sxkj.fw.area.dto.FwAreaDivideDTO;
import org.sxkj.fw.area.entity.FwAreaDivideEntity;
@@ -45,6 +46,10 @@
return page.setRecords(baseMapper.selectFwAreaDividePage(page, fwAreaDivide));
}
+ @Override
+ public FwAreaDivideVO selectFwAreaDivideDetail(Long id) {
+ return baseMapper.selectFwAreaDivideDetail(id);
+ }
@Override
public List<FwAreaDivideExcel> exportFwAreaDivide(Wrapper<FwAreaDivideEntity> queryWrapper) {
@@ -58,40 +63,59 @@
@Override
public boolean save(FwAreaDivideEntity fwAreaDivide) {
fillCreateFields(fwAreaDivide);
- return super.save(fwAreaDivide);
+ return baseMapper.insertWithGeom(fwAreaDivide) > 0;
}
@Override
public boolean updateById(FwAreaDivideEntity fwAreaDivide) {
fillUpdateFields(fwAreaDivide);
- return super.updateById(fwAreaDivide);
+ return baseMapper.updateWithGeomById(fwAreaDivide) > 0;
}
@Override
public boolean saveOrUpdate(FwAreaDivideEntity fwAreaDivide) {
if (fwAreaDivide.getId() == null) {
fillCreateFields(fwAreaDivide);
+ return baseMapper.insertWithGeom(fwAreaDivide) > 0;
} else {
fillUpdateFields(fwAreaDivide);
+ return baseMapper.updateWithGeomById(fwAreaDivide) > 0;
}
- return super.saveOrUpdate(fwAreaDivide);
}
private void fillCreateFields(FwAreaDivideEntity fwAreaDivide) {
Long userId = AuthUtil.getUserId();
- Long deptId = Long.valueOf(AuthUtil.getDeptId());
- String areaCode = HeaderUtils.getAreaCode();
+ String deptIdStr = AuthUtil.getDeptId();
+ Long deptId = null;
+ if (StringUtil.isNotBlank(deptIdStr)) {
+ try {
+ deptId = Long.valueOf(deptIdStr);
+ } catch (NumberFormatException ignored) {
+ deptId = null;
+ }
+ }
+ String areaCode = fwAreaDivide.getAreaCode();
+ if (StringUtil.isBlank(areaCode)) {
+ areaCode = HeaderUtils.getAreaCode();
+ }
Date now = new Date();
fwAreaDivide.setCreateUser(userId);
fwAreaDivide.setUpdateUser(userId);
- fwAreaDivide.setCreateDept(deptId);
- fwAreaDivide.setAreaCode(areaCode);
+ if (deptId != null) {
+ fwAreaDivide.setCreateDept(deptId);
+ }
+ if (StringUtil.isNotBlank(areaCode)) {
+ fwAreaDivide.setAreaCode(areaCode);
+ }
fwAreaDivide.setCreateTime(now);
fwAreaDivide.setUpdateTime(now);
}
private void fillUpdateFields(FwAreaDivideEntity fwAreaDivide) {
- fwAreaDivide.setUpdateUser(AuthUtil.getUserId());
+ Long userId = AuthUtil.getUserId();
+ if (userId != null) {
+ fwAreaDivide.setUpdateUser(userId);
+ }
fwAreaDivide.setUpdateTime(new Date());
}
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java
index 94f5f0d..d1ec445 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseSceneServiceImpl.java
@@ -17,6 +17,7 @@
package org.sxkj.fw.area.service.impl;
import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.StringUtil;
import org.sxkj.common.utils.HeaderUtils;
import org.sxkj.fw.area.entity.FwDefenseSceneEntity;
import org.sxkj.fw.area.vo.FwDefenseSceneVO;
@@ -78,19 +79,37 @@
private void fillCreateFields(FwDefenseSceneEntity fwDefenseScene) {
Long userId = AuthUtil.getUserId();
- Long deptId = Long.valueOf(AuthUtil.getDeptId());
+ String deptIdStr = AuthUtil.getDeptId();
+ Long deptId = null;
+ if (StringUtil.isNotBlank(deptIdStr)) {
+ try {
+ deptId = Long.valueOf(deptIdStr);
+ } catch (NumberFormatException ignored) {
+ deptId = null;
+ }
+ }
String areaCode = HeaderUtils.getAreaCode();
+ if (StringUtil.isBlank(areaCode)) {
+ areaCode = fwDefenseScene.getAreaCode();
+ }
Date now = new Date();
fwDefenseScene.setCreateUser(userId);
fwDefenseScene.setUpdateUser(userId);
- fwDefenseScene.setCreateDept(deptId);
- fwDefenseScene.setAreaCode(areaCode);
+ if (deptId != null) {
+ fwDefenseScene.setCreateDept(deptId);
+ }
+ if (StringUtil.isNotBlank(areaCode)) {
+ fwDefenseScene.setAreaCode(areaCode);
+ }
fwDefenseScene.setCreateTime(now);
fwDefenseScene.setUpdateTime(now);
}
private void fillUpdateFields(FwDefenseSceneEntity fwDefenseScene) {
- fwDefenseScene.setUpdateUser(AuthUtil.getUserId());
+ Long userId = AuthUtil.getUserId();
+ if (userId != null) {
+ fwDefenseScene.setUpdateUser(userId);
+ }
fwDefenseScene.setUpdateTime(new Date());
}
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseZoneServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseZoneServiceImpl.java
index c8c23f1..4d76b95 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseZoneServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwDefenseZoneServiceImpl.java
@@ -17,6 +17,7 @@
package org.sxkj.fw.area.service.impl;
import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.StringUtil;
import org.sxkj.common.utils.HeaderUtils;
import org.sxkj.fw.area.entity.FwDefenseZoneEntity;
import org.sxkj.fw.area.vo.FwDefenseZoneVO;
@@ -57,40 +58,59 @@
@Override
public boolean save(FwDefenseZoneEntity fwDefenseZone) {
fillCreateFields(fwDefenseZone);
- return super.save(fwDefenseZone);
+ return baseMapper.insertWithGeom(fwDefenseZone) > 0;
}
@Override
public boolean updateById(FwDefenseZoneEntity fwDefenseZone) {
fillUpdateFields(fwDefenseZone);
- return super.updateById(fwDefenseZone);
+ return baseMapper.updateWithGeomById(fwDefenseZone) > 0;
}
@Override
public boolean saveOrUpdate(FwDefenseZoneEntity fwDefenseZone) {
if (fwDefenseZone.getId() == null) {
fillCreateFields(fwDefenseZone);
+ return baseMapper.insertWithGeom(fwDefenseZone) > 0;
} else {
fillUpdateFields(fwDefenseZone);
+ return baseMapper.updateWithGeomById(fwDefenseZone) > 0;
}
- return super.saveOrUpdate(fwDefenseZone);
}
private void fillCreateFields(FwDefenseZoneEntity fwDefenseZone) {
Long userId = AuthUtil.getUserId();
- Long deptId = Long.valueOf(AuthUtil.getDeptId());
+ String deptIdStr = AuthUtil.getDeptId();
+ Long deptId = null;
+ if (StringUtil.isNotBlank(deptIdStr)) {
+ try {
+ deptId = Long.valueOf(deptIdStr);
+ } catch (NumberFormatException ignored) {
+ deptId = null;
+ }
+ }
String areaCode = HeaderUtils.getAreaCode();
+ if (StringUtil.isBlank(areaCode)) {
+ areaCode = fwDefenseZone.getAreaCode();
+ }
Date now = new Date();
fwDefenseZone.setCreateUser(userId);
fwDefenseZone.setUpdateUser(userId);
- fwDefenseZone.setCreateDept(deptId);
- fwDefenseZone.setAreaCode(areaCode);
+ if (deptId != null) {
+ fwDefenseZone.setCreateDept(deptId);
+ }
+ if (StringUtil.isNotBlank(areaCode)) {
+ fwDefenseZone.setAreaCode(areaCode);
+ }
fwDefenseZone.setCreateTime(now);
fwDefenseZone.setUpdateTime(now);
}
private void fillUpdateFields(FwDefenseZoneEntity fwDefenseZone) {
- fwDefenseZone.setUpdateUser(AuthUtil.getUserId());
+ Long userId = AuthUtil.getUserId();
+ if (userId != null) {
+ fwDefenseZone.setUpdateUser(userId);
+ }
fwDefenseZone.setUpdateTime(new Date());
}
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwPoliceStationServiceImpl.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwPoliceStationServiceImpl.java
index 4ab5ffd..5e2f51a 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwPoliceStationServiceImpl.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/service/impl/FwPoliceStationServiceImpl.java
@@ -17,6 +17,7 @@
package org.sxkj.fw.area.service.impl;
import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.StringUtil;
import org.sxkj.common.utils.HeaderUtils;
import org.sxkj.fw.area.entity.FwPoliceStationEntity;
import org.sxkj.fw.area.vo.FwPoliceStationVO;
@@ -78,19 +79,37 @@
private void fillCreateFields(FwPoliceStationEntity fwPoliceStation) {
Long userId = AuthUtil.getUserId();
- Long deptId = Long.valueOf(AuthUtil.getDeptId());
+ String deptIdStr = AuthUtil.getDeptId();
+ Long deptId = null;
+ if (StringUtil.isNotBlank(deptIdStr)) {
+ try {
+ deptId = Long.valueOf(deptIdStr);
+ } catch (NumberFormatException ignored) {
+ deptId = null;
+ }
+ }
String areaCode = HeaderUtils.getAreaCode();
+ if (StringUtil.isBlank(areaCode)) {
+ areaCode = fwPoliceStation.getAreaCode();
+ }
Date now = new Date();
fwPoliceStation.setCreateUser(userId);
fwPoliceStation.setUpdateUser(userId);
- fwPoliceStation.setCreateDept(deptId);
- fwPoliceStation.setAreaCode(areaCode);
+ if (deptId != null) {
+ fwPoliceStation.setCreateDept(deptId);
+ }
+ if (StringUtil.isNotBlank(areaCode)) {
+ fwPoliceStation.setAreaCode(areaCode);
+ }
fwPoliceStation.setCreateTime(now);
fwPoliceStation.setUpdateTime(now);
}
private void fillUpdateFields(FwPoliceStationEntity fwPoliceStation) {
- fwPoliceStation.setUpdateUser(AuthUtil.getUserId());
+ Long userId = AuthUtil.getUserId();
+ if (userId != null) {
+ fwPoliceStation.setUpdateUser(userId);
+ }
fwPoliceStation.setUpdateTime(new Date());
}
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/vo/FwAreaDivideVO.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/vo/FwAreaDivideVO.java
index 3c821d5..973739e 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/vo/FwAreaDivideVO.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/area/vo/FwAreaDivideVO.java
@@ -18,6 +18,7 @@
import org.sxkj.fw.area.entity.FwAreaDivideEntity;
import org.springblade.core.tool.node.INode;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -32,4 +33,22 @@
public class FwAreaDivideVO extends FwAreaDivideEntity {
private static final long serialVersionUID = 1L;
+ /**
+ * 派出所名称
+ */
+ @ApiModelProperty(value = "派出所名称")
+ private String policeStationName;
+
+ /**
+ * 派出所联系人
+ */
+ @ApiModelProperty(value = "派出所联系人")
+ private String policeStationContactPerson;
+
+ /**
+ * 派出所联系电话
+ */
+ @ApiModelProperty(value = "派出所联系电话")
+ private String policeStationContactPhone;
+
}
--
Gitblit v1.9.3