diff --git a/pom.xml b/pom.xml index 0266af0420e2ad8d7b962430308c8c026a88ab86..be680b8c77ff74b917be3545c389a7dd1f66602a 100644 --- a/pom.xml +++ b/pom.xml @@ -47,11 +47,11 @@ org.springframework.boot spring-boot-starter-test - + org.springframework.boot spring-boot-starter-tomcat @@ -257,12 +257,12 @@ javassist 3.27.0-GA - + net.postgis @@ -344,20 +344,22 @@ spring-boot-maven-plugin com.cetc32.dh.DhApplication + true - + + true<!– 如果没有该配置,热部署的devtools不生效 –> - + --> org.apache.maven.plugins maven-resources-plugin + @ false diff --git a/src/main/java/com/cetc32/dh/controller/rest/CityGeomController.java b/src/main/java/com/cetc32/dh/controller/rest/CityGeomController.java index dc81836a757e738920a18e8493b3cf096542b462..8438490a2bc3a25e8aa8fb2f96159ed951801a31 100644 --- a/src/main/java/com/cetc32/dh/controller/rest/CityGeomController.java +++ b/src/main/java/com/cetc32/dh/controller/rest/CityGeomController.java @@ -79,9 +79,11 @@ public class CityGeomController { /** + * @Deprecated * city名称转换 * 如返回:"中国,陕西省,西安市;" */ + @Deprecated @PostMapping("/nameChange") public ResponseResult nameChange(@RequestBody Map map) { String areaNames = (String) map.get("areaNames"); diff --git a/src/main/java/com/cetc32/dh/controller/rest/CityInfoController.java b/src/main/java/com/cetc32/dh/controller/rest/CityInfoController.java new file mode 100644 index 0000000000000000000000000000000000000000..d56dda3a099decd36ac08582bc9b5ac0832e5d85 --- /dev/null +++ b/src/main/java/com/cetc32/dh/controller/rest/CityInfoController.java @@ -0,0 +1,90 @@ +package com.cetc32.dh.controller.rest; + +import com.cetc32.dh.common.response.PageDataResult; +import com.cetc32.dh.common.response.ResponseData; +import com.cetc32.dh.entity.CityInfo; +import com.cetc32.dh.service.CityInfoService; +import com.cetc32.webutil.common.annotations.LoginSkipped; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.lang.Nullable; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/rest/city/") +@LoginSkipped +public class CityInfoController { + @Autowired + CityInfoService cityInfoService; + + @RequestMapping("/query") + public PageDataResult queryCityInfos(@Nullable @RequestBody CityInfo cityInfo, @Nullable Integer page, @Nullable Integer results){ + if(cityInfo==null){ + cityInfo =new CityInfo(); + } + if(page==null ){ + page = cityInfo.getPage(); + } + if(results==null ){ + results = cityInfo.getResults(); + } + if( page <=0){ + page =1; + } + if( results <=0){ + results =15; + } + cityInfo.setPage(page); + cityInfo.setResults(results); + int totals =cityInfoService.countCityInfoByParam(cityInfo); + return PageDataResult.success(totals, + cityInfoService.selectCityInfoByParam(cityInfo),cityInfo.getOffset()); + //return ResponseData.success(); + } + + + /******* + * 新增和更新为同一个接口 + * *****/ + @PostMapping("/info") + public ResponseData insertOrUpdateCityInfos(@RequestBody CityInfo cityInfo){ + if(null == cityInfo) + return ResponseData.error("输入参数为空"); + if(StringUtils.isBlank(cityInfo.getCity())){ + return ResponseData.error("城市名称不能为空"); + } + if(StringUtils.isBlank(cityInfo.getCityCode())){ + return ResponseData.error("城市编码不能为空"); + } + if(StringUtils.isBlank(cityInfo.getParentId())){ + return ResponseData.error("城市父亲ID不能为空"); + } + if(StringUtils.isBlank(cityInfo.getPolygonText())){ + return ResponseData.error("城市区域点集不能为空"); + } + if(StringUtils.isBlank(cityInfo.getMergerName())){ + return ResponseData.error("城市全称不能为空"); + } + try{ + if(0 menus = dataMenuService.selectAll(); diff --git a/src/main/java/com/cetc32/dh/entity/CityGeom.java b/src/main/java/com/cetc32/dh/entity/CityGeom.java index c60207180ccd499c12c702cb11776ce595150e9d..48a4b75d00a228ea61d3958cf4484a5c82921240 100644 --- a/src/main/java/com/cetc32/dh/entity/CityGeom.java +++ b/src/main/java/com/cetc32/dh/entity/CityGeom.java @@ -8,13 +8,14 @@ package com.cetc32.dh.entity; import com.cetc32.dh.common.bean.TreeNode; +import org.apache.commons.lang3.StringUtils; import javax.persistence.Column; import javax.persistence.Id; import javax.persistence.Table; @Table(name = "city_geom") -public class CityGeom implements TreeNode { +public class CityGeom extends NumberS implements TreeNode { private String city; @@ -46,7 +47,7 @@ public class CityGeom implements TreeNode { } public void setCity(String city) { - this.city = city; + this.city = formatStr(city); } public String getCityCode() { @@ -54,7 +55,7 @@ public class CityGeom implements TreeNode { } public void setCityCode(String city_code) { - this.cityCode = city_code; + this.cityCode = formatStr(city_code); } public String getProvinceCode() { @@ -62,7 +63,7 @@ public class CityGeom implements TreeNode { } public void setProvinceCode(String province_code) { - this.provinceCode = province_code; + this.provinceCode = formatStr(province_code); } public String getProvince() { @@ -100,4 +101,14 @@ public class CityGeom implements TreeNode { public String getParentKey() { return provinceCode; } + + protected String formatStr(String str){ + if(StringUtils.isBlank(str) ) + return null; + str =str.trim(); + if(str.equals("%%")||str.equals("%")|| StringUtils.isBlank(str.replaceAll("%",""))){ + return null; + } + return str; + } } diff --git a/src/main/java/com/cetc32/dh/entity/CityInfo.java b/src/main/java/com/cetc32/dh/entity/CityInfo.java new file mode 100644 index 0000000000000000000000000000000000000000..ea032d5a2e9e01d5cf4a29cd35e26e16907a6dad --- /dev/null +++ b/src/main/java/com/cetc32/dh/entity/CityInfo.java @@ -0,0 +1,67 @@ +package com.cetc32.dh.entity; + +import org.apache.commons.lang3.StringUtils; + +public class CityInfo extends CityGeom{ + String cityPhonePrefix; + String remarks; + String mergerName; + String levelType; + String keyWords; + public void setId(String id){ + setCityCode(id); + } + + public String getId(){ + return getCityCode(); + } + + public void setParentId(String parentId){ + setProvinceCode(parentId); + } + + public String getParentId(){ + return getProvinceCode(); + } + + public String getCityPhonePrefix() { + return cityPhonePrefix; + } + + public void setCityPhonePrefix(String cityPhonePrefix) { + this.cityPhonePrefix = formatStr(cityPhonePrefix); + } + + public String getRemarks() { + return remarks; + } + + public void setRemarks(String remarks) { + this.remarks = formatStr(remarks); + } + + public String getLevelType() { + return levelType; + } + + public void setLevelType(String levelType) { + this.levelType = levelType; + } + + public String getMergerName() { + return mergerName; + } + + public void setMergerName(String mergerName) { + this.mergerName = formatStr(mergerName); + } + + public void setKeyWords(String keyWords){ + this.keyWords = formatStr(keyWords); + } + public String getKeyWords(){ + if(StringUtils.isNotBlank(keyWords)) + return "%"+keyWords +"%"; + return null; + } +} diff --git a/src/main/java/com/cetc32/dh/mybatis/AreaCommonMapper.java b/src/main/java/com/cetc32/dh/mybatis/AreaCommonMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..dffd8ff435863d486fa1f2e396c0d885a23de76b --- /dev/null +++ b/src/main/java/com/cetc32/dh/mybatis/AreaCommonMapper.java @@ -0,0 +1,16 @@ +package com.cetc32.dh.mybatis; + +import com.cetc32.dh.entity.CityGeom; +import com.cetc32.dh.entity.CityInfo; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface AreaCommonMapper { + public Integer insertOrUpdateCity(CityInfo cityInfo); + public List selectCityByQuery(CityInfo cityInfo ); + public Integer countCityByQuery(CityInfo cityInfo); + public Integer deleteById(@Param("id")String id); +} diff --git a/src/main/java/com/cetc32/dh/mybatis/CityGeomMapper.java b/src/main/java/com/cetc32/dh/mybatis/CityGeomMapper.java index 1c824c2137cdf2136e6b5c8936b9f5b7abca63d7..61e7d7896d42fc9eff8464dfa4027c9c90de12d3 100644 --- a/src/main/java/com/cetc32/dh/mybatis/CityGeomMapper.java +++ b/src/main/java/com/cetc32/dh/mybatis/CityGeomMapper.java @@ -16,6 +16,8 @@ import java.util.List; @Repository public interface CityGeomMapper extends Mapper { + public Integer insertOrUpdateCity(CityGeom city); + public Integer deleteByCityCode(@Param("cityCode")String cityCode); public List selectCityTree(@Param("proCode")String proCode) ; public String selectCityInCodes( List areaCodes); diff --git a/src/main/java/com/cetc32/dh/service/CityInfoService.java b/src/main/java/com/cetc32/dh/service/CityInfoService.java new file mode 100644 index 0000000000000000000000000000000000000000..2885186c1d6556eb85754e78d643a0015af5fd92 --- /dev/null +++ b/src/main/java/com/cetc32/dh/service/CityInfoService.java @@ -0,0 +1,12 @@ +package com.cetc32.dh.service; + +import com.cetc32.dh.entity.CityInfo; + +import java.util.List; + +public interface CityInfoService { + public Integer insertUpdateCityInfo(CityInfo cityInfo); + public Integer deleteCityInfo(String cityCode); + public List selectCityInfoByParam(CityInfo cityInfo); + public Integer countCityInfoByParam(CityInfo cityInfo); +} diff --git a/src/main/java/com/cetc32/dh/service/impl/CityInfoServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/CityInfoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..228a062d678881d976adf55d7370c5e9b30aed52 --- /dev/null +++ b/src/main/java/com/cetc32/dh/service/impl/CityInfoServiceImpl.java @@ -0,0 +1,67 @@ +package com.cetc32.dh.service.impl; + +import com.cetc32.dh.entity.CityInfo; +import com.cetc32.dh.mybatis.AreaCommonMapper; +import com.cetc32.dh.mybatis.CityGeomMapper; +import com.cetc32.dh.service.CityInfoService; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class CityInfoServiceImpl implements CityInfoService { + @Autowired + CityGeomMapper cityGeomMapper; + @Autowired + AreaCommonMapper areaCommonMapper; + @Override + public Integer insertUpdateCityInfo(CityInfo cityInfo) { + if(cityInfo ==null ) + return -1; + if(cityInfo.getCityCode()== null || cityInfo.getProvinceCode() ==null) + return -1; + try{ + cityGeomMapper.insertOrUpdateCity(cityInfo); + areaCommonMapper.insertOrUpdateCity(cityInfo); + return 1; + }catch (Exception e){ + e.printStackTrace(); + } + return -1; + } + + @Override + public Integer deleteCityInfo(String cityCode) { + if(StringUtils.isNotBlank(cityCode)){ + try{ + cityGeomMapper.deleteByCityCode(cityCode); + areaCommonMapper.deleteById(cityCode); + }catch (Exception e){ + + } + } + return -1; + } + + @Override + public List selectCityInfoByParam(CityInfo cityInfo) { + if(cityInfo !=null){ + if(null != cityInfo.getRemarks()){ + cityInfo.setRemarks("%"+cityInfo.getRemarks()+"%"); + } + } + return areaCommonMapper.selectCityByQuery(cityInfo); + } + + @Override + public Integer countCityInfoByParam(CityInfo cityInfo) { + if(cityInfo !=null){ + if(null != cityInfo.getRemarks()){ + cityInfo.setRemarks("%"+cityInfo.getRemarks()+"%"); + } + } + return areaCommonMapper.countCityByQuery(cityInfo); + } +} diff --git a/src/main/java/com/cetc32/dh/service/impl/DataFileServiceImpl.java b/src/main/java/com/cetc32/dh/service/impl/DataFileServiceImpl.java index 96d138948c78853f18b5a28494093e657926153a..e8d515e38a08739725aa25e7a52c5e65b41c764c 100644 --- a/src/main/java/com/cetc32/dh/service/impl/DataFileServiceImpl.java +++ b/src/main/java/com/cetc32/dh/service/impl/DataFileServiceImpl.java @@ -23,7 +23,6 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; -import org.jetbrains.annotations.Nullable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.GetMapping; diff --git a/src/main/resources/application-xwy.yml b/src/main/resources/application-xwy.yml index 79ef29ec9d94e08ae7c5728af04734a965ccd2ba..cbdcf3f8897ce69aa222cde131bc4b76fe8702bf 100644 --- a/src/main/resources/application-xwy.yml +++ b/src/main/resources/application-xwy.yml @@ -25,11 +25,11 @@ spring: application: name: dhManager datasource: - ##url: jdbc:postgresql://192.168.1.60:5432/dhmanage - url: jdbc:postgresql://180.184.65.203:5432/dhmanage + url: jdbc:postgresql://192.168.1.60:5432/dhmanage + #url: jdbc:postgresql://180.184.65.203:5432/dhmanage username: postgres - #password: 123456 - password: Zdk@824. + password: 123456 + #password: Zdk@824. driver-class-name: org.postgresql.Driver # datasource: @@ -79,8 +79,8 @@ downPath: ${rootPath}/downPath eip: http://192.168.1.206:8080/ gainMenuId: 10 sso: - ##authcenter: http://192.168.1.206:8081 - authcenter: http://180.184.65.203:8087 + authcenter: http://192.168.1.206:8081 + #authcenter: http://180.184.65.203:8087 verifyUrl: ${sso.authcenter}/rest/auth/verify?token= passportUrl: ${sso.authcenter}/?ReturnUrl= defaultLoginRequiredEnable: true @@ -89,4 +89,7 @@ sso: sysurl : http://192.168.1.206:${server.port} sysname : 数据管理系统 registerUrl : ${sso.authcenter}/rest/api/sys/sync + syscode: S002 offlineDataMenuId : 151 +plpUrl: /plpData +traceUrl: /traceData diff --git a/src/main/resources/application-xwybjb.yml b/src/main/resources/application-xwybjb.yml index 720e9544d400feb42484db7fc6be72e479a2cf86..265f4bcbbc69e88d5745c815c2e789486d4be340 100644 --- a/src/main/resources/application-xwybjb.yml +++ b/src/main/resources/application-xwybjb.yml @@ -78,9 +78,9 @@ upDatePath: ${rootPath}/updatePath/ downPath: ${rootPath}/downPath eip: http://192.168.1.206:8080/ sso: - #authcenter: http://192.168.1.206:8081 + authcenter: http://192.168.1.206:8081 #authcenter: http://180.184.65.203:8087 - authcenter: http://localhost:8081 + #authcenter: http://localhost:8081 verifyUrl: ${sso.authcenter}/rest/auth/verify?token= passportUrl: ${sso.authcenter}/?ReturnUrl= defaultLoginRequiredEnable: true @@ -89,6 +89,7 @@ sso: sysurl : http://192.168.1.206:${server.port} sysname : 数据管理系统 registerUrl : ${sso.authcenter}/rest/api/sys/sync + syscode: S002 offlineDataMenuId : 151 gainMenuId: 21 plpUrl: /plpData diff --git a/src/main/resources/mapper/AreaCommonMapper.xml b/src/main/resources/mapper/AreaCommonMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..6685a9860c0acd8a2d6dc8aa1496233acb074bd5 --- /dev/null +++ b/src/main/resources/mapper/AreaCommonMapper.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + insert into area_common(name,id,parent_id,merger_name,city_code,level_type,remarks) + values(#{city},#{cityCode},#{provinceCode},#{mergerName},#{cityPhonePrefix},#{levelType},#{remarks}) + on conflict(id) + do update set name=#{city},parent_id = #{provinceCode},merger_name =#{mergerName},city_code =#{cityPhonePrefix}, + level_type =#{levelType},remarks =#{remarks} + + + + + + delete from area_common where id = #{id} + + + + diff --git a/src/main/resources/mapper/CityGeomMapper.xml b/src/main/resources/mapper/CityGeomMapper.xml index cb0810e0e81389937451dc36176fa13fe31e7a31..0596ac8227bc1d0fa9464ee181d85e6e629287b8 100644 --- a/src/main/resources/mapper/CityGeomMapper.xml +++ b/src/main/resources/mapper/CityGeomMapper.xml @@ -18,7 +18,16 @@ order by city_code asc + + insert into city_geom(city,city_code,province_code,province,polygon_text) + values(#{city},#{cityCode},#{provinceCode},#{province},#{polygonText}) + on conflict(city_code) + do update set city=#{city},province_code = #{provinceCode},province =#{province},polygon_text =#{polygonText} + + + delete from city_geom where city_code = #{cityCode} + update city_geom diff --git a/src/test/java/com/cetc32/DataAreaTest.java b/src/test/java/com/cetc32/DataAreaTest.java index 1dd18f99233646e69ec9d4b557fe7417c4b95aed..63b95f9ab6092b5955b1140b0e5487b9932dac13 100644 --- a/src/test/java/com/cetc32/DataAreaTest.java +++ b/src/test/java/com/cetc32/DataAreaTest.java @@ -38,7 +38,7 @@ public class DataAreaTest { ZqAreaMapper zqAreaMapper; //@Autowired DataFileMapper dataFileMapper; - @Autowired + //@Autowired DataAreaMapper dataAreaMapper; //@Test @@ -67,7 +67,7 @@ public class DataAreaTest { ids .add("01"); System.out.println("ZQAreas "+zqAreaMapper.selectAreaByZqId(ids)); } - @Test + //@Test public void insertArea(){ /*DataArea dataArea =new DataArea(100000L,"110000",99L); List dataAreas =new ArrayList<>(); @@ -92,7 +92,7 @@ public class DataAreaTest { list.add("深圳市"); System.out.println(cityGeomMapper.selectCodesInArea(list)); } - //@Test + @Test public void zhengzebiaodashi(){ System.out.println(Pattern.matches("^[\\u4e00-\\u9fa5]{0,20}$","你1好")); } diff --git a/src/test/resources/application-xwybjb.yml b/src/test/resources/application-xwybjb.yml index 52cfd6376fa7daade920b2ccc1db2aec72e777e8..74ba91f368ed27f9a3439af1b3e70fce030aa72b 100644 --- a/src/test/resources/application-xwybjb.yml +++ b/src/test/resources/application-xwybjb.yml @@ -92,3 +92,5 @@ sso: registerUrl : ${sso.authcenter}/rest/api/sys/sync offlineDataMenuId : 151 gainMenuId: 21 +plpUrl: /plpData +traceUrl: /traceData \ No newline at end of file diff --git a/src/test/resources/application.yml b/src/test/resources/application.yml index 7737de8b3bdcfe8aedb6f64772b9664a4ba4cb83..44595ebf1ac42aa97cc3cd58e40a448d4fb04228 100644 --- a/src/test/resources/application.yml +++ b/src/test/resources/application.yml @@ -90,4 +90,7 @@ sso: sysurl : http://192.168.1.206:${server.port} sysname : 数据管理系统 registerUrl : ${sso.authcenter}/rest/api/sys/sync + syscode: S002 offlineDataMenuId : 151 +plpUrl: /plpData +traceUrl: /traceData