diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/ProvinceController.java b/nxhs-service/src/main/java/cc/yunxi/controller/ProvinceController.java new file mode 100644 index 0000000..a8852a4 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/controller/ProvinceController.java @@ -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(@PathVariable String nodeId) { + List list = provinceService.list(nodeId); + ArrayList 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); + } +} diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/po/Province.java b/nxhs-service/src/main/java/cc/yunxi/domain/po/Province.java new file mode 100644 index 0000000..5453130 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/po/Province.java @@ -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 2019年9月27日 上午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; + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/province/ProvinceListVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/province/ProvinceListVO.java new file mode 100644 index 0000000..06d2422 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/province/ProvinceListVO.java @@ -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; +} diff --git a/nxhs-service/src/main/java/cc/yunxi/mapper/ProvinceMapper.java b/nxhs-service/src/main/java/cc/yunxi/mapper/ProvinceMapper.java new file mode 100644 index 0000000..4a58b08 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/mapper/ProvinceMapper.java @@ -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; + +/** + *

+ * 价目表 Mapper 接口 + *

+ * + * @author ccongli + * @since 2024-03-08 01:37:49 + */ +@Mapper +public interface ProvinceMapper extends BaseMapper { + +} diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IProvinceService.java b/nxhs-service/src/main/java/cc/yunxi/service/IProvinceService.java new file mode 100644 index 0000000..12c2a1b --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/service/IProvinceService.java @@ -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 { + + List list(String parentId); +} diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/ProvinceServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/ProvinceServiceImpl.java new file mode 100644 index 0000000..b75a068 --- /dev/null +++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/ProvinceServiceImpl.java @@ -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 implements IProvinceService { + + @Override + public List list(String parentId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.lambda().eq(Province::getParentId, parentId) + .eq(Province::getEnabledMark, 1); + return this.list(wrapper); + } +} diff --git a/nxhs-service/src/main/resources/mapper/ProvinceMapper.xml b/nxhs-service/src/main/resources/mapper/ProvinceMapper.xml new file mode 100644 index 0000000..7460615 --- /dev/null +++ b/nxhs-service/src/main/resources/mapper/ProvinceMapper.xml @@ -0,0 +1,5 @@ + + + + +