From da6faadfbe918c718dcff6c67b5b3886fd46ee3a Mon Sep 17 00:00:00 2001 From: Vinjor Date: Tue, 18 Mar 2025 18:15:39 +0800 Subject: [PATCH] 1 --- .../base/controller/BaseCityController.java | 127 ++++++++++++++++++ .../java/com/ruoyi/base/domain/BaseCity.java | 67 +++++++++ .../com/ruoyi/base/mapper/BaseCityMapper.java | 21 +++ .../ruoyi/base/service/IBaseCityService.java | 18 +++ .../service/impl/BaseCityServiceImpl.java | 30 +++++ .../resources/mapper/base/BaseCityMapper.xml | 40 ++++++ 6 files changed, 303 insertions(+) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseCityController.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/base/domain/BaseCity.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BaseCityMapper.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseCityService.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCityServiceImpl.java create mode 100644 ruoyi-admin/src/main/resources/mapper/base/BaseCityMapper.xml diff --git a/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseCityController.java b/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseCityController.java new file mode 100644 index 0000000..001554c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/controller/BaseCityController.java @@ -0,0 +1,127 @@ +package com.ruoyi.base.controller; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.base.domain.BaseCity; +import com.ruoyi.base.service.IBaseCityService; +import com.ruoyi.common.utils.poi.ExcelUtil; + +/** + * 城市Controller + * + * @author vinjor-m + * @date 2025-03-18 + */ +@RestController +@RequestMapping("/base/city") +public class BaseCityController extends BaseController +{ + @Autowired + private IBaseCityService baseCityService; + + /** + * 查询城市列表 + */ + @PreAuthorize("@ss.hasPermi('base:city:list')") + @GetMapping("/list") + public AjaxResult list(BaseCity baseCity) + { + List list = baseCityService.list(); + return success(list); + } + + /** + * 导出城市列表 + */ + @PreAuthorize("@ss.hasPermi('base:city:export')") + @Log(title = "城市", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BaseCity baseCity) + { + List list = baseCityService.list(); + ExcelUtil util = new ExcelUtil(BaseCity.class); + util.exportExcel(response, list, "城市数据"); + } + + /** + * 获取城市详细信息 + */ + @PreAuthorize("@ss.hasPermi('base:city:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(baseCityService.getById(id)); + } + + /** + * 新增城市 + */ + @PreAuthorize("@ss.hasPermi('base:city:add')") + @Log(title = "城市", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BaseCity baseCity) + { + return toAjax(baseCityService.save(baseCity)); + } + + /** + * 修改城市 + */ + @PreAuthorize("@ss.hasPermi('base:city:edit')") + @Log(title = "城市", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BaseCity baseCity) + { + return toAjax(baseCityService.updateById(baseCity)); + } + + /** + * 删除城市 + */ + @PreAuthorize("@ss.hasPermi('base:city:remove')") + @Log(title = "城市", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + List list = new ArrayList<>(Arrays.asList(ids)); + return toAjax(baseCityService.removeByIds(list)); + } + + /** + * 查询子级城市 + * @author vinjor-M + * @date 18:09 2025/3/18 + * @param parentId 父级id + * @return com.ruoyi.common.core.domain.AjaxResult + **/ + @GetMapping("/listByPid") + public AjaxResult listByPid(@RequestParam(value = "parentId",required = false) Long parentId) + { + if(null==parentId){ + parentId = 0L; + } + List list = baseCityService.list(new LambdaQueryWrapper().eq(BaseCity::getParentId,parentId).orderByAsc(BaseCity::getAreaCode)); + return success(list); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/base/domain/BaseCity.java b/ruoyi-admin/src/main/java/com/ruoyi/base/domain/BaseCity.java new file mode 100644 index 0000000..7836d61 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/domain/BaseCity.java @@ -0,0 +1,67 @@ +package com.ruoyi.base.domain; + +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.core.domain.DlBaseEntity; +import lombok.*; +import com.ruoyi.common.core.domain.TreeEntity; + +/** + * 城市对象 dl_base_city + * + * @author vinjor-m + * @date 2025-03-18 + */ +@TableName("dl_base_city") +@Data +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BaseCity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + @TableId(type = IdType.ASSIGN_UUID) + private Long id; + + /** 城市id */ + @Excel(name = "城市id") + private Long cityId; + + /** 省市级别 */ + @Excel(name = "省市级别") + private Long level; + + /** 父级id */ + @Excel(name = "父级id") + private Long parentId; + + /** 区号 */ + @Excel(name = "区号") + private String areaCode; + + /** 名称 */ + @Excel(name = "名称") + private String name; + + /** 合并名称 */ + @Excel(name = "合并名称") + private String mergerName; + + /** 经度 */ + @Excel(name = "经度") + private String lng; + + /** 纬度 */ + @Excel(name = "纬度") + private String lat; + + /** 是否展示 */ + @Excel(name = "是否展示") + private Integer isShow; + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BaseCityMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BaseCityMapper.java new file mode 100644 index 0000000..eb3452c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/mapper/BaseCityMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.base.mapper; + +import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.base.domain.BaseCity; +import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * 城市Mapper接口 + * + * @author vinjor-m + * @date 2025-03-18 + */ +@Mapper +public interface BaseCityMapper extends BaseMapper +{ + IPage queryListPage(@Param("entity") BaseCity entity, Page page); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseCityService.java b/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseCityService.java new file mode 100644 index 0000000..aae511b --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/service/IBaseCityService.java @@ -0,0 +1,18 @@ +package com.ruoyi.base.service; + +import java.util.List; +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.base.domain.BaseCity; + +/** + * 城市Service接口 + * + * @author vinjor-m + * @date 2025-03-18 + */ +public interface IBaseCityService extends IService +{ + IPage queryListPage(BaseCity pageReqVO, Page page); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCityServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCityServiceImpl.java new file mode 100644 index 0000000..2c2c189 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/base/service/impl/BaseCityServiceImpl.java @@ -0,0 +1,30 @@ +package com.ruoyi.base.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.base.mapper.BaseCityMapper; +import com.ruoyi.base.domain.BaseCity; +import com.ruoyi.base.service.IBaseCityService; + +/** + * 城市Service业务层处理 + * + * @author vinjor-m + * @date 2025-03-18 + */ +@Service +public class BaseCityServiceImpl extends ServiceImpl implements IBaseCityService +{ + @Autowired + private BaseCityMapper baseCityMapper; + + @Override + public IPage queryListPage(BaseCity pageReqVO, Page page) { + return baseCityMapper.queryListPage(pageReqVO, page); + } +} diff --git a/ruoyi-admin/src/main/resources/mapper/base/BaseCityMapper.xml b/ruoyi-admin/src/main/resources/mapper/base/BaseCityMapper.xml new file mode 100644 index 0000000..75ffa3c --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/base/BaseCityMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + select id, city_id, level, parent_id, area_code, name, merger_name, lng, lat, is_show, create_time, update_time from dl_base_city + + + + \ No newline at end of file