14 changed files with 384 additions and 2 deletions
@ -0,0 +1,31 @@ |
|||
package com.epmet.dataaggre.dto.govorg.form; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 描述一下 |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2021/4/12 15:55 |
|||
*/ |
|||
@Data |
|||
public class NextAreaCodeFormDTO implements Serializable { |
|||
private static final long serialVersionUID = -1974456701949979946L; |
|||
|
|||
@NotBlank(message = "areaCode不能为空") |
|||
private String areaCode; |
|||
|
|||
/** |
|||
* 社区级:community, |
|||
* 乡(镇、街道)级:street, |
|||
* 区县级: district, |
|||
* 市级: city |
|||
* 省级:province |
|||
*/ |
|||
@NotBlank(message = "level不能为空") |
|||
private String level; |
|||
|
|||
} |
@ -0,0 +1,27 @@ |
|||
package com.epmet.dataaggre.dto.govorg.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 描述一下 |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2021/4/12 15:56 |
|||
*/ |
|||
@Data |
|||
public class NextAreaCodeResultDTO implements Serializable { |
|||
private static final long serialVersionUID = 9188265480821079966L; |
|||
|
|||
private String areaCode; |
|||
private String areaName; |
|||
/** |
|||
* 社区级:community, |
|||
* 乡(镇、街道)级:street, |
|||
* 区县级: district, |
|||
* 市级: city |
|||
* 省级:province |
|||
*/ |
|||
private String level; |
|||
} |
@ -0,0 +1,39 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dataaggre.dao.commonservice; |
|||
|
|||
import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-01-07 |
|||
*/ |
|||
@Mapper |
|||
public interface AreaCodeDao { |
|||
|
|||
List<NextAreaCodeResultDTO> selectCityList(String areaCode); |
|||
|
|||
List<NextAreaCodeResultDTO> selectDistrictList(String areaCode); |
|||
|
|||
List<NextAreaCodeResultDTO> selectStreetList(String areaCode); |
|||
|
|||
List<NextAreaCodeResultDTO> selectCommunityList(String areaCode); |
|||
} |
@ -0,0 +1,23 @@ |
|||
package com.epmet.dataaggre.service.commonservice; |
|||
|
|||
import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; |
|||
import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 描述一下 |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2021/4/12 15:45 |
|||
*/ |
|||
public interface AreaCodeService { |
|||
/** |
|||
* @return java.util.List<com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO> |
|||
* @param formDTO |
|||
* @author yinzuomei |
|||
* @description 新增组织-查询下一级可选的组织区划 |
|||
* @Date 2021/4/12 16:02 |
|||
**/ |
|||
List<NextAreaCodeResultDTO> queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO); |
|||
} |
@ -0,0 +1,75 @@ |
|||
package com.epmet.dataaggre.service.commonservice.impl; |
|||
|
|||
import com.epmet.commons.dynamic.datasource.annotation.DataSource; |
|||
import com.epmet.dataaggre.constant.DataSourceConstant; |
|||
import com.epmet.dataaggre.dao.commonservice.AreaCodeDao; |
|||
import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; |
|||
import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; |
|||
import com.epmet.dataaggre.service.commonservice.AreaCodeService; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.apache.commons.collections4.CollectionUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 描述一下 |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2021/4/12 15:46 |
|||
*/ |
|||
@DataSource(DataSourceConstant.EPMET_COMMON_SERVICE) |
|||
@Slf4j |
|||
@Service |
|||
public class AreaCodeServiceImpl implements AreaCodeService { |
|||
|
|||
@Autowired |
|||
private AreaCodeDao areaCodeDao; |
|||
|
|||
/** |
|||
* @param formDTO |
|||
* @return java.util.List<com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO> |
|||
* @author yinzuomei |
|||
* @description 新增组织-查询下一级可选的组织区划 |
|||
* @Date 2021/4/12 16:02 |
|||
**/ |
|||
@Override |
|||
public List<NextAreaCodeResultDTO> queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO) { |
|||
List<NextAreaCodeResultDTO> list = new ArrayList<>(); |
|||
NextAreaCodeResultDTO other = new NextAreaCodeResultDTO(); |
|||
other.setAreaCode("other"); |
|||
other.setAreaName("其它"); |
|||
switch (formDTO.getLevel()) { |
|||
/** |
|||
* 社区级:community, |
|||
* 乡(镇、街道)级:street, |
|||
* 区县级: district, |
|||
* 市级: city |
|||
* 省级:province |
|||
*/ |
|||
case "province": |
|||
list = areaCodeDao.selectCityList(formDTO.getAreaCode()); |
|||
other.setLevel("city"); |
|||
break; |
|||
case "city": |
|||
list = areaCodeDao.selectDistrictList(formDTO.getAreaCode()); |
|||
other.setLevel("district"); |
|||
break; |
|||
case "district": |
|||
list = areaCodeDao.selectStreetList(formDTO.getAreaCode()); |
|||
other.setLevel("street"); |
|||
break; |
|||
case "street": |
|||
list = areaCodeDao.selectCommunityList(formDTO.getAreaCode()); |
|||
other.setLevel("community"); |
|||
break; |
|||
default: |
|||
} |
|||
if (CollectionUtils.isNotEmpty(list)) { |
|||
list.add(other); |
|||
} |
|||
return list; |
|||
} |
|||
} |
@ -0,0 +1,57 @@ |
|||
<?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.epmet.dataaggre.dao.commonservice.AreaCodeDao"> |
|||
|
|||
<select id="selectCityList" parameterType="java.lang.String" resultType="com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO"> |
|||
SELECT DISTINCT |
|||
ac.CITY_CODE AS areaCode, |
|||
ac.CITY_NAME AS areaName, |
|||
'city' LEVEL |
|||
FROM |
|||
area_code ac |
|||
WHERE |
|||
ac.DEL_FLAG='0' |
|||
and ac.PROVINCE_CODE = #{areaCode} |
|||
ORDER BY |
|||
ac.CITY_CODE ASC |
|||
</select> |
|||
|
|||
<select id="selectDistrictList" parameterType="java.lang.String" resultType="com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO"> |
|||
SELECT DISTINCT |
|||
ac.COUNTY_CODE AS areaCode, |
|||
ac.COUNTY_NAME AS areaName, |
|||
'district' LEVEL |
|||
FROM |
|||
area_code ac |
|||
WHERE ac.DEL_FLAG='0' |
|||
and ac.CITY_CODE = #{areaCode} |
|||
ORDER BY |
|||
ac.COUNTY_CODE ASC |
|||
</select> |
|||
|
|||
<select id="selectStreetList" parameterType="java.lang.String" resultType="com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO"> |
|||
SELECT DISTINCT CODE AS areaCode, |
|||
NAME AS areaName, |
|||
'street' AS LEVEL |
|||
FROM |
|||
area_code_child acc |
|||
WHERE |
|||
acc.DEL_FLAG = '0' |
|||
AND acc.P_CODE = #{areaCode} |
|||
order by acc.CODE ASC |
|||
</select> |
|||
|
|||
<select id="selectCommunityList" parameterType="java.lang.String" resultType="com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO"> |
|||
SELECT DISTINCT CODE AS areaCode, |
|||
NAME AS areaName, |
|||
'community' AS LEVEL |
|||
FROM |
|||
area_code_child acc |
|||
WHERE |
|||
acc.DEL_FLAG = '0' |
|||
AND acc.P_CODE = #{areaCode} |
|||
ORDER BY |
|||
acc.CODE ASC |
|||
</select> |
|||
</mapper> |
Loading…
Reference in new issue