地址 区划

master
guochaojie 3 months ago
parent b702d48c69
commit 4684399167

@ -0,0 +1,43 @@
package cc.yunxi.controller;
import cc.yunxi.common.domain.CommonResult;
import cc.yunxi.common.utils.BeanUtils;
import cc.yunxi.domain.po.Province;
import cc.yunxi.domain.vo.province.ProvinceListVO;
import cc.yunxi.service.IProvinceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Api(tags = "区域管理")
@RestController
@RequestMapping("/province")
@RequiredArgsConstructor
@Slf4j
public class ProvinceController {
@Resource
private IProvinceService provinceService;
@GetMapping("/{nodeId}")
@ApiOperation("获取区域列表")
public CommonResult<List<ProvinceListVO>> list(@PathVariable String nodeId) {
List<Province> list = provinceService.list(nodeId);
ArrayList<ProvinceListVO> result = new ArrayList<>();
if (list.size() > 0) {
for (Province province : list) {
boolean hasChild = provinceService.list(province.getId()).size() > 0;
ProvinceListVO vo = BeanUtils.copyBean(province, ProvinceListVO.class);
vo.setHasChildren(hasChild);
vo.setIsLeaf(!hasChild);
result.add(vo);
}
}
return CommonResult.success(result);
}
}

@ -0,0 +1,66 @@
package cc.yunxi.domain.po;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
*
*
* @author JNPF
* @version V3.1.0
* @copyright https://www.jnpfsoft.com
* @date 2019927 9:18m
*/
@Data
@TableName("base_province")
public class Province {
/**
*
*/
@TableId("F_ID")
private String id;
/**
*
*/
@TableField("F_PARENT_ID")
private String parentId;
/**
*
*/
@TableField("F_EN_CODE")
private String enCode;
/**
*
*/
@TableField("F_FULL_NAME")
private String fullName;
/**
*
*/
@TableField("F_QUICK_QUERY")
private String quickQuery;
/**
*
*/
@TableField("F_TYPE")
private String type;
/**
*
*/
@TableField("F_ENABLED_MARK")
private Integer enabledMark;
/**
*
*/
@TableField("F_SORT_CODE")
private long sortCode;
}

@ -0,0 +1,24 @@
package cc.yunxi.domain.vo.province;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "ProvinceListVO", description = "省份列表")
public class ProvinceListVO {
@ApiModelProperty(name = "主键")
private String id;
@ApiModelProperty(name = "名称")
private String fullName;
@ApiModelProperty(name = "编码")
private String enCode;
@ApiModelProperty(name = "有效标志")
private Integer enabledMark;
@ApiModelProperty(name = "是否有子集")
private Boolean hasChildren;
@ApiModelProperty(name = "是否有子集取反")
private Boolean isLeaf;
@ApiModelProperty(name = "排序码")
private long sortCode;
}

@ -0,0 +1,18 @@
package cc.yunxi.mapper;
import cc.yunxi.domain.po.Province;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper
* </p>
*
* @author ccongli
* @since 2024-03-08 01:37:49
*/
@Mapper
public interface ProvinceMapper extends BaseMapper<Province> {
}

@ -0,0 +1,11 @@
package cc.yunxi.service;
import cc.yunxi.domain.po.Province;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
public interface IProvinceService extends IService<Province> {
List<Province> list(String parentId);
}

@ -0,0 +1,22 @@
package cc.yunxi.service.impl;
import cc.yunxi.domain.po.Province;
import cc.yunxi.mapper.ProvinceMapper;
import cc.yunxi.service.IProvinceService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ProvinceServiceImpl extends ServiceImpl<ProvinceMapper, Province> implements IProvinceService {
@Override
public List<Province> list(String parentId) {
QueryWrapper<Province> wrapper = new QueryWrapper<>();
wrapper.lambda().eq(Province::getParentId, parentId)
.eq(Province::getEnabledMark, 1);
return this.list(wrapper);
}
}

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cc.yunxi.mapper.ProvinceMapper">
</mapper>
Loading…
Cancel
Save