From 1abd541be8d02dabaa77d3c6d2fecde5ef0e4b5b Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 29 Jan 2026 17:02:50 +0800
Subject: [PATCH] 区划改造
---
drone-service/drone-system/src/main/java/org/sxkj/system/controller/RegionController.java | 76 +++++++++++++++++++++++++++++++-------
1 files changed, 62 insertions(+), 14 deletions(-)
diff --git a/drone-service/drone-system/src/main/java/org/sxkj/system/controller/RegionController.java b/drone-service/drone-system/src/main/java/org/sxkj/system/controller/RegionController.java
index 388f6ad..a449be8 100644
--- a/drone-service/drone-system/src/main/java/org/sxkj/system/controller/RegionController.java
+++ b/drone-service/drone-system/src/main/java/org/sxkj/system/controller/RegionController.java
@@ -16,6 +16,7 @@
*/
package org.sxkj.system.controller;
+import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -29,11 +30,17 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.sxkj.system.entity.Region;
+import org.sxkj.system.excel.DeptImportExcel;
import org.sxkj.system.excel.RegionExcel;
+import org.sxkj.system.excel.RegionImportExcel;
import org.sxkj.system.excel.RegionImporter;
+import org.sxkj.system.param.RegionAddParam;
+import org.sxkj.system.param.RegionPageParam;
import org.sxkj.system.service.IRegionService;
+import org.sxkj.system.util.excel.RegionSheetWriteHandler;
import org.sxkj.system.vo.RegionVO;
import org.sxkj.system.vo.TreeVo;
import org.sxkj.system.wrapper.RegionWrapper;
@@ -43,9 +50,14 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
/**
* 行政区划表 控制器
@@ -84,6 +96,17 @@
}
/**
+ * 行政区划表 自定义分页
+ */
+ @GetMapping("/page")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = " ")
+ public R<IPage<RegionVO>> page(RegionPageParam regionPageParam, Query query) {
+ IPage<RegionVO> pages = regionService.selectRegionPage(Condition.getPage(query), regionPageParam);
+ return R.data(pages);
+ }
+
+ /**
* 懒加载列表
*/
@GetMapping("/lazy-list")
@@ -116,13 +139,14 @@
/**
* 新增 行政区划表
*/
- @PostMapping("/save")
- @ApiOperationSupport(order = 5)
- @ApiOperation(value = "新增", notes = "传入region")
- @ApiLog("行政区划数据新增")
- public R save(@Valid @RequestBody Region region) {
- return R.status(regionService.save(region));
- }
+ // @PostMapping("/save")
+ // @ApiOperationSupport(order = 5)
+ // @ApiOperation(value = "新增", notes = "传入region")
+ // @ApiLog("行政区划数据新增")
+ // public R save(@Valid @RequestBody RegionAddParam region) {
+ // Region regionEntity = Objects.requireNonNull(BeanUtil.copy(region, Region.class));
+ // return R.status(regionService.save(regionEntity));
+ // }
/**
* 修改 行政区划表
@@ -132,6 +156,7 @@
@ApiOperation(value = "修改", notes = "传入region")
@ApiLog("行政区划数据修改")
public R update(@Valid @RequestBody Region region) {
+ region.setUpdateTime(DateUtil.now());
return R.status(regionService.updateById(region));
}
@@ -142,8 +167,11 @@
@ApiOperationSupport(order = 7)
@ApiOperation(value = "新增或修改", notes = "传入region")
@ApiLog("行政区划数据新增或修改")
- public R submit(@Valid @RequestBody Region region) {
- return R.status(regionService.submit(region));
+ public R submit(@Valid @RequestBody RegionAddParam region) {
+ Region regionEntity = Objects.requireNonNull(BeanUtil.copy(region, Region.class));
+ regionEntity.setUpdateTime(DateUtil.now());
+ regionEntity.setCreateTime(DateUtil.now());
+ return R.status(regionService.submit(regionEntity));
}
@@ -177,7 +205,7 @@
@ApiOperation(value = "导入行政区划", notes = "传入excel")
public R importRegion(MultipartFile file, Integer isCovered) {
RegionImporter regionImporter = new RegionImporter(regionService, isCovered == 1);
- ExcelUtil.save(file, regionImporter, RegionExcel.class);
+ ExcelUtil.save(file, regionImporter, RegionImportExcel.class);
return R.success("操作成功");
}
@@ -196,12 +224,32 @@
/**
* 导出模板
*/
+ // @GetMapping("export-template")
+ // @ApiOperationSupport(order = 12)
+ // @ApiOperation(value = "导出模板")
+ // public void exportUser(HttpServletResponse response) {
+ // List<RegionImportExcel> list = new ArrayList<>();
+ // ExcelUtil.export(response, "行政区划模板", "行政区划表", list, RegionImportExcel.class);
+ // }
+
@GetMapping("export-template")
- @ApiOperationSupport(order = 12)
+ @ApiOperationSupport(order = 16)
@ApiOperation(value = "导出模板")
- public void exportUser(HttpServletResponse response) {
- List<RegionExcel> list = new ArrayList<>();
- ExcelUtil.export(response, "行政区划模板", "行政区划表", list, RegionExcel.class);
+ public void exportUser(HttpServletResponse response) throws IOException {
+ // 设置响应头
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding(StandardCharsets.UTF_8.name());
+ String fileName = URLEncoder.encode("行政区划模板", StandardCharsets.UTF_8.name());
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+
+ // 准备空数据列表
+ List<RegionImportExcel> list = new ArrayList<>();
+
+ // 使用EasyExcel导出,并注册RegionSheetWriteHandler
+ EasyExcel.write(response.getOutputStream(), RegionImportExcel.class)
+ .registerWriteHandler(new RegionSheetWriteHandler())
+ .sheet("行政区划表")
+ .doWrite(list);
}
/**
--
Gitblit v1.9.3