From 1d48b3889cb66cc91b8d24e19d03022732615f27 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 25 十二月 2025 14:24:39 +0800
Subject: [PATCH] yys  商机管理增加城市

---
 src/main/java/com/ruoyi/sales/controller/BusinessOpportunityController.java    |   12 ++++++
 src/main/java/com/ruoyi/sales/mapper/AreaMapper.java                           |   11 +++++
 src/main/java/com/ruoyi/sales/pojo/Area.java                                   |   45 ++++++++++++++++++++++
 src/main/java/com/ruoyi/sales/pojo/BusinessOpportunity.java                    |    3 +
 src/main/java/com/ruoyi/sales/service/BusinessOpportunityService.java          |    7 +++
 src/main/java/com/ruoyi/common/config/IgnoreTableConfig.java                   |    1 
 src/main/java/com/ruoyi/sales/service/impl/BusinessOpportunityServiceImpl.java |   17 ++++++++
 7 files changed, 96 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/common/config/IgnoreTableConfig.java b/src/main/java/com/ruoyi/common/config/IgnoreTableConfig.java
index 66f674a..24dce9c 100644
--- a/src/main/java/com/ruoyi/common/config/IgnoreTableConfig.java
+++ b/src/main/java/com/ruoyi/common/config/IgnoreTableConfig.java
@@ -35,5 +35,6 @@
         IGNORE_TABLES.add("sys_job_log");
         IGNORE_TABLES.add("gen_table");
         IGNORE_TABLES.add("gen_table_column");
+        IGNORE_TABLES.add("area");
     }
 }
diff --git a/src/main/java/com/ruoyi/sales/controller/BusinessOpportunityController.java b/src/main/java/com/ruoyi/sales/controller/BusinessOpportunityController.java
index d614b9d..8b32f21 100644
--- a/src/main/java/com/ruoyi/sales/controller/BusinessOpportunityController.java
+++ b/src/main/java/com/ruoyi/sales/controller/BusinessOpportunityController.java
@@ -40,6 +40,18 @@
     @Autowired
     private CommonFileServiceImpl commonFileService;
 
+    @ApiOperation("鑾峰彇鐪佺骇鍒楄〃")
+    @GetMapping("/getProvinceList")
+    public AjaxResult getProvinceList() {
+        return AjaxResult.success(businessOpportunityService.getProvinceList());
+    }
+
+    @ApiOperation("閫氳繃鐪佺骇id鑾峰彇鍩庡競鍒楄〃")
+    @GetMapping("/getCityList")
+    public AjaxResult getCityList(@RequestParam("provinceId") Integer provinceId) {
+        return AjaxResult.success(businessOpportunityService.getCityList(provinceId));
+    }
+
     @GetMapping("/listPage")
     @ApiOperation("鍟嗘満鍒楄〃")
     public AjaxResult listPage(Page page, BusinessOpportunity businessOpportunity) {
diff --git a/src/main/java/com/ruoyi/sales/mapper/AreaMapper.java b/src/main/java/com/ruoyi/sales/mapper/AreaMapper.java
new file mode 100644
index 0000000..aeaf667
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/mapper/AreaMapper.java
@@ -0,0 +1,11 @@
+package com.ruoyi.sales.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.sales.pojo.Area;
+
+/**
+ * @author :yys
+ * @date : 2025/12/25 13:28
+ */
+public interface AreaMapper extends BaseMapper<Area> {
+}
diff --git a/src/main/java/com/ruoyi/sales/pojo/Area.java b/src/main/java/com/ruoyi/sales/pojo/Area.java
new file mode 100644
index 0000000..0d9e858
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/pojo/Area.java
@@ -0,0 +1,45 @@
+package com.ruoyi.sales.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/12/25 13:23
+ */
+@Data
+@TableName("area")
+public class Area implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 搴忓彿
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty(value = "鐖剁骇ID锛�0=鐪侊紝鍏朵粬=瀵瑰簲涓婄骇ID")
+    private Integer parentId;
+
+    @ApiModelProperty(value = "鍖哄煙鍚嶇О锛堢渷/甯�/鍖哄幙锛�")
+    private String name;
+
+    @ApiModelProperty(value = "灞傜骇锛�1=鐪侊紝2=甯傦紝3=鍖哄幙")
+    private Integer level;
+
+    /**
+     * 瀛愰泦
+     */
+    @TableField(exist = false)
+    private List<Area> children;
+
+}
diff --git a/src/main/java/com/ruoyi/sales/pojo/BusinessOpportunity.java b/src/main/java/com/ruoyi/sales/pojo/BusinessOpportunity.java
index d4313a1..441ae27 100644
--- a/src/main/java/com/ruoyi/sales/pojo/BusinessOpportunity.java
+++ b/src/main/java/com/ruoyi/sales/pojo/BusinessOpportunity.java
@@ -46,6 +46,9 @@
     @ApiModelProperty(value = "鐪佷唤")
     private String province;
 
+    @ApiModelProperty(value = "鍩庡競")
+    private String city;
+
     @ApiModelProperty(value = "瀹㈡埛鍚嶇О")
     private String customerName;
 
diff --git a/src/main/java/com/ruoyi/sales/service/BusinessOpportunityService.java b/src/main/java/com/ruoyi/sales/service/BusinessOpportunityService.java
index 75a3c26..29653d3 100644
--- a/src/main/java/com/ruoyi/sales/service/BusinessOpportunityService.java
+++ b/src/main/java/com/ruoyi/sales/service/BusinessOpportunityService.java
@@ -3,7 +3,10 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.sales.pojo.Area;
 import com.ruoyi.sales.pojo.BusinessOpportunity;
+
+import java.util.List;
 
 /**
  * @author :yys
@@ -18,4 +21,8 @@
      * @return
      */
     IPage<BusinessOpportunity> listPage(Page page, BusinessOpportunity businessOpportunity);
+
+    List<Area> getProvinceList();
+
+    List<Area> getCityList(Integer provinceId);
 }
diff --git a/src/main/java/com/ruoyi/sales/service/impl/BusinessOpportunityServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/BusinessOpportunityServiceImpl.java
index 0c48247..10ef683 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/BusinessOpportunityServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/BusinessOpportunityServiceImpl.java
@@ -5,12 +5,16 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.sales.mapper.AreaMapper;
 import com.ruoyi.sales.mapper.BusinessOpportunityMapper;
+import com.ruoyi.sales.pojo.Area;
 import com.ruoyi.sales.pojo.BusinessOpportunity;
 import com.ruoyi.sales.service.BusinessOpportunityService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * @author :yys
@@ -22,6 +26,9 @@
 
     @Autowired
     private BusinessOpportunityMapper businessOpportunityMapper;
+
+    @Autowired
+    private AreaMapper areaMapper;
 
     @Override
     public IPage<BusinessOpportunity> listPage(Page page, BusinessOpportunity businessOpportunity) {
@@ -38,4 +45,14 @@
         businessOpportunityLambdaQueryWrapper.orderByDesc(BusinessOpportunity::getEntryDate);
         return businessOpportunityMapper.selectPage(page,businessOpportunityLambdaQueryWrapper);
     }
+
+    @Override
+    public List<Area> getProvinceList() {
+        return areaMapper.selectList(new LambdaQueryWrapper<Area>().eq(Area::getLevel,1).eq(Area::getParentId,0));
+    }
+
+    @Override
+    public List<Area> getCityList(Integer provinceId) {
+        return areaMapper.selectList(new LambdaQueryWrapper<Area>().eq(Area::getLevel,2).eq(Area::getParentId,provinceId));
+    }
 }

--
Gitblit v1.9.3