This commit is contained in:
PQZ 2025-04-02 18:18:07 +08:00
parent 242265d54d
commit d63358527b
4 changed files with 75 additions and 26 deletions

View File

@ -8,6 +8,7 @@ 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 com.ruoyi.base.vo.BaseCityVO;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -29,14 +30,13 @@ import com.ruoyi.common.utils.poi.ExcelUtil;
/**
* 城市Controller
*
*
* @author vinjor-m
* @date 2025-03-18
*/
@RestController
@RequestMapping("/base/city")
public class BaseCityController extends BaseController
{
public class BaseCityController extends BaseController {
@Autowired
private IBaseCityService baseCityService;
@ -45,20 +45,31 @@ public class BaseCityController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('base:city:list')")
@GetMapping("/list")
public AjaxResult list(BaseCity baseCity)
{
public AjaxResult list(BaseCity baseCity) {
List<BaseCity> list = baseCityService.list();
return success(list);
}
/**
* 查询城市数列表
* @author PQZ
* @date 15:11 2025/4/2
* @return com.ruoyi.common.core.domain.AjaxResult
**/
@GetMapping("/treeCity")
public AjaxResult treeCity() {
List<BaseCityVO> list = baseCityService.treeCity();
return success(list);
}
/**
* 导出城市列表
*/
@PreAuthorize("@ss.hasPermi('base:city:export')")
@Log(title = "城市", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, BaseCity baseCity)
{
public void export(HttpServletResponse response, BaseCity baseCity) {
List<BaseCity> list = baseCityService.list();
ExcelUtil<BaseCity> util = new ExcelUtil<BaseCity>(BaseCity.class);
util.exportExcel(response, list, "城市数据");
@ -69,8 +80,7 @@ public class BaseCityController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('base:city:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(baseCityService.getById(id));
}
@ -80,8 +90,7 @@ public class BaseCityController extends BaseController
@PreAuthorize("@ss.hasPermi('base:city:add')")
@Log(title = "城市", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BaseCity baseCity)
{
public AjaxResult add(@RequestBody BaseCity baseCity) {
return toAjax(baseCityService.save(baseCity));
}
@ -91,8 +100,7 @@ public class BaseCityController extends BaseController
@PreAuthorize("@ss.hasPermi('base:city:edit')")
@Log(title = "城市", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BaseCity baseCity)
{
public AjaxResult edit(@RequestBody BaseCity baseCity) {
return toAjax(baseCityService.updateById(baseCity));
}
@ -101,27 +109,26 @@ public class BaseCityController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('base:city:remove')")
@Log(title = "城市", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) {
List<Long> 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
**/
* @author vinjor-M
* @date 18:09 2025/3/18
**/
@GetMapping("/listByPid")
public AjaxResult listByPid(@RequestParam(value = "parentId",required = false) Long parentId)
{
if(null==parentId){
public AjaxResult listByPid(@RequestParam(value = "parentId", required = false) Long parentId) {
if (null == parentId) {
parentId = 0L;
}
List<BaseCity> list = baseCityService.list(new LambdaQueryWrapper<BaseCity>().eq(BaseCity::getParentId,parentId).orderByAsc(BaseCity::getAreaCode));
List<BaseCity> list = baseCityService.list(new LambdaQueryWrapper<BaseCity>().eq(BaseCity::getParentId, parentId).orderByAsc(BaseCity::getAreaCode));
return success(list);
}
}

View File

@ -1,18 +1,28 @@
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;
import com.ruoyi.base.vo.BaseCityVO;
/**
* 城市Service接口
*
*
* @author vinjor-m
* @date 2025-03-18
*/
public interface IBaseCityService extends IService<BaseCity>
{
public interface IBaseCityService extends IService<BaseCity> {
IPage<BaseCity> queryListPage(BaseCity pageReqVO, Page<BaseCity> page);
/**
* 查询树列表
*
* @return java.util.List<com.ruoyi.base.vo.BaseCityVO>
* @author PQZ
* @date 15:12 2025/4/2
**/
List<BaseCityVO> treeCity();
}

View File

@ -1,6 +1,9 @@
package com.ruoyi.base.service.impl;
import java.util.ArrayList;
import java.util.List;
import com.ruoyi.base.vo.BaseCityVO;
import com.ruoyi.common.utils.DateUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -27,4 +30,22 @@ public class BaseCityServiceImpl extends ServiceImpl<BaseCityMapper,BaseCity> i
public IPage<BaseCity> queryListPage(BaseCity pageReqVO, Page<BaseCity> page) {
return baseCityMapper.queryListPage(pageReqVO, page);
}
/**
* 查询树列表
*
* @return java.util.List<com.ruoyi.base.vo.BaseCityVO>
* @author PQZ
* @date 15:12 2025/4/2
**/
@Override
public List<BaseCityVO> treeCity() {
return null;
}
private List<BaseCityVO> buildCityTree(List<BaseCityVO> list) {
List<BaseCityVO> tree = new ArrayList<>();
return tree;
}
}

View File

@ -0,0 +1,11 @@
package com.ruoyi.base.vo;
import lombok.Data;
import java.util.List;
@Data
public class BaseCityVO {
String text;
String value;
List<BaseCityVO> children;
}