From 84560e65273ce7af18e1eafd66501b701f1b46c0 Mon Sep 17 00:00:00 2001 From: fangjiakai <450850793@qq.com> Date: Mon, 16 Jun 2025 11:50:52 +0800 Subject: [PATCH] =?UTF-8?q?feat(kangzai):=20=E6=96=B0=E5=A2=9E=E6=B2=B3?= =?UTF-8?q?=E6=B5=81=E5=8E=BF=E5=8C=BA=E6=AE=B5=E4=BF=A1=E6=81=AF=E8=A1=A8?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusRiverSectionsStreetController.java | 74 +++++++++++++++++++ .../kangzai/controller/Mapcontroller.java | 4 +- .../dao/BusRiverSectionsStreetDao.java | 22 ++++++ .../entity/BusRiverRiskVillagesEntity.java | 9 +++ .../entity/BusRiverSectionsStreetEntity.java | 73 ++++++++++++++++++ .../BusRiverSectionsStreetService.java | 31 ++++++++ .../BusRiverSectionsStreetServiceImpl.java | 60 +++++++++++++++ .../controller/SysDictionariesController.java | 7 ++ .../modules/sys/dao/SysDictionariesDao.java | 2 + .../impl/SysDictionariesServiceImpl.java | 2 +- src/main/resources/application-prod.yml | 4 +- .../kangzai/BusRiverRiskVillagesDao.xml | 3 + .../mapper/kangzai/BusRiverSectionsDao.xml | 3 + .../kangzai/BusRiverSectionsStreetDao.xml | 62 ++++++++++++++++ .../mapper/sys/SysDictionariesDao.xml | 17 +++++ 15 files changed, 368 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/zcloud/modules/kangzai/controller/BusRiverSectionsStreetController.java create mode 100644 src/main/java/com/zcloud/modules/kangzai/dao/BusRiverSectionsStreetDao.java create mode 100644 src/main/java/com/zcloud/modules/kangzai/entity/BusRiverSectionsStreetEntity.java create mode 100644 src/main/java/com/zcloud/modules/kangzai/service/BusRiverSectionsStreetService.java create mode 100644 src/main/java/com/zcloud/modules/kangzai/service/impl/BusRiverSectionsStreetServiceImpl.java create mode 100644 src/main/resources/mapper/kangzai/BusRiverSectionsStreetDao.xml diff --git a/src/main/java/com/zcloud/modules/kangzai/controller/BusRiverSectionsStreetController.java b/src/main/java/com/zcloud/modules/kangzai/controller/BusRiverSectionsStreetController.java new file mode 100644 index 0000000..0e05039 --- /dev/null +++ b/src/main/java/com/zcloud/modules/kangzai/controller/BusRiverSectionsStreetController.java @@ -0,0 +1,74 @@ +package com.zcloud.modules.kangzai.controller; + +import com.zcloud.common.annotation.SysLog; +import com.zcloud.common.utils.PageUtils; +import com.zcloud.common.utils.R; +import com.zcloud.modules.kangzai.entity.BusRiverSectionsStreetEntity; +import com.zcloud.modules.kangzai.service.BusRiverSectionsStreetService; +import com.zcloud.modules.sys.controller.AbstractController; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import java.util.Map; + +/** + * @Author fangjiakai + * @Desc 河流县区段信息表(BusRiverSectionsStreet)表控制层 + * @Date 2025-06-12 17:14:57 + */ +@Api(tags = "河流县区段信息表") +@RestController +@RequestMapping("busRiverSectionsStreet") +public class BusRiverSectionsStreetController extends AbstractController { + + @Autowired + private BusRiverSectionsStreetService busRiverSectionsStreetService; + + @ApiOperation("河流县区段信息表-新增数据") + @SysLog("河流县区段信息表-新增数据") + @PostMapping("/save") + public R insert(@RequestBody BusRiverSectionsStreetEntity param) { + busRiverSectionsStreetService.save(param); + + return R.ok(); + } + + @ApiOperation("河流县区段信息表-编辑数据") + @SysLog("河流县区段信息表-编辑数据") + @PostMapping("/update") + public R update(@RequestBody BusRiverSectionsStreetEntity param) { + busRiverSectionsStreetService.updateById(param); + + return R.ok(); + } + + + @ApiOperation("河流县区段信息表-删除数据") + @SysLog("河流县区段信息表-删除数据") + @PostMapping("/delete") + public R delete(@RequestBody BusRiverSectionsStreetEntity param) { + busRiverSectionsStreetService.delete(param.getRiverSectionsStreetId(),getUserId()); + return R.ok(); + } + + @ApiOperation("河流县区段信息表-分页查询") + @SysLog("河流县区段信息表-分页查询") + @PostMapping("/listPage") + public R listPage(@RequestBody Map params) { + PageUtils page = busRiverSectionsStreetService.listPage(params); + + return R.ok().put("page", page); + } + + + @ApiOperation("河流县区段信息表-根据ID查详情") + @SysLog("河流县区段信息表-根据ID查详情") + @PostMapping("/info") + public R info(@RequestBody BusRiverSectionsStreetEntity param) { + BusRiverSectionsStreetEntity busRiverSectionsStreet = busRiverSectionsStreetService.getById(param.getRiverSectionsStreetId()); + return R.ok().put("busRiverSectionsStreet", busRiverSectionsStreet); + } + +} diff --git a/src/main/java/com/zcloud/modules/kangzai/controller/Mapcontroller.java b/src/main/java/com/zcloud/modules/kangzai/controller/Mapcontroller.java index 6e1427b..2900a63 100644 --- a/src/main/java/com/zcloud/modules/kangzai/controller/Mapcontroller.java +++ b/src/main/java/com/zcloud/modules/kangzai/controller/Mapcontroller.java @@ -78,7 +78,7 @@ public class Mapcontroller extends AbstractController { @RequestMapping("/mountainFloodVillage") public R mountainFloodVillage() { List list = busMountainFloodVillageService.queryListByFlexibleParams("is_delete",0); - List sysDictionaries = sysDictionariesService.queryListParentId("e72d17163f3b4045a2f1eef8e55ea835"); + List sysDictionaries = sysDictionariesService.queryListParentId("3faa58f95b2d482787ed29c9ec176fbf"); Map dictMap = new HashMap<>(); for (SysDictionariesEntity entity : sysDictionaries) { @@ -150,7 +150,7 @@ public class Mapcontroller extends AbstractController { @RequestMapping("/emergencyStorage") public R emergencyStorage() { List list = busEmergencyStorageService.queryListByFlexibleParams("is_delete",0); - List sysDictionaries = sysDictionariesService.queryListParentId("e72d17163f3b4045a2f1eef8e55ea835"); + List sysDictionaries = sysDictionariesService.queryListParentId("3faa58f95b2d482787ed29c9ec176fbf"); Map dictMap = new HashMap<>(); for (SysDictionariesEntity entity : sysDictionaries) { diff --git a/src/main/java/com/zcloud/modules/kangzai/dao/BusRiverSectionsStreetDao.java b/src/main/java/com/zcloud/modules/kangzai/dao/BusRiverSectionsStreetDao.java new file mode 100644 index 0000000..17a0224 --- /dev/null +++ b/src/main/java/com/zcloud/modules/kangzai/dao/BusRiverSectionsStreetDao.java @@ -0,0 +1,22 @@ +package com.zcloud.modules.kangzai.dao; + +import com.zcloud.modules.kangzai.entity.BusRiverSectionsStreetEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + import java.util.Map; +/** + * @Author fangjiakai + * @Desc 河流县区段信息表(BusRiverSectionsStreet)表数据库访问层 + * @Date 2025-06-12 17:14:57 + */ +@Mapper +public interface BusRiverSectionsStreetDao extends BaseMapper { + + /** + * 分页查询 + */ + IPage listPage(@Param("page") Page> page,@Param("params") Map params); +} diff --git a/src/main/java/com/zcloud/modules/kangzai/entity/BusRiverRiskVillagesEntity.java b/src/main/java/com/zcloud/modules/kangzai/entity/BusRiverRiskVillagesEntity.java index 787724a..f9d0568 100644 --- a/src/main/java/com/zcloud/modules/kangzai/entity/BusRiverRiskVillagesEntity.java +++ b/src/main/java/com/zcloud/modules/kangzai/entity/BusRiverRiskVillagesEntity.java @@ -43,12 +43,21 @@ public class BusRiverRiskVillagesEntity implements Serializable { //地区 @ApiModelProperty(value = "地区") private String areaName; + // 灾害涉及人员数 + @ApiModelProperty(value = "灾害涉及人员数") + private Integer involvedPersonnelNum; //隐患等级(1-低风险,2-中风险,3-高风险) @ApiModelProperty(value = "隐患等级(1-低风险,2-中风险,3-高风险)") private Integer riskLevel; //隐患描述(如:堤防薄弱、河道淤积) @ApiModelProperty(value = "隐患描述(如:堤防薄弱、河道淤积)") private String riskDescription; + //经度 + @ApiModelProperty(value = "经度") + private Double longitude; + //纬度 + @ApiModelProperty(value = "纬度") + private Double latitude; //是否删除 @ApiModelProperty(value = "是否删除") @TableField(fill = FieldFill.INSERT) diff --git a/src/main/java/com/zcloud/modules/kangzai/entity/BusRiverSectionsStreetEntity.java b/src/main/java/com/zcloud/modules/kangzai/entity/BusRiverSectionsStreetEntity.java new file mode 100644 index 0000000..3e6d7bc --- /dev/null +++ b/src/main/java/com/zcloud/modules/kangzai/entity/BusRiverSectionsStreetEntity.java @@ -0,0 +1,73 @@ +package com.zcloud.modules.kangzai.entity; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.io.Serializable; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author fangjiakai + * @Desc 河流县区段信息表(BusRiverSectionsStreet)实体 + * @Date 2025-06-12 17:14:57 + */ +@Data +@TableName("bus_river_sections_street") +public class BusRiverSectionsStreetEntity implements Serializable { + private static final long serialVersionUID = -37823698486825338L; + //河段ID + @ApiModelProperty(value = "河段ID") + @TableId + private String riverSectionsStreetId; + //关联河流ID + @ApiModelProperty(value = "关联河流ID") + private String riverId; + //县区段长度(km) + @ApiModelProperty(value = "县区段长度(km)") + private Double sectionLength; + //最小河宽(m) + @ApiModelProperty(value = "最小河宽(m)") + private Double riverWidthMin; + //最大河宽(m) + @ApiModelProperty(value = "最大河宽(m)") + private Double riverWidthMax; + //平均河宽(m) + @ApiModelProperty(value = "平均河宽(m)") + private Double riverWidthAvg; + //河段特征描述 + @ApiModelProperty(value = "河段特征描述") + private String sectionDescription; + //省(字典) + @ApiModelProperty(value = "省(字典)") + private String province; + //区行政编码 + @ApiModelProperty(value = "区行政编码") + private String county; + //市(字典) + @ApiModelProperty(value = "市(字典)") + private String city; + //村庄行政编码 + @ApiModelProperty(value = "村庄行政编码") + private String village; + //街(字典) + @ApiModelProperty(value = "街(字典)") + private String street; + //区名称 + @ApiModelProperty(value = "区名称") + private String areaName; + //经度 + @ApiModelProperty(value = "经度") + private Double longitude; + //纬度 + @ApiModelProperty(value = "纬度") + private Double latitude; + //是否删除 + @ApiModelProperty(value = "是否删除") + @TableField(fill = FieldFill.INSERT) + private Integer isDelete; + +} + diff --git a/src/main/java/com/zcloud/modules/kangzai/service/BusRiverSectionsStreetService.java b/src/main/java/com/zcloud/modules/kangzai/service/BusRiverSectionsStreetService.java new file mode 100644 index 0000000..2294bd1 --- /dev/null +++ b/src/main/java/com/zcloud/modules/kangzai/service/BusRiverSectionsStreetService.java @@ -0,0 +1,31 @@ +package com.zcloud.modules.kangzai.service; + +import com.zcloud.common.utils.PageUtils; +import com.zcloud.modules.kangzai.entity.BusRiverSectionsStreetEntity; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; +import java.util.Map; + +/** + * @Author fangjiakai + * @Desc 河流县区段信息表(BusRiverSectionsStreet)表服务接口 + * @Date 2025-06-12 17:14:57 + */ +public interface BusRiverSectionsStreetService extends IService { + + BusRiverSectionsStreetEntity queryByFlexibleParams(String paramName, Object paramValue); + + List queryListByFlexibleParams(String paramName, Object paramValue); + /** + * 分页查询 + */ + PageUtils listPage(Map params); + + /** + * 通过主键删除数据 + */ + void delete(String riverSectionsStreetId,String userId); + +} diff --git a/src/main/java/com/zcloud/modules/kangzai/service/impl/BusRiverSectionsStreetServiceImpl.java b/src/main/java/com/zcloud/modules/kangzai/service/impl/BusRiverSectionsStreetServiceImpl.java new file mode 100644 index 0000000..5a3be66 --- /dev/null +++ b/src/main/java/com/zcloud/modules/kangzai/service/impl/BusRiverSectionsStreetServiceImpl.java @@ -0,0 +1,60 @@ +package com.zcloud.modules.kangzai.service.impl; + import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; + import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; + import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + import com.zcloud.common.utils.PageUtils; + import com.zcloud.modules.kangzai.dao.BusRiverSectionsStreetDao; + import com.zcloud.modules.kangzai.entity.BusRiverSectionsStreetEntity; + import com.zcloud.modules.kangzai.service.BusRiverSectionsStreetService; + import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + + import java.util.List; + import java.util.Map; + +/** + * @Author fangjiakai + * @Desc 河流县区段信息表(BusRiverSectionsStreet)表服务实现类 + * @Date 2025-06-12 17:14:57 + */ +@Service("busRiverSectionsStreetService") +public class BusRiverSectionsStreetServiceImpl extends ServiceImpl implements BusRiverSectionsStreetService { + + @Override + public BusRiverSectionsStreetEntity queryByFlexibleParams(String paramName, Object paramValue) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(paramName, paramValue); // 根据传入的参数名和参数值动态构建查询条件 + + return baseMapper.selectOne(queryWrapper); + } + + @Override + public List queryListByFlexibleParams(String paramName, Object paramValue) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(paramName, paramValue); // 根据传入的参数名和参数值动态构建查询条件 + + return baseMapper.selectList(queryWrapper); + } + + @Override + public PageUtils listPage(Map params) { + Page> page = new Page<>(Integer.parseInt(params.get("curPage").toString()),Integer.parseInt(params.get("limit").toString())); + params.put("isDelete",0); + IPage ipage = baseMapper.listPage(page,params); + return new PageUtils(ipage); + } + + + @Override + public void delete(String riverSectionsStreetId,String userId){ + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("river_sections_street_id",riverSectionsStreetId); + + BusRiverSectionsStreetEntity busRiverSectionsStreet = new BusRiverSectionsStreetEntity(); + busRiverSectionsStreet.setIsDelete(1); + + this.update(busRiverSectionsStreet, updateWrapper); + } +} diff --git a/src/main/java/com/zcloud/modules/sys/controller/SysDictionariesController.java b/src/main/java/com/zcloud/modules/sys/controller/SysDictionariesController.java index 33406a6..4a338be 100644 --- a/src/main/java/com/zcloud/modules/sys/controller/SysDictionariesController.java +++ b/src/main/java/com/zcloud/modules/sys/controller/SysDictionariesController.java @@ -130,5 +130,12 @@ public class SysDictionariesController extends AbstractController { dictionaries = sysDictionariesService.getById(dictionaries.getDictionariesId()); return R.ok().put("dictionaries", dictionaries); } + + @PostMapping("/init") + //@RequiresPermission("sys:dictionaries:info") + public R init(){ + sysDictionariesService.importAreaFromJson(); + return R.ok(); + } } diff --git a/src/main/java/com/zcloud/modules/sys/dao/SysDictionariesDao.java b/src/main/java/com/zcloud/modules/sys/dao/SysDictionariesDao.java index e4bd10c..0a24530 100644 --- a/src/main/java/com/zcloud/modules/sys/dao/SysDictionariesDao.java +++ b/src/main/java/com/zcloud/modules/sys/dao/SysDictionariesDao.java @@ -23,4 +23,6 @@ public interface SysDictionariesDao extends BaseMapper { String getRecurrenceIds(String id); List cteldAll(String parentId); + + void deleteCte(String parentId); } diff --git a/src/main/java/com/zcloud/modules/sys/service/impl/SysDictionariesServiceImpl.java b/src/main/java/com/zcloud/modules/sys/service/impl/SysDictionariesServiceImpl.java index 500a1a3..3ad9fda 100644 --- a/src/main/java/com/zcloud/modules/sys/service/impl/SysDictionariesServiceImpl.java +++ b/src/main/java/com/zcloud/modules/sys/service/impl/SysDictionariesServiceImpl.java @@ -160,7 +160,7 @@ public class SysDictionariesServiceImpl extends ServiceImpl AND t.risk_description = #{params.riskDescription} + + AND t.is_delete = #{params.isDelete} + ORDER BY t.village diff --git a/src/main/resources/mapper/kangzai/BusRiverSectionsDao.xml b/src/main/resources/mapper/kangzai/BusRiverSectionsDao.xml index 2e24473..249dd71 100644 --- a/src/main/resources/mapper/kangzai/BusRiverSectionsDao.xml +++ b/src/main/resources/mapper/kangzai/BusRiverSectionsDao.xml @@ -38,6 +38,9 @@ AND t.section_description = #{params.sectionDescription} + + AND t.is_delete = #{params.isDelete} + ORDER BY t.county DESC diff --git a/src/main/resources/mapper/kangzai/BusRiverSectionsStreetDao.xml b/src/main/resources/mapper/kangzai/BusRiverSectionsStreetDao.xml new file mode 100644 index 0000000..1270fc2 --- /dev/null +++ b/src/main/resources/mapper/kangzai/BusRiverSectionsStreetDao.xml @@ -0,0 +1,62 @@ + + + + + + + diff --git a/src/main/resources/mapper/sys/SysDictionariesDao.xml b/src/main/resources/mapper/sys/SysDictionariesDao.xml index 0c99a4d..afbce54 100644 --- a/src/main/resources/mapper/sys/SysDictionariesDao.xml +++ b/src/main/resources/mapper/sys/SysDictionariesDao.xml @@ -21,4 +21,21 @@ ) select * from cte order by order_by asc + + + WITH RECURSIVE descendant_ids AS ( + SELECT dictionaries_id + FROM sys_dictionaries + WHERE parent_id = #{parentId} + + UNION ALL + + SELECT child.dictionaries_id + FROM sys_dictionaries child + JOIN descendant_ids parent ON child.parent_id = parent.dictionaries_id + ) + + DELETE FROM sys_dictionaries + WHERE dictionaries_id IN (SELECT dictionaries_id FROM descendant_ids); +