Browse Source

获取省接口迁移

master
God 11 months ago
parent
commit
b6f3b474b9
  1. 30
      src/main/java/com/yxt/portal/apiadmin/RegionRest.java
  2. 29
      src/main/java/com/yxt/portal/biz/region/Region.java
  3. 30
      src/main/java/com/yxt/portal/biz/region/RegionChildTwoVo.java
  4. 34
      src/main/java/com/yxt/portal/biz/region/RegionChildVo.java
  5. 46
      src/main/java/com/yxt/portal/biz/region/RegionDto.java
  6. 24
      src/main/java/com/yxt/portal/biz/region/RegionListVo.java
  7. 61
      src/main/java/com/yxt/portal/biz/region/RegionMapper.java
  8. 74
      src/main/java/com/yxt/portal/biz/region/RegionMapper.xml
  9. 23
      src/main/java/com/yxt/portal/biz/region/RegionQuery.java
  10. 123
      src/main/java/com/yxt/portal/biz/region/RegionService.java
  11. 24
      src/main/java/com/yxt/portal/biz/region/RegionThirdLevelNameVo.java
  12. 35
      src/main/java/com/yxt/portal/biz/region/RegionVo.java

30
src/main/java/com/yxt/portal/apiadmin/RegionRest.java

@ -0,0 +1,30 @@
package com.yxt.portal.apiadmin;
import com.yxt.common.core.result.ResultBean;
import com.yxt.portal.biz.region.RegionChildTwoVo;
import com.yxt.portal.biz.region.RegionService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
public class RegionRest {
@Autowired
private RegionService regionService;
/**
* 区域获取省
*
* @return 所有省的集合
*/
@ApiOperation("获取省")
@ResponseBody
@GetMapping("/getProvince")
public ResultBean getProvince() {
List<RegionChildTwoVo> regionList = regionService.getProvince();
return ResultBean.fireSuccess().setData(regionList);
}
}

29
src/main/java/com/yxt/portal/biz/region/Region.java

@ -0,0 +1,29 @@
package com.yxt.portal.biz.region;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/7/2 14:21
* @description
*/
@Data
public class Region extends BaseEntity {
private static final long serialVersionUID = -2834981997098086066L;
@ApiModelProperty(value = "上级sid")
private String pSid;
@ApiModelProperty(value = "级别")
private Integer level;
@ApiModelProperty(value = "名称,区域名称")
private String name;
@ApiModelProperty(value = "行政区划代码")
private String districtCode;
@ApiModelProperty(value = "sid全路径")
private String sidPath;
@ApiModelProperty(value = "排序号")
private Integer sortNo;
}

30
src/main/java/com/yxt/portal/biz/region/RegionChildTwoVo.java

@ -0,0 +1,30 @@
package com.yxt.portal.biz.region;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/7/2 23:15
* @description
*/
@Data
public class RegionChildTwoVo implements Vo {
private static final long serialVersionUID = 4618662603777612150L;
@ApiModelProperty(value = "sid")
private String sid;
@ApiModelProperty(value = "上级sid")
private String pSid;
@ApiModelProperty(value = "级别")
private Integer level;
@ApiModelProperty(value = "名称,区域名称")
private String name;
@ApiModelProperty(value = "行政区划代码")
private String districtCode;
@ApiModelProperty(value = "sid全路径")
private String sidPath;
@ApiModelProperty(value = "排序号")
private Integer sortNo;
}

34
src/main/java/com/yxt/portal/biz/region/RegionChildVo.java

@ -0,0 +1,34 @@
package com.yxt.portal.biz.region;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author dimengzhe
* @date 2021/7/2 23:14
* @description
*/
@Data
public class RegionChildVo implements Vo {
private static final long serialVersionUID = -4741874809037026585L;
@ApiModelProperty(value = "sid")
private String sid;
@ApiModelProperty(value = "上级sid")
private String pSid;
@ApiModelProperty(value = "级别")
private Integer level;
@ApiModelProperty(value = "名称,区域名称")
private String name;
@ApiModelProperty(value = "行政区划代码")
private String districtCode;
@ApiModelProperty(value = "sid全路径")
private String sidPath;
@ApiModelProperty(value = "排序号")
private Integer sortNo;
private List<RegionChildTwoVo> regionChildTwoVoList;
}

46
src/main/java/com/yxt/portal/biz/region/RegionDto.java

@ -0,0 +1,46 @@
package com.yxt.portal.biz.region;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
* @Author dimengzhe
* @Date 2021/11/11 15:18
* @Description
*/
@Data
public class RegionDto implements Dto {
private static final long serialVersionUID = 1283045363206557586L;
/**
* 名称区域名称
*/
@ApiModelProperty(value = "区域名称", required = true)
@NotBlank(message = "区域名称不能为空")
@Size(max = 64, min = 1)
private String name;
/**
* 行政区划代码
*/
@ApiModelProperty(value = "行政区划代码", required = true)
@NotBlank(message = "行政区划代码不能为空")
private String districtCode;
/**
* 上级sid
*/
@ApiModelProperty(value = "上级sid", required = true, example = "0")
private String psid;
/**
* 排序号
*/
@ApiModelProperty(value = "排序号", required = true)
private Integer sortNo;
@ApiModelProperty(value = "级别")
private int level;
}

24
src/main/java/com/yxt/portal/biz/region/RegionListVo.java

@ -0,0 +1,24 @@
package com.yxt.portal.biz.region;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/7/13 21:41
* @description
*/
@Data
public class RegionListVo implements Vo {
private static final long serialVersionUID = 8123582673134551495L;
@ApiModelProperty(value = "sid")
private String sid;
@ApiModelProperty(value = "名称")
private String name;
@ApiModelProperty(value = "区划代码")
private String districtCode;
@ApiModelProperty(value = "排序")
private Integer sortNo;
}

61
src/main/java/com/yxt/portal/biz/region/RegionMapper.java

@ -0,0 +1,61 @@
package com.yxt.portal.biz.region;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author dimengzhe
* @date 2021/7/2 15:10
* @description
*/
@Mapper
public interface RegionMapper extends BaseMapper<Region> {
/**
* 分页列表
*
* @param page
* @param qw
* @return
*/
IPage<RegionListVo> pageList(IPage<RegionQuery> page, @Param(Constants.WRAPPER) Wrapper<RegionListVo> qw);
/**
* 区域的树形列表
*
* @param psid
* @return
*/
List<RegionVo> treeList(String psid);
List<RegionChildTwoVo> getProvince();
List<RegionChildTwoVo> getCity(String sid);
List<RegionChildTwoVo> getCounty(String sid);
RegionThirdLevelNameVo selectThirdLevelNameByCode(@Param("districtCode") String districtCode);
/**
* 获取省市县区域列表
*
* @param pSid 上级sid默认为0
* @return
*/
List<RegionChildTwoVo> selectsList(String pSid);
Region selectByPsid(String pSid);
/**
* 查询该区域是否有下级
*
* @param sid 区域sid
* @return int
*/
public int selectRegionBySid(String sid);
}

74
src/main/java/com/yxt/portal/biz/region/RegionMapper.xml

@ -0,0 +1,74 @@
<?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="com.yxt.portal.biz.region.RegionMapper">
<resultMap id="regionMapNoChild" type="com.yxt.portal.biz.region.RegionChildTwoVo">
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="sid" jdbcType="VARCHAR" property="sid"/>
<result column="pSid" jdbcType="VARCHAR" property="pSid"/>
<result column="districtCode" jdbcType="INTEGER" property="districtCode"/>
<result column="sidPath" jdbcType="VARCHAR" property="sidPath"/>
</resultMap>
<select id="treeList" resultType="com.yxt.portal.biz.region.RegionVo">
SELECT r.sid, r.pSid, r.level, r.name, r.districtCode, r.sidPath, r.sortNo
from region r
WHERE r.pSid = #{psid}
ORDER BY r.sortNo ASC
</select>
<select id="getProvince" parameterType="com.yxt.portal.biz.region.RegionVo" resultMap="regionMapNoChild">
SELECT name, sid, pSid, districtCode, sidPath
FROM region
WHERE level = 1
AND pSid = 0
</select>
<select id="getCity" parameterType="com.yxt.portal.biz.region.RegionVo" resultMap="regionMapNoChild">
SELECT name, sid, pSid, districtCode, sidPath
FROM region
WHERE level = 2
AND pSid = #{sid}
ORDER BY sortNo + 0
</select>
<select id="getCounty" parameterType="com.yxt.portal.biz.region.RegionVo" resultMap="regionMapNoChild">
SELECT name, sid, pSid, districtCode, sidPath
FROM region
WHERE level = 3
AND pSid = #{sid}
</select>
<select id="selectThirdLevelNameByCode" resultType="com.yxt.portal.biz.region.RegionThirdLevelNameVo">
SELECT child.`name` county, father1.`name` city, father2.`name` province
FROM region child
LEFT JOIN region father1 ON child.psid = father1.sid
LEFT JOIN region father2 ON father1.psid = father2.sid
WHERE child.districtCode = #{districtCode}
</select>
<!-- <cache/>-->
<select id="selectsList" resultType="com.yxt.portal.biz.region.RegionChildTwoVo">
SELECT r.sid, r.pSid, r.level, r.name, r.districtCode, r.sidPath, r.sortNo
from region r
WHERE pSid = #{pSid}
</select>
<select id="selectByPsid" resultType="com.yxt.portal.biz.region.Region">
SELECT *
FROM region
WHERE sid = #{pSid}
</select>
<select id="selectRegionBySid" resultType="java.lang.Integer">
SELECT count(*)
FROM region
WHERE pSid = #{sid}
</select>
<select id="pageList" resultType="com.yxt.portal.biz.region.RegionListVo">
SELECT r.name, r.districtCode, r.sortNo, r.sid
from region r
${ew.customSqlSegment}
</select>
</mapper>

23
src/main/java/com/yxt/portal/biz/region/RegionQuery.java

@ -0,0 +1,23 @@
package com.yxt.portal.biz.region;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/7/13 21:55
* @description
*/
@Data
public class RegionQuery implements Query {
private static final long serialVersionUID = -3494331991678665867L;
@ApiModelProperty(value = "行政区划")
private String districtCode;
@ApiModelProperty(value = "名称")
private String name;
@ApiModelProperty(value = "pSid,市级列表此值需要传省级列表sid", example = "0")
private String psid;
}

123
src/main/java/com/yxt/portal/biz/region/RegionService.java

@ -0,0 +1,123 @@
package com.yxt.portal.biz.region;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author dimengzhe
* @date 2021/7/2 15:06
* @description
*/
@Service
public class RegionService extends MybatisBaseService<RegionMapper, Region> {
// 分页列表
public IPage<RegionListVo> pageList(PagerQuery<RegionQuery> pagerQuery) {
// mybits所用的分页对对象
IPage<RegionQuery> page = PagerUtil.queryToPage(pagerQuery);
// mybits所用的查询条件封装类
QueryWrapper<RegionListVo> qw = buildQueryWrapper(pagerQuery.getParams());
return baseMapper.pageList(page, qw);
}
private QueryWrapper<RegionListVo> buildQueryWrapper(RegionQuery pagerQuery) {
QueryWrapper<RegionListVo> qw = new QueryWrapper<>();
if (pagerQuery != null) {
String code = pagerQuery.getDistrictCode();
if (StringUtils.isNotBlank(code)) {
qw.like("r.districtCode", code);
}
String pSid = pagerQuery.getPsid();
qw.eq("r.pSid", pSid);
String name = pagerQuery.getName();
if (StringUtils.isNotBlank(name)) {
qw.like("r.name", name);
}
qw.orderByDesc("r.createTime");
}
return qw;
}
/**
* 区域树形列表
*
* @return
*/
public List<RegionVo> treeList() {
String psid = "0";
List<RegionVo> list = baseMapper.treeList(psid);
getChildList(list);
return list;
}
public void getChildList(List<RegionVo> list) {
list.forEach(regionTree -> {
String sid = regionTree.getSid();
List<RegionVo> listChildren = baseMapper.treeList(sid);
regionTree.setChildren(listChildren);
getChildList(listChildren);
});
}
public List<RegionChildTwoVo> getProvince() {
return baseMapper.getProvince();
}
/**
* 获取某省下的所有市
*
* @param sid 省sid
* @return 该省下的所有市的list
*/
public List<RegionChildTwoVo> getCity(String sid) {
return baseMapper.getCity(sid);
}
/**
* 获取某市下的所有区县
*
* @param sid 市sid
* @return 该市下的所有县区的list
*/
public List<RegionChildTwoVo> getCounty(String sid) {
return baseMapper.getCounty(sid);
}
RegionThirdLevelNameVo selectThirdLevelNameByCode(String districtCode) {
return baseMapper.selectThirdLevelNameByCode(districtCode);
}
/**
* 获取省市县
*
* @param pSid
* @return
*/
public List<RegionChildTwoVo> selectsList(String pSid) {
return baseMapper.selectsList(pSid);
}
public Region selectByPsid(String pSid) {
return baseMapper.selectByPsid(pSid);
}
/**
* 根据sid查询该区域是否有下级
*
* @param sid 区域sid
* @return int
*/
public int selectRegionBySid(String sid) {
return baseMapper.selectRegionBySid(sid);
}
}

24
src/main/java/com/yxt/portal/biz/region/RegionThirdLevelNameVo.java

@ -0,0 +1,24 @@
package com.yxt.portal.biz.region;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description
* @Author liuguohui
* @Date 2021/10/4
*/
@Data
public class RegionThirdLevelNameVo implements Vo {
@ApiModelProperty(value = "省")
private String province;
@ApiModelProperty(value = "市")
private String city;
@ApiModelProperty(value = "县")
private String county;
}

35
src/main/java/com/yxt/portal/biz/region/RegionVo.java

@ -0,0 +1,35 @@
package com.yxt.portal.biz.region;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author dimengzhe
* @date 2021/7/2 14:22
* @description
*/
@Data
public class RegionVo implements Vo {
private static final long serialVersionUID = 3351684167946104384L;
@ApiModelProperty(value = "sid")
private String sid;
@ApiModelProperty(value = "上级sid")
private String pSid;
@ApiModelProperty(value = "级别")
private Integer level;
@ApiModelProperty(value = "名称,区域名称")
private String name;
@ApiModelProperty(value = "行政区划代码")
private String districtCode;
@ApiModelProperty(value = "sid全路径")
private String sidPath;
@ApiModelProperty(value = "排序号")
private Integer sortNo;
private List<RegionVo> children;
}
Loading…
Cancel
Save