Jelajahi Sumber

调整返回字段处理逻辑。

DESKTOP-6LTVLN7\Liumouren 3 bulan lalu
induk
melakukan
2bfb55503e

+ 53 - 15
pom.xml

@@ -33,20 +33,25 @@
     </properties>
     <dependencies>
         <!-- Spring Data JPA 依赖,用于简化数据库操作 -->
-<!--        <dependency>-->
-<!--            <groupId>org.springframework.boot</groupId>-->
-<!--            <artifactId>spring-boot-starter-data-jpa</artifactId>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>org.springframework.boot</groupId>-->
+        <!--            <artifactId>spring-boot-starter-data-jpa</artifactId>-->
+        <!--        </dependency>-->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
         <!-- MySQL 驱动依赖 -->
-<!--        <dependency>-->
-<!--            <groupId>mysql</groupId>-->
-<!--            <artifactId>mysql-connector-java</artifactId>-->
-<!--            <version>8.0.33</version> &lt;!&ndash; 可根据需要选择合适的 MySQL 8 版本 &ndash;&gt;-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>org.apache.hive</groupId>-->
+        <!--            <artifactId>hive</artifactId>-->
+        <!--            <version>4.0.0</version>-->
+        <!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>com.argoDb</groupId>-->
+        <!--            <artifactId>argoDb-jdbc-driver</artifactId>-->
+        <!--            <version>8.37.3</version>-->
+        <!--        </dependency>-->
         <dependency>
             <groupId>org.json</groupId>
             <artifactId>json</artifactId>
@@ -161,15 +166,48 @@
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
                 <configuration>
-                    <excludes>
-                        <exclude>
-                            <groupId>org.projectlombok</groupId>
-                            <artifactId>lombok</artifactId>
-                        </exclude>
-                    </excludes>
+                    <includeSystemScope>true</includeSystemScope>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.8.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-dependencies</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
+                            <includeScope>system</includeScope>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+            <resource>
+                <directory>C:/Users/Liumouren/Desktop/临时文件/元以科技/青浦/青浦城建所/xinghuanDriverJar</directory>
+                <targetPath>BOOT-INF/lib/</targetPath>
+                <includes>
+                    <include>*.jar</include>
+                </includes>
+            </resource>
+        </resources>
     </build>
 
 </project>

+ 3 - 3
src/main/java/com/skyversation/poiaddr/addquery/Constant.java

@@ -21,15 +21,15 @@ public class Constant {
 
     private String[] towns;
 
-    public static void setTowns(String[] town){
+    public static void setTowns(String[] town) {
         getInstance().towns = town;
     }
 
-    public static String[] getTowns(){
+    public static String[] getTowns() {
         return getInstance().towns;
     }
 
-    public static void setArea(String area){
+    public static void setArea(String area) {
         getInstance().area = area;
     }
 

+ 1 - 1
src/main/java/com/skyversation/poiaddr/addquery/TransfromDataTool.java

@@ -89,7 +89,7 @@ public class TransfromDataTool {
         content.setType(jsonObject.getString("type"));
         content.setAddress(jsonObject.getString("address"));
         content.setName(jsonObject.getString("address"));
-        content.setSearchAddress(jsonObject.getString("address"));
+        content.setSearchAddress(jsonObject.getString("searchAddress"));
         content.setScore(jsonObject.getString("总分"));
         if (jsonObject.containsKey("location") && jsonObject.getJSONObject("location").containsKey("lat") && jsonObject.getJSONObject("location").containsKey("lng")) {
             double[] points = CoordTransform2.getInstance().shcj_to_wgs84(

+ 2 - 2
src/main/java/com/skyversation/poiaddr/controller/PoiAddressController.java

@@ -70,8 +70,8 @@ public class PoiAddressController {
      * @return
      * @throws SQLException
      */
-    @GetMapping(value = "/searchAddr/{address}")
-    public Object searchByAddrStr(@PathVariable(name = "address") String address) {
+    @GetMapping(value = "/searchAddr")
+    public Object searchByAddrStr(@RequestParam(name = "address") String address) {
         return AddressQueryEngine.getInstance().sj_szxSearchByName(address);
     }
 }

+ 8 - 3
src/main/java/com/skyversation/poiaddr/service/impl/SjArrDzbzhSjWcbryDzxxServiceImpl.java

@@ -103,7 +103,7 @@ public class SjArrDzbzhSjWcbryDzxxServiceImpl {
     //   批量修改地址表
     public void updateDatas(List<SjArrDzbzhSjWcbryDzxx> sjArrDzbzhSjWcbryDzxxList) {
         String sqls = "update sj_zrr_dzbzh_sj_wcbry_dzxx set lat = ?,lon = ?,level = ?, administrative_division = ?, in_the_area = ?, market = ?" +
-                ", result_addr_key = ? , standardized_address = ? , update_time = ? where id = ?";
+                ", result_addr_key = ? , standardized_address = ? , update_time = ?,twon = ? where id = ?";
         try (PreparedStatement preparedStatement = DbConnection.getInstance().connection.prepareStatement(sqls)) {
             for (SjArrDzbzhSjWcbryDzxx entity : sjArrDzbzhSjWcbryDzxxList) {
                 if (entity.getId() != null) {
@@ -148,7 +148,12 @@ public class SjArrDzbzhSjWcbryDzxxServiceImpl {
                         preparedStatement.setString(8, entity.getStandardizedAddress());
                     }
                     preparedStatement.setLong(9, entity.getUpdateTime().getTime());
-                    preparedStatement.setString(10, entity.getId());
+                    if (entity.getTwon() == null) {
+                        preparedStatement.setNull(10, Types.VARCHAR);
+                    } else {
+                        preparedStatement.setString(10, entity.getTwon());
+                    }
+                    preparedStatement.setString(11, entity.getId());
                     // 将当前的 SQL 语句添加到批量操作中
                     preparedStatement.addBatch();
                 }
@@ -290,7 +295,7 @@ public class SjArrDzbzhSjWcbryDzxxServiceImpl {
                 System.out.println("<<<<<<<<------任务处理完成!");
             }
         } else {
-            String SqlStr = "update sj_zrr_dzbzh_sj_wcbry_dzxx set lat = null, update_time = null, standardized_address = null, result_addr_key = null, market = null, lon = null, level = null, administrative_division = null, in_the_area = null where in_the_area is not null";
+            String SqlStr = "update sj_zrr_dzbzh_sj_wcbry_dzxx set lat = null, update_time = null, standardized_address = null, result_addr_key = null, market = null, lon = null, level = null, administrative_division = null, in_the_area = null ,twon = null where in_the_area is not null";
             try {
                 int updateDataSum = DbConnection.getInstance().updateSql(SqlStr);
                 if (updateDataSum < 1) {

+ 16 - 9
src/main/java/com/skyversation/poiaddr/util/AddressTools.java

@@ -12,9 +12,14 @@ import java.util.regex.Pattern;
 public class AddressTools {
 
     private static AddressTools instance = new AddressTools();
-    private AddressTools (){};
-    public static AddressTools getInstance(){
-        if(instance == null) instance = new AddressTools();
+
+    private AddressTools() {
+    }
+
+    ;
+
+    public static AddressTools getInstance() {
+        if (instance == null) instance = new AddressTools();
         return instance;
     }
 
@@ -30,6 +35,7 @@ public class AddressTools {
     private static final Map<String, Set<String>> DISTRICT_STREETS = new HashMap<>();
     // 街镇下辖的村和居委
     private static final Map<String, Set<String>> STREET_VILLAGES_COMMUNITIES = new HashMap<>();
+
     static {
 //        // 松江区
 //        Set<String> songjiangStreets = new HashSet<>(Arrays.asList(
@@ -146,6 +152,7 @@ public class AddressTools {
         ));
         STREET_VILLAGES_COMMUNITIES.put("小昆山镇", xiaokunshanCommunities);
     }
+
     static {
         // 黄浦区
         Set<String> huangpuStreets = new HashSet<>(Arrays.asList(
@@ -333,7 +340,7 @@ public class AddressTools {
     /***
      * 根据地名地址返回到村居一级分词,村居不是很准确
      * @param address 上海市松江区车墩镇乐都村乐都路590号
-     * @return  上海市,松江区,车墩镇,乐都村,乐都路590号
+     * @return 上海市,松江区,车墩镇,乐都村,乐都路590号
      */
     public static String[] parseAddressCJ(String address) {
         String[] result = new String[5];
@@ -483,6 +490,7 @@ public class AddressTools {
 
         for (int i = 0; i < array.size(); i++) {
             JSONObject obj = array.getJSONObject(i);
+            obj.put("searchAddress", address);
 //          得到返回的地址
             String addr = obj.getString(param);
 //          规则4判断
@@ -502,7 +510,7 @@ public class AddressTools {
                                 if (addressNumber.contains(addr2Num)) {
                                     addressNumSize--;
                                     if (addressNumSize == 0) {
-                                        obj.put("总分","role_4");
+                                        obj.put("总分", "role_4");
                                         return obj;
                                     }
                                 }
@@ -515,7 +523,7 @@ public class AddressTools {
             String role2address = AddressQueryEngine.townReplaceAll(AddressQueryEngine.addressReplaceAll(addr));
             String role2address2 = AddressQueryEngine.townReplaceAll(AddressQueryEngine.addressReplaceAll(address));
             if (AddressQueryEngine.isNotEmptyOrBlank(role2address) && role2address.contains(role2address2)) {
-                obj.put("总分","role_2");
+                obj.put("总分", "role_2");
                 return obj;
             }
 
@@ -546,7 +554,6 @@ public class AddressTools {
     }
 
 
-
     /***
      * 其他方法的引用方法,不用管
      * @param input
@@ -651,7 +658,7 @@ public class AddressTools {
      * @param address
      * @return
      */
-    public String deleteStr(String address){
+    public String deleteStr(String address) {
         if (address == null) {
             return null;
         }
@@ -797,7 +804,7 @@ public class AddressTools {
     private static final Pattern ADDRESS_PATTERN = Pattern.compile(ADDRESS_REGEX);
 
     /**
-     *  验证地址格式的正则表达式
+     * 验证地址格式的正则表达式
      */
     public static boolean validateAddress(String address) {
         if (address == null || address.trim().isEmpty()) {

+ 3 - 4
src/main/java/com/skyversation/poiaddr/util/tasks/ScheduledTasks.java

@@ -13,13 +13,12 @@ public class ScheduledTasks {
     private SjArrDzbzhSjWcbryDzxxServiceImpl testDataService;
 
     /**
-     * 每天 1 点执行的方法
      * 全量跑C表数据
      */
-    @Scheduled(cron = "0 0 1 * * *")
+    @Scheduled(cron = "0 30 16 * * *")
     public void executeAtOneOClock() {
-        System.out.println("每天 1 点执行的方法,当前时间:" + new Date());
+        System.out.println("定时开始执行,当前时间:" + new Date());
         // 在这里编写具体的业务逻辑
-//        testDataService.iterativeProcessing(1000,  0);
+        testDataService.iterativeProcessing(50,  0);
     }
 }